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 gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Symposium Script Explanation 2

Status
Not open for further replies.

mt6322

Technical User
Feb 19, 2004
159
US
Can you please help me interpret the following symposium script. What will happen if:
1. no one is log-in to the queue
2. all agents are busy or in not ready
3. wait time for callers to stay in the queue and hear busy announcement, music and then transfered out of the queue.

How do i improve this script?
thank you so much in advance.


/* This Script is for TM_CR, calls via Meridian Mail menu (CDN 4832). Callers are Queued to the TM_CR
skillset with Priority 2. */

/* IF (DATE=Holidays) THEN
GIVE RAN Holiday_Ran
DISCONNECT
END IF */

IF (OUT OF SERVICE TM_CR) THEN /* send calls to Info Main CDN 4805 */

ROUTE CALL 4805
END IF

IF (DAY OF WEEK=Monday..Friday) AND (TIME OF DAY=M_F_HoursA) THEN
EXECUTE Open_Skillset
END IF

EXECUTE Nite

SECTION Open_Skillset

IF NOT OUT OF SERVICE TM_CR THEN
QUEUE TO SKILLSET TM_CR WITH PRIORITY 2
WAIT 2
END IF

IF (EXPECTED WAIT TIME Plus_Main = 0..179)
THEN GIVE RAN Busy_Ran1
ELSE
IF (EXPECTED WAIT TIME TM_CR = 0..299) THEN /* expected wait 3 to 5 minutes */
GIVE RAN Wait3_Ran
ELSE
GIVE RAN Wait5_Ran /* expected wait greater than 5 minutes */
END IF
END IF


GIVE MUSIC Music_Source

IF NOT QUEUED THEN
ROUTE CALL 4805
END IF


SECTION Hold_In_Queue

WAIT Delay_IntervalA

IF NOT QUEUED THEN
ROUTE CALL Default DN
END IF

GIVE RAN Busy_Ran1

Delay_IntervalA ASSIGNED Delay_IntervalA + 10

EXECUTE Hold_In_Queue

SECTION Nite

GIVE RAN Closed_Ran

DISCONNECT
 
If no one is logged in it will register the skillset as out of service and get caught in your:



IF (OUT OF SERVICE TM_CR) THEN
ROUTE CALL 4805
END IF

If no one is available it will get stuck in this section which it seems to be designed to do:

SECTION Hold_In_Queue

WAIT Delay_IntervalA

IF NOT QUEUED THEN
ROUTE CALL Default DN
END IF

GIVE RAN Busy_Ran1

Delay_IntervalA ASSIGNED Delay_IntervalA + 10

EXECUTE Hold_In_Queue

As for you question about hold times it shows to be gauged on a variable which we can't see a starting value for. Although I don't think this command will work without using the new version 5.0 scripting features that let you change the value of a variable. Looking at the script I would just assign a standard value for that delay and not try to increase it or decrease it.

As for what to change or improve on...

1) You have a different treatment for the skillset being out of service as opposed to the "Nite" section. So the only time the Nite section would be reached is if folks were still logged in after hours. Consider changing the order of these statements to have out of service as part of the "queue to" Statement and let the time of day controllers do their job. Sort of:

IF NOT OUT OF SERVICE TM_CR THEN
QUEUE TO SKILLSET TM_CR WITH PRIORITY 2
ELSE Route Call 4805
WAIT 2
END IF


This way if the skillset is out of service it would only check after you validated day/night routing not interfere with the Night routing by checking for a skillset out of serive first.

2) Your on Hold could use some additional commands. Right now you check to see if a call is queued and if not send it to the Default DN instead of routing to 4805 or just putting it into TM_CR which is where it should be in this part of the script.

You should also check for out of service while holding in the queue. If someone has already been queued I would check and make sure that all the agents haven't logged out.

Additionally, there area 3 ways out of the queue. 4805 , flat disconnect, or the Default DN. I haven't seen a lot of folks using the Default DN for anything other than catching something that fails at the master script level. I would not suggest using it as such in this script.
 
Thanks a lot for the detailed explanation.

The command that says route to default DN. What is the default DN ? where could I change the default DN ?
Is this the DFDN as defined on the CDN in LD 23?

THanks again.
 
It certainly sounds like it's the DFDN. Like CGilmer says, it's probably best sending the call somewhere else instead of the DFDN.

The problem with sending calls to an ACD queue is that you are effectively sending calls to phones rather than agents.
For example You have two CDNs in your call centre; Sales (50000) and Servicing (50001). The respective DFDNs are 80000 and 80001. The respective skillsets for each of the scripts attached to the CDNs are 'Sales' and 'Servicing'

If an agent is sat with a 'Sales' skillset at a phone that has 80001 as the default ACD, they will receive Servicing calls if calls are routed to the Default DN. Multiply this up by a few skillsets and you begin to get an idea of how confusing it can be.

ps I'd also add an emergency check into your Hold_in_queue section as an emergency that is triggered once the call is in that loop will not currently be recognised and the caller could be left in the loop with no chance of being answered (assuming not everyone logs out of the phone before fleeing the flames).

DD
 
If you absolutely want to use a default state I would use the Default Skillset before the Default DN. Really the only time that a default DN should be hit is when symposium is down or malfunctioning.
 
Will follow your advise. Thank you all for your help.
 
If you are going to use the Default Skillset, be sure you have agent assigned to this skillset. If there are not any agents assigned to this skillset, then the call will hae no where to present itself.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top