CUC (6) CUCM (28) Jabber (6) Python (2) Routing (3) Solarwinds Orion NPM (4) switching (1) Video (6) voice (3)

Wednesday, 10 April 2013

UCCX scripting basics

Crap, this could potentially be a very long post, I went to the 5 day UCCX enterprise course eons ago, so its good to refresh a bit (actually one of the main reasons why I write any of these posts, or just to kill my boredom, can't decide. What I really want to expand on, it how prompts work and where they are stored, how script parameters, integers and time of day check work. And really all the stuff I find worth mentioning as I go along.

For this post I am using script editor 8.5(1.0).

So lets start with the script, below is an example I made. It shows the "design Pane" and it displays an overview of what your script looks like.

Figure 1 - Design Pane

This particular script, receives and incoming call it will go though the Day of the week check, then it will do a TOD check, if the call is made during business hours, it will play the welcome prompt FBEL_Welcome.wav. After having played the welcome prompt, the scipt will check to see if an agent is logged it (ACD element from the Palette Pane, top left of the editor screen) . If none is logged in, then it will play the queue unattended prompt.

Figure 2 - Variable Pane
Figure 2 depicts the variable pane, this is where the various variable that are used throughout the script are defined. For instance the wav file that gets played when the queue is unattended. The play prompt element points to a variable that in turn points to "QueueUnattended  (see figure 3).

Figure 3 - Prompt variable

As you can see in figure 2, the QueueUnattended variable is in fact a prompt, with the value that point to the applicable .wav file. If I drill into the actual variable, by right clicking it in the variable pane and the choose "modify', you can see that the vairiable type is a prompt, the name "QueueUnattended" is defined and it defines what .wav file is used to play that particular prompt.

Figure 4 - Modify Variable 

Remember that the syntax of the prompt value will need to adhere to the actual location of the wav file in UCCX (under prompt management). It is good practice to use a dedicated folder to store the various prompts for each individual script.

Script parameters,

damn I love those!!!!!! They make on the fly changes to variables so easy.  In my example Variable CSQ, which is a strings has been made a parameter.  If you tick the parameter box, a change on this variable can be made through the application management on the UCCX GUI (Applications>Application Management).

rather then changing the variable through the script editor and activating it, it can be done on the fly through the GUI and the change is instantaneous as soon as the update button is hit.

now let's drill into the Contact Service Queue (CSQ) a bit more.

In my example the CSQ is called "FBEL".  in order to have the ACD use this in the script, the exact same name (FBEL) will need to be defined as a CSQ. (subsystems>RmCm>Contact Service Queue)

Fig. 6 - Contact Service Queue 
As you can see in Fig.6, because the CSQ variable "FBEL" is defined as a parameter, it can now be changed on the fly to a new CSQ that is defined on the system, the same can be done for prompts and strings.

Good luck