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

How do I get my script to forward to a Blackberry?

Status
Not open for further replies.

ellbhoy

Technical User
Oct 1, 2007
26
GB
Hi

I have created the script below, which is designed so that if nobody is logged into the skillset the calls will forward to a blackberry number. I have also created Boolean entries in the script variables, so that we can remotely change the person on call. The IF statements below should then forward the call to the relevant blackberry number, based on the Boolean entries.

I'm sure there are probably better ways of doing this, but we need to have the ability to easily change the person on call.

Unfortunately this svcript is not working at the moment. Can anyone please advise how I can get this to work?

Thank you


IF (DAY OF WEEK = SATURDAY..SUNDAY) OR (DATE = Christmas) OR (DATE = Bank_Hols) OR (TIME OF DAY <> IT_Support_VIP_Working_Hours)
THEN
EXECUTE VIP_BLACKBERRY
END IF

IF adverse_weather_IT_Support_VIP = TRUE
THEN
EXECUTE VIP_BLACKBERRY
END IF

/* -------------------------------------------------------------*/

SECTION IT_Support_VIP_Queue

GIVE RINGBACK
IF NOT OUT OF SERVICE IT_Support_VIP
THEN
QUEUE TO SKILLSET IT_Support_VIP
WAIT 2
ELSE
EXECUTE VIP_BLACKBERRY
END IF

Give Music 50

WAIT 8

/* ------------------------------------------------------------ */

SECTION VIP_BLACKBERRY

IF on_call_Ward = TRUE
THEN
ROUTE CALL 907700000000
ELSE
IF on_call_Alex = TRUE
THEN
ROUTE CALL 907700000001
ELSE
IF on_call_Mark = TRUE
THEN
ROUTE CALL 907700000002
ELSE
IF on_call_Tony = TRUE
THEN
ROUTE CALL 907700000003
ELSE
EXECUTE IT_Support_VIP_Queue
END IF
END IF
END IF
END IF
 
Hi,
There is potential looping in the script and it will queue multiple times to the skillset.
I think it's better to set it up like this (the lines above the /* -- */ are fine):

/* -------------------------------------------------------------*/
Give Ringback

IF out of Service IT_Support_VIP THEN
EXECUTE VIP_BLACKBERRY
END IF

QUEUE to Skillset IT_Support_VIP with priority Init_prio
WAIT 2

SECTION IT_Support_VIP_Queue
Give Music 50
WAIT 8

IF Not Queued THEN /* Check if call is still queued */
IF NOT out of Service IT_Support_VIP THEN
QUEUE to Skillset IT_Support_VIP
Wait 2
ELSE /* Nobody is logged in */
EXECUTE VIP_BLACKBERRY
END IF
END IF

EXECUTE IT_Support_VIP_Queue

/* -------------------------------------------------------------*/
SECTION VIP_BLACKBERRY
IF on_call_Ward = TRUE
THEN ROUTE CALL 907700000000
ELSE IF on_call_Alex = TRUE
THEN ROUTE CALL 907700000001
ELSE IF on_call_Mark = TRUE
THEN ROUTE CALL 907700000002
ELSE IF on_call_Tony = TRUE
THEN ROUTE CALL 907700000003
ELSE /* Play an announcement */ Disconnect
END IF
END IF
END IF
END IF


Since there are a lot booleans involved (and I guess there is only 1 person on duty) I would create an Integer were the routing is setup. So only 1 variable will set the routing and will avoid confusion.

F.e. "on_call_integer" and add a Comment like:
On duty if value =
0: Ward
1: Alex
2: Mark
3: Tony

If the "on_call_integer" is set to 1 the calls will go to Alex, if there is no duty person you can set it to '5' so there will be a Disconnect (and a message if you like).

The (end of the) script will look like this:

SECTION VIP_BLACKBERRY
WHERE on_call_integer EQUALS
VALUE 0: ROUTE CALL 907700000000 /* Ward */
VALUE 1: ROUTE CALL 907700000001 /* Alex */
VALUE 2: ROUTE CALL 907700000002 /* Mark */
VALUE 3: ROUTE CALL 907700000003 /* Tony */
END WHERE
/* Play an announcement */ Disconnect

Please mind they all have to logout in order to makes this work.
 
Forgot: the "on_call_integer" above is a 'Global Variable'
 
Yes that sound's like a much better plan, thank you for your advice.
 
Hi Utreg

Thank you for your advice on this thread.

One other peoblem I have, is that I want the call to only ring on the ACD phones for 10 seconds, before forwarding to the Blackberry.

However I would like to know if it is possible to have all 4 x ACD phones ringing for these 10 seconds, rather than the calls round robin between the phones?

Thank you
 
Hi,

If you like only to ring for 10 seconds you can work with a timer in the script. But my suggestion above needs a manual action (read: manual logout of the queue) before calls can go to a Blackberry.

It is not possible to ring all 4 ACD phones: the principle of ACD is to deliver the call to 1 available agent. If an agent is not available there always has to be a manual action of that agent (Put the phone 'Not Ready' or 'Logout').
Sounds like a normal (non-ACD) setup will do; configure MCR sets and forward the MARP set to a (on-duty) Blackberry if needed?
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top