Data models

Overview

The system stores data in different models depending on the type of data. This approach ensures that the data is stored in an optimized fashion to lower infrastructure costs and offer a good user experience. The system offers the following data models:


Data ModelDescriptionIntegrationsModalitiesAvailability
Standard

A single conversation entry (CDR) in the database is linked to a single media file (1-to-1 relationship), suitable for normal phone calls, instant messages, files, etc.

All except the ones listed under advanced data modelsAllAny
Advanced for Voice
or Trader Voice

Conversation entries (CDRs) in the database can be linked to multiple media files (Many-to-Many relationships), suitable for trader voice recordings


BT IPTrade

BT ITS

IPC Unigy

Speakerbus

Cloud9 Call Data API

Genesys Active Recording

Voice9.4 or later
Advanced for Instant Messages

Conversation entries (CDRs) in the database can be linked to multiple media records and chat messages (Many-to-Many relationships), suitable for modern instant message platforms

Microsoft TeamsInstant Message and Attachments9.6 or later


Standard data model

In the standard data model, the system stores a single record in the database which represents the recorded conversation, and there is a single media file recorded for the session.

The standard data model is suitable for most integrations where the communication record can reference the recorded conversation in its entirety and a single media file is created to store the media.

Advanced data model for voice / trader voice data model

The advanced data model was created to support an optimized storage model for trader voice recordings. This model allows Many-to-Many relations between CDR entries and media files by differentiating 2 types of records in the database:

  • CDR-only: CDR-only records contain CDR information and reference to one or more Media-only records
  • Media-only: One media-only record is shared across multiple CDR-only records (e.g. channel mixing, BT IPTrade TPO recording)



This data model allows storing a single copy of the media in the case of mixed recording channels for turret based recording or BT IPTrade TPO based recording where multiple calls/sessions are referencing a single media entry. The Media-Only records are generated based on voice activity (VOX) for most trader voice integrations. It means that the recorder service creates a Media-Only record in the database (and related media file on the disk) whenever voice activity is detected in the recorded streams. Separately, CDR-Only records are created based on the available CTI/metadata information. The 2 record types are linked in the database, creating a many-to-many relationship. Since normally only CDR-Only records have the complete metadata, the system hides the Media-Only records by default during search and playback (display of Media-Only records can be enabled). Media-Only records are basically technical records representing an optimized storage model. When a user plays back or downloads a CDR-Only record, the system automatically looks for related Media-Only records in the database, downloads the media files from storage and creates a single audio file matching the time interval of the CDR-Only record. This process is called stitching.

This data model only supports voice recordings, video and screen modalities are not supported due to the complex media processing during playback.

The trader voice data model is enabled by the default for the supported integrations. If the trader voice-specific data model is disabled (not recommended), the system will use the standard data model for trader voice recordings. In the case of open lines in a mixed recording channel, it means that each CDR will have a separate media file entry containing the same data.

Generally, there is no difference between the data models when it comes to features, although certain features work slightly differently when the system uses the advanced data model. The following table describes the effect of the advanced data model on key features:


FeatureOperation for advanced data model for voice

Search

CDR-only (and standard) records are shown by default, the user can switch to show Media-only records as well.

Related Media-Only records can be filtered and displayed for a selected CDR-Only record.

Playback

Requires post processing to stitch and cut Media-only records to CDR-only records. Seamlessly integrated into web based playback, media files are generated temporarily and cached.

Playback of Media-Only records is also possible, in that case, not stitching is done.

Silent MonitoringNot supported

Data retention

Set for both CDR-only and Media-only records, for more information see Data retention
On WORM storages: only Media-only records have retention period setting

Deletion

Media-only records have their own retention, for more information see Data retention

Voice quality check and transcoding

Applies to media-only records

Transcription

Supported for CDR-only records using media stitching

Export

Calls can be exported either with stitched media (standard model) or as per advanced/turret model

Import

Both standard and advanced/turret model is supported

Desktop/agent screen recording

Not supported

Advanced data model for instant messaging

This model is designed for modern instant message platforms like Microsoft Teams which provides advanced features like message threads with replies, rich content with images, file attachments, stickers, animated GIFs, emoticons, reactions, etc. This model allows Many-to-Many relations between CDR entries and media records and chat messages by differentiating 3 types of records in the database:

  • CDR-only: CDR-only records contain CDR information representing a chat conversation/room (usually from a recorded user point of view) and reference to one or more Media-only records
  • Media-only: a Media-Only record represents the chat messages for a day (in UTC timezone) for a chat conversation/room, one media-only record is shared across multiple CDR-only records
  • Chat messages: chat message records represent single chat messages, these records are linked to Media-Only records, and through that CDR-Only records

This data model allows storing a single copy of the chat messages in the case of chat conversations/rooms where multiple conversation records are referencing a single media entry (e.g. from multiple recorded users' points of view). The Media-Only records are generated on a daily basis (in UTC timezone) for each chat conversation/room. Chat messages are then stored individually and referenced by the daily Media-Only records. Separately, CDR-Only records are created to represent the chat conversation or room from the recorded users' points of view. The 2 record types are linked in the database, creating a many-to-many relationship. Since normally only CDR-Only records have the complete metadata, the system hides the Media-Only records by default during search and display (display of Media-Only records can be enabled). Media-Only records are basically technical records representing an optimized storage model. When a user views a CDR-Only record, the system automatically looks for related Media-Only records and related chat messages in the database.

The following table describes the effect of the advanced data model on key features:

FeatureOperation for advanced data model for instant messages

Search

CDR-only records are shown by default, the user can switch to show Media-only records as well. Related Media-Only records can be filtered and displayed for a selected CDR-Only record.

Records are displayed in a special way:

  • The system displays a CDR-Only record with start times only (no end time or duration) representing a whole hour if there was at least one message captured during that hour. A single chat conversation can be represented by multiple CDR-Only records displayed in the search results with hourly splitting. This way the system is able to show the chat conversations mixed with other record types which are more session-centric with actual start and end times.
  • The start of the Media-Only records set to the first message received for the day and the end time is always the end of the day in UTC timezone

Display

Seamlessly integrated into the web based viewer, shows the chat conversation in rich content format with lazy loading

Data retention

Set for Media-only records only, for more information see Data retention

Deletion

Media-only records have retention setting only, for more information see Data retention

Export

A separate policy based export is available to export data in SMTP format only, see Advanced IM Export policy

Advanced export, standard policy based export (including direct export) are not supported

Import

Not supported

Labeling / Case rulesNot supported