There are a number of predefined nodes available for use when creating a CallDirector routing script. These are grouped together depending on their function.

General

Advanced

 

Agent Handling

 

Queue

The following sections are provided only as a reference guide to the nodes, parameters, and return values available. For examples of how they can be used edit the CallDirector template script files provided with your system.

It should also be noted that many of these nodes apply to all types of contact (i.e. telephone calls, emails and chats).  Throughout this section the term call can therefore be interpreted as contact.


General

Await Silence

Description:

The AwaitSilence node allows the script to wait for silence from the caller.  This can be used to implement message drop functions.

Parameters:

Silence Time

The time in milliseconds for a silence gap to be assumed that the speaker has stopped speaking (default is 1200 ms).

Timeout

The maximum amount of time to wait for the caller to stop speaking (default 60 seconds).

Returns:

Succeeded;
Timeout.


Clear Call

Description:

Requests the call to be cleared or the routing conversation to be ended.

Parameters:

Reason

Reason code to supply in the Route End notification. This parameter is ignored for line/station devices. If not supplied, RTM_RC_APPLICATION (7) is used.

Timeout

Specifies the maximum expected time for the call/connection cleared to be completed. Timeout must be one or more seconds in duration. If this parameter is not specified, a default timeout of 5 seconds is used. This parameter is ignored for routing number and ERP devices.

Returns:

Succeeded;
Failed;
Timeout.


Copy Recording

Description:

Copies a recording to a named announcement.  This will overwrite existing announcements of the same name.

Parameters:

FromIndex

Index of the recording to be copied.

ToName

Name of the announcement to which to copy the recording.

Returns:

Succeeded;
Failed.


Execute Database query

Description:

This command executes the given SQL query.

Parameters:

Query

The database query to execute.

Database

The name of the database to connect to. By default this is configure, although any database that can be accessed through a rostrvm database interface can be named.  ODBC connections can be used to access an external database.

ResultsVar

Populated with the results of the query in the form of a list of rows, each row being a list of columns (i.e. list of lists). For SQL queries that do not return results an empty string is returned. If this option is not specified the results will be returned in the variable RESULTS. The variable will be unset if an error occurs.

Timeout

Time in seconds to wait for a result.  If the results are not available in this time Failed is returned.

Returns:

Succeeded;
Failed;
No Results.


Exit Script

Description:

Terminates processing of the routing script for this contact immediately.

Parameters:

None.

Returns:

None.


Log Message

Description:

Requests a text message to be sent to the rostrvm log by CallDirector.

Parameters:

MessageToLog

The message to be sent to the log. This is truncated to a maximum of 200 characters.

Severity

Sets the severity of the message being raised, where severity is D, I, or W, denoting that the message is a Debug, Information, or Warning message.

SNMP

Forces the raised message to be raised as an alert of the specified severity (except debug which is raised as information alert).

Returns:

None.


On Date

Description:

Branch when in the specified date range.

Parameters:

FromDate

Start of the date range.

ToDate

End of the date range.

Returns:

TRUE;
FALSE.


On Day

Description:

Branch on the days of the week.

Parameters:

None.

Returns:

The day of the week (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday).


On Time

Description:

Branch when in the specified time range.

Parameters:

FromTime

Start of the time range.

ToTime

End of the time range.

Returns:

TRUE;
FALSE.


On Property value

Description:

Branch on the value of a property.

Parameters:

Name

The name of the property.

Operation

The operation to apply (equal, not equal, greater than, greater than or equal, less than, less than or equal, contains, starts with, ends with, matches, length).

Value

The value to be used in the compare.

IgnoreCase

Boolean to indicate if case is significant in operations.  If set to true the output is always lower case.

Returns:

Depends on the operation as follows:

Value or blank - The value of the property (if IgnoreCase is set the output is in lower case);
Length - The string length of the property (value is ignored);
All other operations return TRUE or FALSE as per the specified operation.

Note: If the property is a skill set and the operation is contains, then the compare Value needs to be the full name of the skill (i.e. you cannot check for a partial skill string in a skill set).


Pause

Description:

Delays processing of the script for a configurable number of seconds.

Parameters:

Delay

Specifies (in seconds) how long to pause for.

Returns:

None.


Pickup Call

Description:

Connect the caller to the remote party of the first alerting call encountered in the given list of destinations.

Parameters:

Devices

List of devices to take alerting calls from.  Each device is separated by a new line.  Devices may be device names, usernames, agent groups or user groups..

