The rostrvm database contains a number of tables that hold historical data as follows:

SESSIONS

Session details for each station, line, and routing number device.

AGENT_STATES

A historic record of agent state changes for each station.

CALLS

A historic record of all the calls and contacts handled by rostrvm devices.

CONNECTIONS

A historic record of all the connections involved in each call and contact.

ACTIVITIES

An audit trail of the activity codes and their associated values.

CALL_BACKS

Record of all dialler accounts on which a callback has been set by the dialler.

ACCOUNTS

Record of all dialler accounts which have been imported through OutBound.

MEDIA_INFORMATION

Record of all email, chat, SMS text, voice and screen recordings with associated custom data.

MEDIA_ARCHIVE

A list of all archived emails, chats or voice and screen recordings.

MEDIA_RECORDING

The voice and screen recordings of each leg of the calls.

USER_DETAILS

Additional real-time user information recorded alongside user configuration details.

DLR_LIST_IMPORT_HIST

A record of when a list is imported, purged, reset or split from an existing one.

Table Relationships

Relationships between the tables (for the purpose of SQL joins) can be defined using a number of different fields. The following diagrams illustrate some of the more common fields that can be used for such joins. In each case, the field listed in each destination table is referenced from the origin table.

  Manager_tables1

The tables in RED ITALICS are configuration tables which contain some fields that are used by the rostrvm Manager displays.


SESSIONS

Contents

One session records for all points in time for each rostrvm station, line and routing number.

Row Added

On start-up or following a re-configuration when a new device is added.
When the session type has changed (i.e. the agent has logged on or logged off or the user has connected or disconnected).

 

Record Recovery

On start-up if the END_TIME is null for this device.

Record Definition

Column Name

Description

Type

SESSION_ID

Unique Id to identify the session.

Int

START_TIME

Logon time for user or agent. For lines and routing numbers it is the time of the last configuration change.

D/t

END_TIME

Agent/user log off time.  For lines and routing numbers this is NULL or the time that the particular configuration was valid for the device.

D/t

TYPE

Station, Line, HCDN, User, Agent, Archived

User & Agent imply device is a station.  If a user connects (or an agent logs on) to any other device type it is ignored (i.e. this column is not updated).  HCDN is an historic term for a CallDirector routing number.  Archived is a record that is accessed from a voice or screen recording.

Enum

DEVICE

DEVICE_DESCRIPTION

The device details - rostrvm device id and description (as per configuration).

Str

USER_NAME

FULL_NAME

USER_GROUP

The user details - rostrvm user Id, full name (as per configuration), and the user group to which they belong.  Applicable to user and agent sessions only.

Str

AGENT_GROUP

The rostrvm group to which they have logged on (applicable to agent sessions only).

Str

LOGOFF_REASON

The logoff reason code (applicable to agent sessions only).

Str

NAIL_UP

The telephone number or SIP URL used to connect the agent's turret to the rostrvm system (applicable to agent sessions only).

Str

TIME_TO_
NEXT_LOGON

Seconds before this agent logs on again. This is set for the previous record when the agent logs on again (i.e. it is NULL in the last agent session).

Int


AGENT_STATES

Contents

Agent state times (and connection reference if applicable) for when the agent last entered the Not Ready state.

Row Added

When an agent changes state to or from anything other than Busy, and the total state times are greater than 1 second.  Records of 1 second or less are carried forward to the next record (this is to avoid a 0 or 1 second Ready entry for every dialler preview/progressive call attempt).

 

Record Recovery

Never.  However, if the record already exists (i.e. following a SESSIONS entry recovery for this device on recorder re-start) then it will be overwritten rather than a new one created.

Record Definition

Column Name

Description

Type

SESSION_ID

The agent session to which the record is associated.

Int

START_TIME

Time of agent logon or the time that the agent entered not ready.

D/t

CALL_REFERENCE

The call that is associated with the agent state timings, or null if not applicable.

Note for multiple legs (consultation calls) the Wrap-up time is associated with the last leg whereas the Ready and Not Ready times are associated with the first leg.  Busy time spans all legs.

Int

READY_TIME

Number of seconds the agent spent in the ready state.

Int

BUSY_TIME

Number of seconds the agent spent in the busy state.

Int

WRAPUP_TIME

Number of seconds the agent spent in the wrap-up state.

Int

NOT_READY_TIME

Number of seconds the agent spent in the not ready state.

Int

NOT_READY_REASON

Cause code for the this not ready state change.

Str


CALLS

Contents

The details for each rostrvm call or contact.  A single entry exists regardless of how many times the call was routed, transferred or requeued to different devices.

