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

Scripting Puzzler 1

Status
Not open for further replies.

Scummings

IS-IT--Management
Aug 20, 2003
32
IE
Does anyone know of a way to treat every alternate call that hits a script differently? I'm trying to split calls that hit a script in two different ways. I want half the calls to queue to a skillset and the other half to be routed to a 3rd party. At present I'm doing it by call origin (CLID code) but this is unreliable. I've calculated that 50% of our calls come from certain dialling areas so I queue these and route the rest but this doesn't always work. Is there a way of assigning numbers from a sequence to each call and treating calls with odd and even numbers differently?
 
I seem to recall seeing this done somewhere before...but, why do you want to send the calls to the 3rd party? Is it because your call centre can't handle the volume?

There may be a different way to do it.
 
Hi

Basically we have two call centres in different parts of the country. The two are on totally seperate systems and there's no possibility of getting the two systems to talk to each other in the short term. All the calls hit Sympsosium and I dish out the calls between the two. The regional based routing works reasonably well but it can't account for spikes from one particular area so ideally I'd like to send every second call out to the other call centre.
 
Cold you get your get your provider to send 50% of the incoming calls to the other site ?
 
Unfortunately no. I work for a telco, so I'm the guy trying to work out how to send 50% of the calls to the other site!
 
Can you maybe assign a WILDCLID variable to calls and use the numbers so that even numbers go to one site and odd numbers the other?
 
You have to go into Script Variables, create new variable, select call variable, then in attributes choose WILDCLID.

I don't know if this will work for your problem, I'm just throwing an idea in.
 
OK, got that bit, but I'm not sure how to use the wildclid variable
 
Unfortunately, SCCS/CCM does not have a per cent call routing command/intrinsic. If a customer wants to send x per cent of calls to one application and the rest to a different application, you need to jury-rig this up.

I have not done this in awhile, but it should work. Set up a call variable in a loop to increment every time a the step is processed. Perform a test on the variable to send the call to the proper application/section and then reset the variable.

Here's a simple example using a call variable counter_cv to do a 50/50 allocation:

ASSIGN 1 TO counter_cv

SECTION CALL_ALLOCATION

IF counter_cv = 1 THEN
EXECUTE HANDLE_IN_HOUSE /* send to in house section */
ELSE
EXECUTE ROUTE_TO_THIRD_PARTY /* send to third party */
END IF

ASSIGN counter_cv + 1 TO counter_cv

IF counter_cv = 3 THEN
ASSIGN 1 TO counter_cv
END IF

EXECUTE CALL_ALLOCATION

You can use a WHERE .. EQUALS clause if you need to allocate to more than two call types.
 
Thanks. That looks like it will work. I'm in your debt
 
I like cash - but seriously, report back if it works for you. Like I said, I haven't tried it in awhile and I'd like to know if it does actually work (like I think it should).
 
I have been experimenting with the clause above to attempt call allocation and unfortunately, it does not work. Call variables only apply to the call in question so every call that comes in will assume a value of one and go to the first choice.

I am going to look at this some more, but for now I have to conclude that a call allocation scheme at the scripting level will not work.

I'd be interested in anyone else's suggestions. This has been a recurring request over the years from our customers.
 
What version are you on? Version 5.0 and above does allow you to do this i.e. the Wild call variable is incremented on a call by call basis.

Another alternative is to use a traffic intrinsic to generate 'random' numbers and then script the split this way.

Previous threads that have examples of this are:



Have a look and post back if you need any more help/info. The choice of intrinsic will depend on the nature of your call centre i.e. busy, lots of agents. The busier and bbigger it is, the more 'random' will be the numbers that are generated by the intrinsic.

Good Luck

DD
 
Dave,

This customer is on 4.2. I have shied away from using Call Rate since that is the cumulative number of calls over the last ten minutes and I don't trust it will give me a randon enough example. But, I looked at the other examples and think I could work something out that will work for the customer. Thanks for the references.
 
DD,

I started out using Answered Call Count, but the customer had periods of time when they were not answering calls (I know, in a call center!). So I switched to call rate which worked much better. Thanks for the assistance.
 
Scummings

You could use a Global Variable that toggles each call. Use the attribute of 'boolean' and do somethung like

IF (toggle_gv = true) THEN
ASSIGN FALSE TO toggle_gv

ELSE

IF (toggle_gv = false) THEN
ASSIGN TRUE TO toggle_gv
END IF

That way each call entering will change the value from True to False or False to True. You could then route the call to each site based on the attribute being true or false.

 
I've tested setting a global variable a while ago and found out that the setting is valid for the 1 call only; the global value will reset to the default value each other time.
 
you may have to some type of "adding" 1 to a variable so the next call would get the new value.

Odd thing to do...Otherwise you could route on the CDN or CLID of the call.
 
Maybe you are all good on this already. Just thought I would throw out this suggestion, which we currently use all the time. Here is an example scripting syntax-

READVAR counter_cv

IF counter_cv = 1 THEN
ASSIGN 2 TO counter_cv
ELSE
IF counter_cv = 2 THEN
ASSIGN 1 TO counter_cv
END IF
END IF
SAVEVAR

IF counter_cv = 1 THEN
ROUTE CALL 2222
ELSE
ROUTE CALL 3333
END IF

Basically- use the read/save variable commands. We use all the way up to 10 if we want to split traffic 10% to 10 different #s. Good luck.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top