CallChange novinky Table of contents User documentation Administrator documentation Documentation for developers Technical support Search on-line

CallChange scripting language description

Language for writing Callchange Callcenter scripts is described here. Script is created using web application.

Every step of processing is described by several text lines. Lines are introduced by step number and by keyword. Step numbers start at 1000 and are incremented by 1 in ascending order. Lines introduced by # character are skipped. One time filter can exist for every step and one action must exist; it can have more parameters.

Script sample:
1000 OPER 1
1000 MAXT 5
1001 OPER 10
1001 MAXT 5
1002 VXPL Spk_NoNewMessage.wav
1003 HNGP
1003 RESP 1 OK hello hello

Available commands

Part of command in square brackets [] is optional.

Action - blacklist/whitelist test

Jump to XXX label if caller's number is/is not on the selected list.
#### LIST <type> <list name>
#### ACTN <action> [parameters]

 
type YES - number is on the list, NO - number is not on the list
list name List name being searched
ACTN action [parameters] What is done if number is/is not on the list:
GOTO label - jump to specified label
Example:
   LIST YES vip
   ACTN GOTO here
If number is found in vip list, script continues at "here" label.

back to top


Action - find operator and transfer him a call (if exists)

Searches for free operator from X group until given time limit is reached.
#### OPER <list of operator groups delimited by space>
[#### MAXT <maxt>]
[#### KNLG <knowledge ID>:<knowledge %> <knowledge ID>:<knowledge %> ...]

 
OPER list of operator groups ID of groups are entered, separated by spaces
MAXT maxt Maximal length of this step in seconds. If no appropriate operator is found until this time, script continues by next step.
KNLG Selected operator must have given knowledge.
KNLG knowledge ID Required knowledge ID.
KNLG knowledge % Minimal knowledge level in percent, 1-100.

back to top


Action - hang up

Hangs up and stores call result.
#### HNGP
[#### RESP <rc> <rc2> <desc>]

 
RESP Says how call should be written into database - as processed or unprocessed. If it is missing, call will treated as unprocessed - no operator / not in correct time (based on information if time filter at OPER was valid or not). Values of rc, rc2 and desc conform to call data model.

back to top


Action - play WAV and hang up/don't hang up

Plays WAV file and hangs up or not.
#### VXPL <WAV name>
[#### RESP <rc> <rc2> <desc>]

 
RESP If RESP clause is present, call will be terminated. It says how call should be written into database - as processed or unprocessed. If it is missing, call will treated as unprocessed - no operator / not in correct time (based on information if time filter at OPER was valid or not). Values of rc, rc2 and desc conform to call data model.

back to top


Action - start VX application and hang up/don't hang up when it finishes

Starts VX application. VX application has access to variables of this call and it can also set them. Application receives parameters in VBS variable.
#### VXAP <app name> <parameters>
[#### RESP <rc> <rc2> <desc>]

 
RESP If RESP clause is present, call will be terminated. It says how call should be written into database - as processed or unprocessed. VX application can also decide it and has higher priority. If it is missing and VX application doesn't decide, call will treated as unprocessed - no operator / not in correct time (based on information if time filter at OPER was valid or not). Values of rc, rc2 and desc conform to call data model.

back to top


Action - call transfer

Transfers the call to the specified phone number.
#### TRAN <param1> <param2>
[#### RESP <rc> <rc2> <desc>]

 
param1 describes second parameter type; VAL - second parameter is number (constant)
VAR - second parameter is variable
param2 line number - numeric constant or variable containing number
RESP If RESP clause is present, call will be terminated. It says how call should be written into database - as processed or unprocessed. Values of rc, rc2 and desc conform to call data model.

back to top


Conditional jump by varible

Jumps on given label if variable has/has not some content.
#### IFVA <variable> <operator> <value>
#### ACTN <action> [parameters]

A single space must be between variable, operator and value! Variable = value set in CallCenter call (at this time must be set from VX application only).
Operator can be "=" or "<>". If variable doesn't exist, then "=" is not fulfiled, but "<>" is fulfiled no matter what value follows.
The only valid action is GOTO label - jump to specified label.

back to top


Conditional jump by time filter

Jumps on given label if time filter is fulfiled.
#### IFTM <filter>
#### ACTN <action> [parameters]

Time filters (<filter>) can be as following:

Daytime (WORK/FREE) is defined by calendar.
The only valid action is GOTO label - jump to specified label.

back to top


Label for a jump

#### LBEL name

Used by router for a jump. If LBEL is current step, router continues by next step immediately.

back to top