Row Added

When a new call (or contact) is started.

 

Record Recovery

When the recorder is re-started whilst a call is in progress.

Record Definition

Column Name

Description

Type

CALL_REFERENCE

The reference which uniquely identifies the call.

Int

START_TIME

Time of the first event associated with the call.

D/t

END_TIME

Time of last recorded event on the call.

D/t

CLASS

Last class associated with the call (Campaign for Outbound).

Str

ACCOUNT_ID

For OutBound generated calls the account id associated with the call that was made.

Str

LIST

For OutBound generated calls the list from which the call was generated.

Str

SKILL

For inbound skilled based routing calls the skill associated with the call.

Str

DIALLED_DIGITS

Original number dialled to originate the call.

Str

ORIGIN

Originating party (either a remote DN or a rostrvm device id).

Str

REMOTE_PARTY

The remote party involved in this call (with any configured prefixes removed).

Str

ORIGIN_TYPE

Inbound, Outbound, Predictive, Preview, Progressive, Manual Outbound, Dialler Manual, Inbound Email, Outbound Email, Dialler Email, Inbound Chat, Outbound Chat, Outbound SMS, Dialler SMS, Preview Cancelled, Inbound SMS, ScoreCard

The type of the contact from the originator's point of view.  Note Outbound is only set for outbound calls initiated from a line.

Enum

REASON_FOR
_CALL

'Inbound' if a remote originated the call;

'<callback type>' for dialler callbacks;

'OutBound' if the original destination is a remote (non-callback);

'Internal' otherwise.

Str

BILL_TIME

Number of milliseconds that the agent has been connected (including held) to a remote device for outbound calls only.  This includes outbound consultation calls.

If the agent makes an outbound primary and an outbound consultation to 2 remotes then this time will be double the elapsed time.

Int

LINKED

Call reference of a linked call (used for ScoreCard calls).

Int


CONNECTIONS

Contents

The details for each rostrvm connection to a call or contact.  Connection records are only maintained for rostrvm configured Stations, Lines, and routing numbers.  They are not added for remote devices.  ACD queues are recorded as a field within the routing number or Line entry whenever the call is queued.

Row Added

When a new connection is created.  This is as a result of a new party being added to the contact notification (connection state is not null).
When the call class changes during a call.

 

Record Recovery

We attempt to recover station silent monitor authentication legs.  To do this a check is made before creating a new entry and if a record with the same call reference already exist for that devices session, and the entry is less than 4 seconds old, then it is recovered.

Record Definition

Column Name

Description

Type

CONNECTION_ID

Unique identifier for the record.

Int

CALL_REFERENCE

The call reference to which this connection belongs.

Int

START_TIME

Time that the connection started.

D/t

END_TIME

Time that the connection ended.

D/t

SESSION_ID

The session Id for the rostrvm device for this connection.

Int

TYPE

Outbound, Inbound, Failed, Preview, Conference, Transfer In, Outbound Consultation, Monitoring, Recovered, IVR, Queued, Routing, Inbound Consultation, Hunting, Queueback, Archived, ScoreCard

The type of call.  All but IVR, Queued and Routing are set for Station connections only.  Queued can be for either a Line or Routing Number session.  Hunting is a consultation call from a line.  Archived is a record that is accessed from a voice or screen recording.

Enum

CLASS

Call class that was assigned to the call when this connection ended.

Str

QUEUE

Name of the queue that the call is in during this connection when the type is Queue.

Str

REMOTE_PARTY

Other party (may be Remote DN or a rostrvm device id) with any configured prefixes removed.

Str

SWITCH_REASON

The final switch generated reason for the termination of the call.

Str

ALERT_TIME

The number of seconds the call was alerting.

Int

HOLD_OR_Q_TIME

The number of seconds the connection was in the held or queued state.

Int

CONNECT_TIME

The number of seconds the call was connected (i.e. talking state).

Int

TRANSFERRED_TO

The device or remote party this connection was transferred to if it was requeued, transferred, diverted, or routed.

Str

MEDIA_TYPE

Call, Email, Chat, Unread Voice Mail, Voice Mail, Deleted Voice Mail, IVR, SMS

This is the type of the media recorded in the MEDIA_RECORDING table for this connection (NULL if there is not media).

Enum

SCREEN
_RECORDED

The connection ID of the screen recording associated with this connection (may be different to the connection id in the case of multiple contacts at a station).  This is NULL if there is no screen recording.

This refers to the CONNECTION_ID in the MEDIA_RECORDING table (or the archived equivalent) with an encoding type of RFB.

Int

ARCHIVE_ID