CallPicked

Name of a result variable which receives the call reference of the call that was picked up.

DevicePicked

Name of a result variable which receives the device from which the call was picked up.

Returns:

Succeeded;
Failed.


Play an announcement and optionally collect DTMF

Description:

Plays an announcement and optionally collects DTMF digits.

If the call is not on an IVR line when this node is invoked and the DEFAULT_LINEGROUP global variable is not empty, it will be parked on an IVR line before the transaction is sent. The contents of the DEFAULT_LINEGROUP global variable is used as the destination for the park.

Parameters:

Announcement

Specifies the announcement to play. This announcement is configured using the AutoAgent announcement configuration from Manager.

If the announcement is numeric and has not been configured, AutoAgent will search the voice recording database for recordings against the agent call index with the number given; if one is found this will be played.

DigitsTimeout

How long to wait after the end of the announcement for the DTMF digits to be collected.

DTMFVariable

Name of the variable to place the collected DTMF digits in.

GetDigits

The number of DTMF digits to collect. If this is set to 99 then a variable number of digits will be collected until the caller presses the # key.

Maximum

Maximum numeric value for collected DTMF digits. If a value greater than this is entered the prompt is repeated and the DTMF digits are collected again.

Minimum

Minimum numeric value for collected DTMF digits. If a value lower than this is entered the prompt is repeated and the DTMF digits are collected again.

Repeat

Number of times that the prompt should be played if no DTMF digits are entered (assuming DTMF digits are being collected).

Speech

If announcement is blank, text to speech will be used to ‘speak’ this parameter. This parameter is a string and as such can take variables.

Returns:

A single DTMF digits (#,*,0-9);
Abandoned;
Busy;
Failed;
None;
Timeout.


Recognise Speech

Description:

Perform speech recognition on a recording or live speech from the remote party.  A profile is used to contain common configuration parameters for the speech recognition process.

Parameters:

Profile

Name of the speech recognition profile.  This is used to configure the language and speech recognition engine in use.

Prompt

Announcement to play prior to performing the speech recognition.

ResultVar

Variable into which the recognised speech is placed.  Where the profile refers to a bot this variable would contain the response to play to the remote party.

Timeout

Time in seconds to wait for the speech to be processed.

Sound

Name of a recording or announcement to analyze.  If this field is blank then the voice from the remote party up until a pause is detected will be recognised.  The length of the pause may be configured in the profile settings.

Returns:

Failed;
Abandoned;
Timeout;
Allocated;
Succeeded.


Record Call

Description:

Records the caller using AutoAgent.

If the call is not on an IVR line when this node is invoked and the DEFAULT_LINEGROUP global variable is not empty, it will be parked on an IVR line before the transaction is sent. The contents of the DEFAULT_LINEGROUP global variable is used as the destination for the park.

Parameters:

Announcement

Specifies the announcement to play before recording. This announcement is configured using the AutoAgent announcement configuration from Manager. If DTMF digits are to be collected, they will be collected once the announcement has been played.

DTMFVariable

Name of the variable to place the collected DTMF digits in.

Duration

Time to record for in seconds. If this is set to zero then recording will continue until three seconds of silence have been detected.

GetDigits

Number of DTMF digits to collect before returning. If a recording Duration is specified but the required number of digits have been collected the recording will be stopped and the node will return before the duration has elapsed.

If this is set to 99 then a variable number of digits will be collected until the caller presses the # key.

IndexVariable

Name of the variable to place the agent index of the call recorded (this can be used in the Prompt node to play the recording).

SaveIn

Name of the table the recording should be saved in (either VOICE_RECORDING or VOICE_MAIL)

Returns:

A single DTMF digits (#,*,0-9);
Abandoned;
Succeeded.


Repeat

Description:

Allows a section of script to be repeated until either a global or CLIPboard variable have a certain value or for a fixed number of times.

Parameters:

MaxIterations

Specifies the maximum number of iterations that may be performed by the loop.  This is to catch ‘infinite’ loop scenarios caused by scripting errors. The default value is 1000. If the loop iterates more than this number of times the script will exit and an error will be logged.

Name

Specifies the property to check.

Value

Specifies the value that should cause the loop to exit.

Returns:

TRUE;
FALSE.


Route Call

Description:

Requests the call to be routed to the specified destination.

Parameters:

Blind

Forces a blind transfer (using the re-queue service for lines and stations). In which case the RouteCall returns upon completion rather than when the destination is established. This is ignored for routing number or ERP devices.

Destination

The destination to route the contact to.

NotReadyOnFail

If set to TRUE then the destination agent is set not ready should the attempt to route the call to them fail.

Timeout

Specifies a maximum answer time for the call. This parameter is not permitted if the –blind option is specified. If the call is not answered within this time the RouteCall is aborted and the call remains on the original device. This value is ignored for routing number or ERP devices.

WhisperAnnouncement

The name of an announcement, or the index of a recording, to play to the agent when they are connected to the call but before the originator (customer) is connected to the call.

WhisperSpeech

Text to speech text to play to the agent when they are connected to the call but before the originator (customer) is connected to the call.

Returns:

Succeeded;
Failed;
Abandoned;
Busy;
Timeout.


Script

Description:

Executes raw TCL script code.

Parameters:

ScriptCode

The TCL script code to execute.

Returns:

Any value.


Send an Email Message

Description:

Sends an email using the given parameters and records the email in the MIS under the call reference of the contact being processed.

Parameters:

To

Destination of the email.  If this is not supplied, the origin of the email being processed by the CallDirector script is used (i.e. a reply).  This will fail for non-email contacts.

From

Origin of the email being sent.  This is one of the configured email accounts within rostrvm – if left blank the destination of the email being processed by the CallDirector script is used (i.e. normal use for a reply).  This will fail for non-email contacts.

Subject

Subject for the email.  If not set the subject from the email being processed will be used (contents of CLIPboard element RTM_EMAIL_SUBJECT).

Message

Plain text message body for the email.  If not set the template is used.

Message Template

Email/message template to send in the message body.  If not set, and the message is not set, the body of the message being processed is used (i.e. a message forward).

Send Date

Date at which to send the message.  This should be either of the format dd/mm/yyyy or a form acceptable to the TCL clock scan command.

Send Time

Time at which to send the message.  This should be a form acceptable to the TCL clock scan command.

Class

Campaign/Class to associate the outgoing email with.  If the From address is not set and the script is not a reply, then the outgoing email address will be taken from the campaign details.

Returns:

This node returns Success or Failed, with the FAILURE_REASON_CODE variable populated appropriately.


Activity/Outcome Assignment

Description:

Set a business outcome and optionally associated data for the call.

Parameters:

Name

The name of the business outcome.

Value

Any data associated with the business outcome.

Returns:

This node returns Unknown if the business outcome is unknown, blank otherwise.


Set Property

Description:

Sets the value of a global variable or CLIPboard element.  This shall include the ability add or subtract a value to the current contents of the variable.

Parameters:

Name

Specifies the name of the property (or CLIPboard element).

Value

Specifies the value used.

Operation

Specifies the operation to use, can be ‘Add’, ‘Subtract’, ‘Append’ or ‘Set To’. For ‘Add’ and ‘Subtract’ the operation is only applied if the given property and value are numeric.  For ‘Append’ the value and a preceding space is appended to the property.

Returns:

The new value for the given property.


Apply treatment to the current call

Description:

Plays an announcement followed by call treatment.

If the call is not on an IVR line when this node is invoked and the DEFAULT_LINEGROUP global variable is not empty, it will be parked on an IVR line before the transaction is sent.  The contents of the DEFAULT_LINEGROUP global variable is used as the destination for the park.

Parameters:

InitialAnnouncement

An announcement to play before the call treatment is applied (this is optional).

If an agent becomes available whilst this announcement is being played, the announcement will be interrupted and the call forwarded immediately to the agent.

If multiple Apply Treatment calls are made these announcements will be queued up so that all of them are played before the actual treatment is applied.

Treatment

Specifies the treatment to be applied to the call. This is one of the following options:

 Ringback
 Silence
 Music

Returns:

Succeeded;
Failed.


Web Request

Description:

Make an HTTP or HTTPS web request.

Parameters:

URL

Url to which to make the request.

Method

Web request method (most commonly POST or GET).

Headers

Array of HTTP headers to pass.

Timeout

Time in seconds to wait for a response.

Parameters

Array of key value pairs to send as the parameters in the request.  The content type determines how these are sent.

If a Content-Type header is specified in the headers this determines the parameter format – the default is x-www-form-urlencoded.

Username

If set a Basic authentication header is added to the request.

WARNING: This should only be used over https.

Password

Password added with the user name.

ResultsVar

Name of a variable to contain the response to the request.  If this variable is an array the node will attempt to parse the response into sensible key value pairs, otherwise the Result will simply be the data returned.

Returns:

Succeeded;
Failed;
Not Found;
Timeout;
Unauthorized


Advanced

Answer Call

Description:

Requests the call to be answered.

Parameters:

Timeout

The maximum expected time for the call established notification event to be raised as a result of the answer request being issued. This timer is used to catch problems within rostrvm in processing the answer call request. Timeout must be one or more seconds in duration. If this parameter is not specified, a default timeout of 5 seconds is used.

Returns:

Succeeded;
Failed;
Abandoned;
Timeout.


Answer Machine Detection

Description:

Determines if the connected call is an answer machine or a human.  This must be instigated at the start of the call in order to properly classify the call.

Classification of calls as human or answer machine is not 100% accurate – many factors can increase/decrease the accuracy of detection.  Excessive noise on telephone lines can lead to false detection of an answer machine.

Parameters:

MaxSilenceTime

This is the length (in milliseconds) of a silence gap to indicate that the greeting is finished.  The default is 1200ms.

MaxTime

The minimum length of a greeting (in milliseconds) that is used to classify the call as an AnswerMachine.  The default is 4500ms.

Returns:

Human;
Machine.


Make a call between two devices

Description:

Requests that a call be placed between a given origin and a destination.  The origin should be a rostrvm configured station device, the the destination should be either a remote telephone number or another rostrvm configured station.

Parameters:

Origin

Originating device for the call (a rostrvm station).

Destination

Destination number for the call (either a rostrvm station or a remote telephone number).

AwaitEstablished

Boolean, which if set means that the node will not return until the call has established (or failed), otherwise it will return when a delivered has been received.

Timeout

Time to wait for the make call response.

Returns:

Succeeded;
Failed;
Busy;
Timeout.


Determine a route for an OutBound predictive call

Description:

Determine a route for an OutBound predictive call.

Parameters:

ClassifierDevice

The line group to be used to classify the call (normally left blank so that any available lines are used instead).

Returns:

AnswerMachine;
Nuisance-NP;
Nuisance-P.


Get Next Record

Description:

When the script is invoked from a data import (either a list import or interact) this node is used to pull records one at a time from the data imported.  The data is placed in an array with the element name corresponding to the column in the data store into which the data was imported (i.e. the destination columns, not the file columns).

Parameters:

Record

The name of the array into which the imported record will be placed.

Any changes made to the elements of this array, prior to the next call to GetNextRecord, will be saved back into the data store.  This allows amending of the data following import.

List

The name of a variable into which the OutBound list name is placed.  This is populated when the import is into an OutBound list, otherwise it will contain a blank value.

AccountId

The name of a variable into which the OutBound account Id is placed.  This is populated when the import is into an OutBound list, otherwise it will contain a blank value.

Returns:

FirstRecord;
Record;
NoMoreRecords;
EmptySet;
Failed.


OutBound Update

Description:

Update or query the status of an OutBound dialing account.

Parameters:

AccountId

The account id to modify.  If this field is blank then the AccountRef field and List are used to find the record.  If this field refers to a variable and the account is looked up using AccountRef and List, then the variable will contain the account Id.

AccountRef

If the AccountId is blank, then this field is used in conjunction with the List field to find the account to update.  If the record is retrieved using the AccountId then the variable referred to by this field will contain the account reference.

List

If the AccountId is blank this field is used in conjunction with the AccountRef field to find the account to update.  If this field refers to a variable it will be updated with the list assigned to the account.

NewList

If not blank, this specifies the name of the list into which the account should be moved.

NewStatus

This may have one of the following values:

• Leave Unchanged

• Excluded

• Excluded - Do Not Call

• Excluded – TPS

• Excluded - Duplicated

• Terminated - Contacted

• Priority

• Unused

Returns:

Priority;
Unused;
Callback;
Contacted;
Terminated;
FilteredOut;
Active;
No Result;
Failed.


Schedule a Call

Description:

Requests a predictive call to be made from the origin routing number to the destination at the given time. The origin routing number can be associated with any CallDirector script so that any CallDirector controlled action can be performed against the destination (e.g. the destination could be an agent and the script associated with the routing number could be a request that they log off).

Parameters:

Date

Date to make the call.  This should be either of the format dd/mm/yyyy or a form acceptable to the TCL clock scan command.

Destination

Specifies the destination device to which the call is made.

MaximumTime

If the call is not made by this time no further attempts will be made. This is specified in minutes past the call time.

Origin

The routing number from which the call should be made.

Retries

Number of retries that should be made if the call fails. Retries are made one minute apart.

Time

Time to make the call.  This should be a form acceptable to the TCL clock scan command.

Activity

Activity code to apply to the existing call.  If this is set to Queueback then the new call created will have the same call reference as the existing and will therefore be viewed as a single call within the MIS.

Returns:

Succeeded;
Failed;
Timeout.


Route Contact before Call clears

Description:

Defines a routing number destination that a call should be routed to when a party to the call clears their connection leaving only 1 party remaining in the call (i.e. after an agent or the remote party has cleared).  Typically, this is used to perform post call processing (for example, an automated survey, call transcription etc.).

The destination will receive the call and invoke the CallDirector script as appropriate; the script must be able to handle either the agent or the remote party being routed to the destination depending on which party cleared their connection.

Parameters:

Destination

Specifies the destination device (normally a routing number) to which the call is routed.

Returns:

Succeeded;
Failed.


Sub Call

Description:

Makes a telephone call, using AutoAgent, to a destination and connects the voice path of the controlled call to that destination whilst maintaining control over the call with CallDirector.

If the call is not on an IVR line when this node is invoked and the DEFAULT_LINEGROUP global variable is not empty, it will be parked on an IVR line before the transaction is sent. The contents of the DEFAULT_LINEGROUP global variable is used as the destination for the park.

Parameters:

Destination

Destination of the subcall. This may either be a rostrvm device id or destination or a SIP URL.

Origin

CLI of the originating call (if blank defaults to the value in the ORIGIN variable).

PlayDTMF

DTMF digits to play to the destination when the destination connects.

Timeout

Time to wait for the destination call to be answered.

RecordCall

Determines if the call is recorded or not.

KeepCallRef

Keep the same call reference as the original call (which means a single MIS record).

Returns:

Succeeded;
Failed;
Abandoned;
Busy;
Timeout.


WaitForEvent

Description:

Waits for an event to arrive before continuing in the script; the call must be parked on a line.

Parameters:

Event

Event to wait for

Timeout

Time to wait for the destination call to be answered.

Returns:

Succeeded;
Failed;
Abandoned;
Timeout.


Agent Handling

Create Agent Constant

Description:

This is used to turn the existing call into an agent’s station connection (nail up call).  This is for agents that make inbound calls to register their telephone as a rostrvm device which may subsequently be used for handling inbound ACD or outbound dialer calls.  Normally this type of call is made by an outgoing call to an agent.

Following use of this node clearing the call should leave the agent connected ready for operation.

Parameters:

Station

To which this call is being assigned.

Returns:

Abandoned;
Failed;
Succeeded.


Logon

Description:

Logs an ACD agent on to a device.

Parameters:

AgentId

Id of the agent to log on.

Device

Device to log the agent on to. If this field is blank the agent will be logged on to the originating device (i.e. the callers device).

Group

Agent group to log in to. If this is not supplied, a database lookup is performed on the users using the AgentId to find default details for the agent group.

Password

Agent password for the log on.

Returns:

Succeeded;
Agent Already Logged on at This Device;
Security Violation;
Unknown Device


Logoff

Description:

Logs off an ACD agent from a given device.

Parameters:

Device

Device to log the agent off from. If this field is blank the agent will be logged off from the originating device (i.e. the callers device).

Returns:

Succeeded;
Agent Not Logged On;
Device Already In State;
Unknown Device.


Go Ready

Description:

Set an ACD agent into the ready state on a given device.

Parameters:

Device

Device to set the state on. If this field is blank the operation will be performed on the originating device (i.e. the callers device).

Returns:

Succeeded;
Agent Not Logged On;
Device Already In State;
Unknown Device.


Go Not Ready

Description:

Set an ACD agent into the not ready state on a given device.

Parameters:

Device

Device to set the state on. If this field is blank the operation will be performed on the originating device (i.e. the callers device).

Returns:

Succeeded;
Agent Not Logged On;
Device Already In State;
Unknown Device.


QueueBack

Allocate an Agent

Description:

Requests the call to be queued until an appropriate device is available to which the call can be routed, the details of this device are then returned.  The node uses the AllocateAgent CallDirector command. This node may be called multiple times until the appropriate agent is allocated or an agent cannot be allocated.

When this node is added, a path is automatically added to exit the script if the caller abandons from the queue - this can be amended if different functionality is required.

Parameters:

ClosestSkilledAgent

The weight for the closest skilled agent algorithm at which the call enters the queue. The higher the value when compared to the LongestWaitingAgent the more importance is given to the skill level of the agent as opposed to how long the agent has been waiting for a call.  

LongestWaitingAgent

The weight for the longest waiting algorithm at which the call enters the queue. The higher the value when compared to the ClosestSkilledAgent the more importance is given to the time the agent has been waiting for a call than the skill level of the agent.

MaxMatches

Maximum number of resources to allocate for this request. Only used to provide hunt group functionality. See.QueueForAgent

MostSkilled

The weight for the number of skills at which the call enters the queue. The higher the value calls will be more likely to be routed to agents with a fewer number of skills.

Priority

The priority at which the call enters the queue. If set to zero the priority of the call is set to the default priority of the queue.

ProgressInterval

Time in seconds to report progress on the queue.

Queue

The queue device upon which the call will queue.

QueueNoAgents

A flag to indicate if the call should be queued when there are no appropriate logged on agents to service the request. By default the call is not queued. Useful if, rather than ending the call the call needs to be re-queued with different parameters (e.g. different skills set) this parameter means the script will go down the 'queued' exit path rather than the 'NoAgents' or 'noskills' path.   The call can then be re-queued with the new parameters without it being regarded as a separate request.

QueueTimeout

The maximum length of time in seconds that the call will queue (-1 disables the timeout).

BreakIvr

A flag to indicate if whilst in the Queued and/or Progress legs an IVR transaction will be aborted if a resource is allocated whilst executing the transaction.

ResultArray

The result array into which the allocated agent results should be placed. This is a list of parameters returned by the system that can then be used in subsequent nodes (e.g. set RouteTheCall Destination to Results(DEVICE_ID) to route the call to the allocated device).

DEVICE_ID - of the chosen destination when Allocated
AGENT_ID - of the chosen agent when Allocated
USER_ID - of the chosen agent when Allocated
USER_GROUP - of the chosen agent when Allocated
QUEUE_POSITION - when queued.  Useful for announcement of queue position
QUEUE_LENGTH - when queued.
MAX_QUEUE_TIME - when queued.  Enables an estimate of expected wait time to be worked out
POTENTIAL_CANDIDATES - when queued.  The number of logged on but unavailable agents who otherwise would be chosen to take the call.  Only zero when the QueueNoAgents is set.  It allows the skills to be 'opened up' if no agent with the required skills is logged on.  It also allows the call to be overflowed to another rostrvm or external device if there are no agents logged on.

Skills

The set of skills associated with the call.

Users

A space separated list of users (USER_IDs), stations or agent groups from which the destination should be chosen.  Designed to allow calls to be queued for individual agents without the need for individual queues or skills.

Returns:

Abandoned

The call has been dropped while on the queue

Allocated

An available agent has been found.  Details of the agent can be found in the Results array

Failed

For some reason the allocation has failed - probably a configuration error e.g. unknown queue.

MaximumQueueLength

Exceeded the licensed queue length - suggest a reroute to another queue or clear the call.

NoAgents

There are no agents logged on to service this queue. - normally play a message and clear the call.  This branch will not be invoked if the QueueNoAgents parameter is set to true.

NoSkills

There are no agents logged on with the right skills to take this call. - normally play a message and clear the call.

Progress

Called after the ProgessInterval number of seconds after the script returns to the allocateagent after a queued or progress path.   Generally used to play an in-queue message and give information and options to do with the queuing process.

QueueClosed

The queue is closed - a parameter of the queue in Control Centre

Queued

Called once after the first call to allocateagent if the call has been queued.  The contents of the Results Array give more information.   Generally used to play a 'you have been queued' message.

QueuedNoAgents

Called once after the first call to allocateagent if the call has been queued, but no agents are logged on and the QueueNoAgents parameter has been set to true.  This return is an alternative to the Queued return, used to indicate that no agents are logged on to service this queue but the call has been queued anyway.

Timeout

Called when the queue time has exceeded the  QueueTimeout parameter.

 


Deallocate an Agent

Description:

Deallocates the agent/device that was allocated with the AllocateAnAgent node. This effectively removes the call from the soft queue.

Parameters:

Reason

Reason code to use in the deallocate request (this is reflected when the call is removed from the queue).

It is important that when a call is routed to an agent they must be deallocated with a reason code of 1028 (Diverted). This is to ensure the CLIPboard is maintained and transferred with the call to the agent.

If QueueNoAgents is set and the call is overflowed to another rostrvm or external device, then it can be recorded as such in the MIS.QUEUE_PER table by setting the Reason to 1024.

Returns:

Succeeded;
Failed.


Hunt for a Destination

Description:

Performs a PABX style hunt for a destination station.

Parameters:

Origin

Specifies the origin to supply in the hunt calls.  If left blank the origin of the main call is used.

Destination

User group, Agent Group or list of devices on which to hunt.

Interval

Time, in seconds, between each hunt call.

Timeout

Time, in seconds, to wait at each station for the call to be answered.

MaximumCalls

Maximum number of calls in progress at any one time.

Returns:

Abandoned:
Succeeded;
Failed.


Set Callback

Description:

Inserts a dialler account for a callback.

Parameters:

AccountId

Variable that will contain the account Id of the imported account.  If Duplicate is returned, the account id references the duplicate record.

AccountRef

The account reference.

AllowDuplicates

If set to true (default) multiple callbacks can be set on the same list for the same telephone number, otherwise the node returns Duplicate if an attempt is made to add the same telephone number to the list.

CallbackData

Data associated with the callback. This is an array of fields that will be inserted with the account in the rostrvm database.

CallbackDate

The date that the callback.  This should be either of the format dd/mm/yyyy or a form acceptable to the TCL clock scan command.

CallbackTime

The time of the callback.  This should be a form acceptable to the TCL clock scan command.

List

The list to which the account is associated.

TelNum

The telephone number to call back.

WhisperId

The identity of a recording to be played back to the agent prior to making the callback.

Returns:

Succeeded;
Failed;
Duplicate;
InvalidDateTime;
InvalidNumber


Queue for Agent

Description:

Requests the call (telephone or email) to be queued until an appropriate device is available to which the call can be routed.

Parameters:

AnswerTimeout

Time to wait for routed call to be answered. If zero then the call is routed blind.

If a 'hunt' is being performed, the answer timeout is applied from the time the last call in the hunt is made. In this case, a zero value means an infinite wait for an answer.

ClosestSkilledAgent

The weight for the closest skilled agent algorithm at which the call enters the queue.

HuntInterval

This is the time (in seconds) between each 'hunt' call. See the MaximumMatches description for a description of the 'hunt' process.

This parameter is only valid on Invex systems.

LongestWaitingAgent

The weight for the longest waiting algorithm at which the call enters the queue.

MaxHuntCalls

This is the maximum number of outstanding hunt calls that may be in progress at any one time. A zero value indicates no limit on the number of hunt calls, a value of 1 would mean that a hunt call to an agent will be cleared before the hunt call to the next agent is made.

MaximumMatches

Maximum number of resources to allocate at once for this call. When this is greater than one, a 'hunt' will be performed on resources that are allocated. The 'hunt' will consist of calling each resource until one resource answers; the resources are called in the appropriate order based on the selection algorithm.

This parameter is only valid on Invex systems; setting this to a value other than 1 on non-Invex systems will cause call routing to fail.

MostSkilled

The weight for the number of skills at which the call enters the queue.

Priority

The priority at which the call enters the queue.

Queue

The queue device upon which the call will queue.

QueueNoAgents

A flag to indicate if the call should be queued in there are no appropriate  logged on agents to service the request.  By default the call is not queued.

QueueTimeout

The maximum length of time in seconds that the call will queue (-1 disables the timeout).

QueueTreatment

This defines the call treatment to apply to calls on the queue and has the values:

None - Do not apply any call treatment (leave the call on the routing number);
Silence - Play silence to the caller;
Music - Play music to the caller;
Ringback - Play ring back to the caller.

Note that this parameter is only used on Invex and Meridian systems. On Invex systems the call will be parked on a line specified by the DEFAULT_LINEGROUP setting (unless None is specified).

QueueTreatmentMusic

This defines an announcement for the Queue Treatment.

For Invex systems this is the name of an announcement to play when the call first hits the queue.

For Meridian systems this is the DN of the Music to play.

Skills

The set of skills associated with the call.

Returns:

Succeeded;
Failed;
MaximumQueueLength;
NoAgents;
NoSkills;
QueueClosed;
Abandoned;
Timeout.