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

Reassigning skillset while in loop

Status
Not open for further replies.

brewerdude

IS-IT--Management
Sep 8, 2003
472
US
Can you change the skillset a call is queued to while in a loop? Or, do you need to requeue the call. Basically, I'm trying to send a call to another skillset after I've reached a certain threshold. Not sure if I need to requeue it or not, but don't think I want to do that. The part in question is in bold

Anyway, here's my code:


GIVE RINGBACK
WAIT 2

/* Check to see if during Business hours */
IF (DAY OF WEEK <> MondayThruFriday AND TIME OF DAY <> BizHrsIPS_SLED) OR
DAY OF WEEK = Weekend THEN
Execute OutOfOffice
END IF


WHERE NPA EQUALS /* Assign skillset based on Area code of caller */

VALUE East_Area_Code_SLED_1, East_Area_Code_SLED_2, East_Area_Code_SLED_3:
ASSIGN IPS_SLED_East TO skillset_cv

VALUE Central_Area_Code_SLED_1, Central_Area_Code_SLED_2:
ASSIGN IPS_SLED_Central TO skillset_cv

VALUE West_Area_Code_SLED:
ASSIGN IPS_SLED_West TO skillset_cv

DEFAULT:
ASSIGN IPS_SLED_ALL TO skillset_cv

END WHERE



/*Begin the queueing the call*/
IF NOT OUT OF SERVICE skillset_cv THEN
QUEUE TO SKILLSET skillset_cv
ELSE
EXECUTE OutOfOffice
END IF

WAIT 2

GIVE RAN FirstRAN

GIVE MUSIC PromoMusic

SECTION RAN_loop

IF (OUT OF SERVICE skillset_cv) THEN /*Check to see if no one in skillset*/
EXECUTE OutOfOffice
END IF

IF (AGE OF CALL >= 120 THEN /*Change skillset to IPS_SLED_All if call over two mins*/
ASSIGN IPS_SLED_All to skillset_cv

END IF


WAIT 45 /* Wait - listening to music */

IF NOT OUT OF SERVICE skillset_cv THEN
IF NOT QUEUED THEN /* Check if still queued */
QUEUE TO SKILLSET skillset_cv
END IF
END IF

GIVE RAN SecondRAN

EXECUTE RAN_loop



SECTION OutOfOffice
ROUTE CALL 3123



 
It looks like you are on the right track. What version of Symposium do you have?

Thanks,

Killian
 
This is 4.0

I'm wondering if this will even work. While it's queued to one skillset, I then change the name of the skillset it's going to. That's not going to freak out Symposium?
 
The problem you run into here is not being able to tell if the first queue you sent the call to is out of service once you change the information in the variable.

Symposium won't freak out with what you did but I think you might have shot yourself in the foot with this. It looks like what is going to happen is that any call which goes over 120 waiting will be queued to the other skillset. Then never check back to see if the first queue you sent the call to is in Out of Service mode.

Also I think the "IF NOT QUEUED" only referes to calls which are not queued to ANY skillset and you already queued it to one before getting to this statement so it wouldn't see the need to queue it to the other. Basically continuing to check for the new ASSIGN to be out of service but never queueing the call to it.

You need to make a few descions here...

1) Do you want the call to be available for both queues to answer after 120 seconds?

If this is the case then one way to fix this would be to set up a call variable to log if you already queued the call to the second skillset:


IF (AGE OF CALL >= 120 THEN AND Queued_Backup_cv = 0 THEN
IF NOT OUT OF SERVICE IPS_SLED_All THEN
QUEUE TO SKILLSET IPS_SLED_All
Assign 1 to Queued_Backup_cv
END IF
END IF

This would leave you with the issue of now checking both Ques for Out of Service status in the begining of your loop.

IF Queued_Backup_cv = 1 THEN
IF (OUT OF SERVICE skillset_cv) AND OUT OF SERVICE IPS_SLED_All THEN
EXECUTE OutOfOffice
Else
IF (OUT OF SERVICE skillset_cv)THEN
EXECUTE OutOfOffice
END IF
END IF



 
Whoops chopped off an End If there at the end... it should be...


IF Queued_Backup_cv = 1 THEN
IF (OUT OF SERVICE skillset_cv) AND OUT OF SERVICE IPS_SLED_All THEN
EXECUTE OutOfOffice
Else
IF (OUT OF SERVICE skillset_cv)THEN
EXECUTE OutOfOffice
END IF
END IF
END IF
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top