Specifies the archive in which the media is stored (if it is no longer in the main database).  The name of the archive may be found by using this reference against the MEDIA_ARCHIVES table.  The actual media is stored in the MEDIA_RECORDING table within the archive.

Int


ACTIVITIES

Contents

One record for each activity code entered against a call.

Row Added

When a new activity code is received for the call, or a new value is received for an already set activity code.

 

Record Recovery

Never.

Record Definition

Column Name

Description

Type

CONNECTION_ID

The connection identity against which this activity was set.

Int

CODE

The activity code.

Int

VALUE

Value associated with the activity.

Str

SET_TIME

The time that the code was first set.

D/t


CALL_BACKS

Contents

One record for each callback that is set through the rostrvm OutBound product.

Row Added

Whenever a callback is set by the dialler.

 

Record Recovery

Never.

Record Definition

Column Name

Description

Type

CONNECTION_ID

Connection upon which the callback was set (if set by a call).

Int

ACCOUNT_ID

Unique identifier for the outbound record.

Str

TYPE

Stale, Agent, Busy, Fail, No Answer, Answer Machine, Cancelled, Nuisance, Rejected, Undefined, Hungup After Answer, Activity Code, System Fail

The type of callback.

Note that these values reflect the types recorded in DLR_ACCOUNTS.

Enum

SET_TIME

Date and time the callback was set.

D/t

CALL_BACK_TIME

Date and time that the callback is scheduled.

D/t

LATEST_TIME

Latest time of day to perform the callback.

Time

USER_NAME

Name of the user assigned to the callback (NULL if it does not matter).

Str


ACCOUNTS

Contents

One record for each entry in DLR_ACCOUNTS.

Row Added

Whenever an equivalent field in DLR_ACCOUNTS is updated.

 

Record Recovery

Never.

Record Definition

Column Name

Description

Type

ACCOUNT_ID

Account Identifier.

Str

ACCOUNT_REF

Account reference.

Str

CLASS

Last campaign to which this account was assigned.

Str

NAME

The name associated with this account.

Str

LIST

List with which the account is associated.

Str

STATUS_CODE

FilteredOut, Terminated, Callback, Active, Priority

Current status of the account (blank means Unused).

Enum

TERM_CODE

Max Calls to Busy, Max Calls to Unavailable, Max Calls to No Answer, Contacted, Excluded, Max Nuisance Calls, Max Calls to Answer Machine, Max Call Cancellations, Max Calls Rejected, Max Calls Failed, Agent Cancelled Callback, Max Activity Outcome, Max Overall Call Attempts, Max Hungup After Answer

This account termination code.

Enum

DOWN_LOAD_DATE

Time the account was put into the system.

D/t

EXPIRY_DATE

Time from which the account is no longer valid for dialling.

D/t

CALL_BACK_TIME

The latest callback date and time (this may or may not have been dialled).

D/t

LAST_UPDATED

Time of the last change to any field within the account.

D/t

SKILL_NAME

The required skill for this account.

Str

TEL_NUM_1 to 4

The telephone numbers associated with this account.

Str

SMS_NUMBER

The SMS number associated with the account.

Str

EMAIL_ADDR

The email address associated with the account

Str


MEDIA_INFORMATION

Contents

Contains a variable number of entries (possibly no entries) corresponding to each email, chat, SMS text, voice recording.

Row Added

Whenever a new contact of the appropriate type or voice recording is archived by the rostrvm server components.

 

Record Recovery

Never.

Record Definition

Column Name

Description

Type

CONNECTION_ID

The identity of the CONNECTIONS record associated with this entry.

Int

ITEM_NAME

The name of the data store column that has the 'Keep History' check box ticked, that is associated with the contact and contains information.

Str

VALUE

Values set for the data store on this contact (only non-blank values are stored).

Str


MEDIA_ARCHIVE

Contents

This table contains an entry for each email/chat/voice archive file found in the archive location.  The entries identify the file name and the time the archive was last modified.

Row Added

Each time a new email, chat or voice archive is placed in, or found in, the archive location.

 

Record Recovery

When an archive file is no longer present in the archive area.

 

Record Definition

Column Name

Description

Type

ARCHIVE_ID

A unique identity of the archive, this is the key used by the MEDIA_INDEX table.

Int

PATH

Full path name of the archive file.

Str

LAST_MODIFIED

Modification date of the archive file the last time it was indexed.  This is used to detect changes to archive files and archive them as appropriate.

D/t


MEDIA_RECORDING

Contents

This table contains active email, chat, voice and screen recordings and recordings that are waiting to be archived.  An hourly archive process runs to move completed recordings into archive files.

Row Added

When an email, chat or call is recorded

 

Record Recovery

When an email, chat or call is moved into an archive file.

 

Record Definition

Column Name

Description

Type

CONNECTION_ID

The reference to the CONNECTIONS entry with which the recording is associated.

Int

TIME_OFFSET

As the recordings are made they are broken into segments.  This field provides an time offset in milliseconds from the start of the recording and is used to re-assemble the segments.

Int

ENCODING

GSM, Text, Header, Binary, RFB

The type of data recorded: GSM for sound data, Text for chat interactions, Header, Text and Binary for emails, and RFB (Remote Frame Buffer) for screen recordings.

Enum

MEDIA

The actual sound data or contact text.

Blob


USER_DETAILS

Contents

This is an existing configuration table which is being extended to effectively hold real-time information about the users.

Users are only recorded if they are configured with USER_DETAILS.ACCESS_TYPE = 0 (i.e. non-controlling users are ignored).

Row Added

Through Manager when a new user is added,

 

Record Recovery

Never.

Record Definition (real-time MIS columns only)

Column Name

Description

Type

USER_NAME

The identity of the user (note this is created by Manager when a new record is added).

Str

SESSION_ID

This references the last session record associated with the user (this is updated when the user and/or agent logs on).  If the user has never logged on, or is currently not logged on, then it is set to logged off (if an agent Id is configured) or is null.

Int

CONNECTION_ID

Currently connected call.

Int

AGENT_STATE

Logged Off, Ready, Not Ready, Wrap Up, Preview, Alerting, Remote Alerting, Hold, Connected, Conference

Current agent state (if user is an agent).  If the agent state is busy then a call state is set.

Enum

STATE_START_TIME

Date/time of last update to the state.

D/t

MOVING_TO

If a request to move an agent from their current agent group to another agent group is outstanding (i.e. agent is not yet in a Ready state), then this is the new target agent group.

Str

STATUS

Either the not ready reason or logged off reason code string.

Str

LAST_LOGON

Last time the user logged on to (or off from) rostrvm.

D/t


DLR_LIST_IMPORT_HIST

Contents

Defines the operations performed on each dialling list.

Row Added

Whenever a list is imported (either as an Overwrite, Append, Update or Singular Import operation);
Whenever a list is Purged or Reset;
Whenever a new list is created from an existing list or split from one.

 

Record Recovery

None.

Record Definition

Column Name

Description

Type

LIST

The name of list upon which is being operated or is being imported.

Str

TYPE

created, overwrite, append, purge, single, delete, newlist, splitlist, reset, update, addition, removal, cbsreset, cbswindow, cbstime, cbsmove, cbsexpreset

The type of list operation that is being logged.

Enum

TIMESTAMP

The time at which the list operation was performed.

D/t

DATESTAMP

The date at which the list operation was performed.

Date

RECORD_COUNT

The number of accounts in the list after the specified operation has completed.

Int

NUM_IMPORTED_OK

The number of accounts successfully imported from a supplied data source.

Int

NUM_EXCLUDED_DUP

The number of accounts left un-imported from a supplied data source due to the de-duplication function.

Int

NUM_EXCLUDED_BLANK

The number of accounts left un-imported from a supplied data source due to having blank telephone numbers.

Int

NUM_EXCLUDED_TPS

The number of accounts left un-imported from a supplied data source due to their telephone numbers being present in the TPS list.

Int

NUM_EXCLUDED_SML

The number of accounts left un-imported from a supplied data source due to their telephone numbers being too short.  The minimum length of acceptable telephone numbers is defined in the rostrvm registry by the OlmMinTelNumLen key.  If not defined, the default value is 11.

Int

NUM_EXCLUDED_ALP

The number of accounts left un-imported from a supplied data source due to their telephone numbers containing unwanted alpha characters.  This feature of rejecting accounts due to the presence of alpha characters is disabled by default.  It can be enabled by setting the OlmRejectAlphaNums rostrvm registry key to 1.

Int

NUM_EXCLUDED_FAIL

The number of accounts left un-imported from a supplied data source due to reasons other than those specified above.

Int

NUM_PURGED

The number of accounts removed from a list as a result of the specified operation type.

Int

DAILY_STATUS

Enumerated flag field indicating whether a given operation was the latest to be performed on a specific list on any given day or not.  Values are Latest or Historic - i.e. the last operation to be performed on a list on any day will have a DAILY_STATUS value of Latest and any preceding entries for that list on that same day will have a value of Historic.

Enum

ACCOUNT_ID

This is the account id when a single account is added or removed from a list.

Str