Migration from Verint


Overview

The purpose of the migration is to import the historical recordings from the Verint v11 solution to the Verba system. 


 

The migration offers the following features:

  • Supported platforms:

    • IMR Financial Trading Recorder (IPC Media Recorder)
    • BT Financial Trading Recorder
    • Verint Financial Trading Recorder
  • Migration of historical recordings from Verint v11.1 and v11.2 systems

  • Support for archived calls only
  • Supported archive mediums: SMB folder or EMC Centera (tapes, DVDs or any other removable media is not supported)
  • Storage targets are automatically created based on the archive configuration in Verint
  • All Verint v11 file formats and codecs are supported: wave file using G.729, G.723.1 or G.726
  • Encrypted calls are not supported
  • Both back office and front office (trader voice) calls can be imported
  • Users and other settings are not migrated
  • Migrated calls are assigned to users defined in Verba based on their associated recorded extensions (Trader ID / Extension or Phone Number / SIP URI)


The migration consists of multiple steps, outlined below:

  1. Phase: Install Verba side by side to the Verint v11 system
    In this phase, a complete Verba system is deployed to allow recording of the communication platforms (both trader voice and telephony or unified communication). The Verba system is deployed on new servers, side-by-side to the existing Verint installation. Certain parts of the existing infrastructure can be reused potentially. This includes the SQL Server, where the Verba database is hosted and the storage infrastructure where the recordings will be stored. The Verint and Verba software applications cannot be installed on the same operating system.

  2. Phase: Fully configure the Verba system for recording
    In this phase, the Verba system is fully configured for recording and archiving. All users are configured, including any historical user and recorded extension (trader ID, phone number, SIP URI) configuration which is necessary to assign the imported calls to users. Access control settings have to be recreated or Active Directory synchronization should be enabled. The system has to be fully tested after completing this stage.

  3. Phase: Switch over to Verba for recording
    Once everything is configured and tested, the recording is cut over to the new Verba platform. The recording on the Verint system is turned off. This step has to be carefully designed with the appropriate fallback plans in place. This might be done in multiple phases and gradually moving users over to the new Verba platform if the integration allows using multiple recording systems at once.

  4. Phase: Migrate calls to Verba from Verint v11
    After the Verint v11 system stops recording calls, the historical calls can be imported to the Verba system. 

Archive considerations

During migration, the system import calls data into the Verba database. However, media files stay on their existing location in the Verint archives. The system imports the references to the files (*.tar) and the Verba system has new features which allow accessing these files without the need to move, copy, untar or transcode them. Because of the different archiving and storage concepts in the tewo system, certain features are not available for the imported calls. The following table provides an overview of the differences. 

 

Verba recordings

Recordings imported from Verint, stored in Verint Archive

Notes

Archive Format

Individual file for each call

TAR files grouping several calls together

The TAR file concept introduces multiple limitations because the files cannot be managed individually in the TAR. This is the reason for not supporting all storage/archive features for imported calls.

Multiple Archives

No (error)

Yes (tick)

The Verint system allows archiving the same call multiple times, while The Verba system only supports a single copy in the archive. During migration, all archive entries are imported, but the oldest archive is selected as the primary archive which is then linked with the CDR entry in the database, which is used for playback, download and export (to be compatible with Verba). Subsequent archive copies are not accessible through the Verba system, but the system manages the retention period settings and attempts deleting the copies after the retention period expires. If for some reason, the primary copy is selected for deletion, the system chooses the next available archive copy as the primary automatically.

Playback

Yes (tick)

Yes (tick)

 

Playback multiple files at once

Yes (tick)

Yes (tick) 

Playback marked segment

Yes (tick)

Yes (tick)

 

Download

Yes (tick)

Yes (tick)

 

Download multiple files at once

Yes (tick)

Yes (tick)

 

Export

Yes (tick)

Yes (tick)

 

Copy Media

Yes (tick)

No (error)

The system filters out imported calls for the policy automatically

Move Media

Yes (tick)

No (error)

The system filters out imported calls for the policy automatically

Upload

Yes (tick)

No (error)

The system filters out imported calls for the policy automatically

Archive in DB and Move Media

Yes (tick)

No (error)

The system filters out imported calls for the policy automatically

Archive in DB

Yes (tick)

Yes (tick)

 

Delete, Policy-based

Yes (tick)

Yes (tick)

The system will delete the CDRs, but only delete the TAR files once all calls are deleted

Delete, Manual

Yes (tick)

Yes (tick)

The system will delete the CDRs, but only delete the TAR files once all calls are deleted

Legal Hold

Yes (tick)

Yes (tick)

For imported calls, the system is not able to set the legal hold flag on EMC Centera, only in the Verba system

File Verification

Yes (tick)

No (error)

The system filters out imported calls for the policy automatically

Increase Retention Period

Yes (tick)

Yes (tick)

 

Deduplicate Recordings

Yes (tick)

No (error)

The system filters out imported calls for the policy automatically

Encrypt and Sign

Yes (tick)

No (error)

The system filters out imported calls for the policy automatically

Voice Quality Check

Yes (tick)

Yes (tick)

 

Transcode

Yes (tick)

No (error)

The system filters out imported calls for the policy automatically

Transcription

Yes (tick)

No (error)

The system filters out imported calls for the policy automatically

Phonetic Indexing

Yes (tick)

No (error)

The system filters out imported calls for the policy automatically

 

Prerequisites

Before you begin the migration, the following items must be completed and checked:

  • The Verba system is deployed, configured and tested.
  • The Verba database is properly sized to accommodate the imported calls. Sizing estimate: ~5 KByte / imported call 
  • Sufficient time is planned for the migration. We recommend running the migration tool in out of business hours to minimize the impact on the Verba database.
    Front-office migration time estimate: ~5 million calls / hour
    Back-office migration time estimate: ~3.5 million calls / hour
  • All calls in Verint are archived, calls cannot be in the call buffer on the Verint recorders.
  • The user configuration is complete in the Verba system for historical calls.
  • The metadata mapping is checked and confirmed for both front-office and back-office calls.
  • The SQL Servers are linked:
    The Verint v11 database has to be configured as a linked server on the Verba database server so the system can run queries on both systems during the migration. Server Options / RPC Out needs to be set to True in the Linked Server configuration. Once the migration is finished, the linked server configuration can be removed.
    Alternatively, the Verint v11 databases (EWareCalls, Archive, BPMAINDB, EWareConfig) can be backed up and restored on the Verba database server. 
    For more information on configuring a linked server, see https://docs.microsoft.com/en-us/sql/relational-databases/linked-servers/create-linked-servers-sql-server-database-engine
  • The recording functionality is turned off on the Verint recorders. This is step is to ensure that no new calls are created on the Verint v11 platform, so the system can migrate all historical calls. The migration supports partial migrations by defining date ranges. However, it has to be very carefully designed and tested to ensure all calls are migrated. 
  • All 3rd party database maintenance tools are disabled on both the Verint and the Verba database servers.
  • The Verba Maintenance Job is disabled. For more information on disabling SQL Server jobs, see https://docs.microsoft.com/en-us/sql/ssms/agent/disable-or-enable-a-job.
  • Verba database backup is created to be able to restore the system in the event of fatal system error during the migration 
  • The necessary SQL scripts are executed on the Verba and the Verint databases (see below).
  • The Verint system is upgraded to 11.1 HFR 9 or later.

Running the SQL scripts

SQL scripts have to be executed on both the Verba and Verint databases before the migration can be started. The SQL scripts can be executed using the Microsoft SQL Server Management Studio which can be downloaded from https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms.

Running the SQL scripts on the Verba database

In order to run the SQL scripts on the Verba database, the SQL user requires the ALTER ANY LINKED SERVER permission or the sysadmin role to run these scripts. If you need help granting the permission, follow the article at https://docs.microsoft.com/en-us/sql/t-sql/statements/grant-server-permissions-transact-sql.

The SQL script files can be found on the Verba Media Repository Server under the c:\Program Files\Verba\resources\db\verintmig folder. Execute them in alphabetical order on the Verba database before starting the migration:

1. update-programs-verintmig-aaa-common.sql
2. update-programs-verintmig-aaa-common-inum.sql
4. update-programs-verintmig-bo.sql
5. update-programs-verintmig-fo-cti.sql
6. update-programs-verintmig-fo-vox.sql
7. update-programs-verintmig-zzz-common.sql

Running the SQL scripts on the Verint database

Additionally, another SQL script must be executed on the Verint EWareCalls database. This script is located at c:\Program Files\Verba\tomcat\webapps\verba\WEB-INF\verintmig\verintmig-download\verba-verint-ewarecalls.sql, or can be downloaded from the Verba UI at the Verint Migration Source Database configuration page.

Migration tool

The migration tool, available through the Verba user interface, provides the following features:

  • Permission / Role based access
  • Multiple Verint v11 database sources can be added
  • For each database, multiple subsets have to be defined:
    • Front-Office (based on time and selected Verint v11 datasource)
    • Back-Office (based on time and selected Verint v11 views)
  • Field mapping configuration for Back-Office calls
  • Migration status information, configuration warnings (e.g. subsets configured does not cover all calls in the Verint v11 database)
  • Planning stage with data preview
  • Data is migrated in monthly chunks
  • The migration process can be paused and resumed later
  • If the migration fails, it can be restarted from the last finished month
  • Detailed logs
  • The migration process is executed by the Web Application Service so the user can log off from Verba web UI and can turn their PC off
  • No server restart is needed after the migration
  • The Verint databases are not changed, only four very simple helper procedures are installed (see Running the SQL scripts on the Verint database)

The Migration Tool migrates one call type (Back-Office calls or Front-Office calls) at a time. Once the first call type migration is complete, you are ready to migrate the remaining call type. The order in which you migrate the call data is not important.

The tool can be run from only one of the Media Repository / Application Servers. For example, you cannot run the tool on multiple servers at the same time.

The Back-Office and Front-Office database migrations move records from the eWareCalls and Archive databases into the Verba database and associate the calls with the existing users when available. The users must exist in the Verba database before the migration begins. Depending on the customer and the number of calls in the Verint database, data migration can encompass several million or more records.

The migration tool has to be enabled before the migration can take place.
Navigate to Administration/Verba Servers or Administration/Configuration Profiles (in case you want to update the configuration profile used by the recording servers), then select the server which runs the Web Application service or the configuration profile.
Select the 'Change Configuration Settings' Tab and change the Web Application / Miscellaneous / Verint Migration Enabled setting to Yes.
After saving the changes, follow the instructions in the upper yellow banner to apply the changes on the affected server(s).

The Data / Verint Migration menu item will be visible when the logged-in user has Verint Migration permission.

Source databases

The menu opens the list of the Verint Migration Source Databases. In most of the cases, there will be one Source Database, but the system allows migrating from multiple databases.

Click on the Add New Verint Migration Source Database link at the top right folder to add a new source database.

When the Linked Server is empty, then the Verint databases (EWareCalls, Archive, BPMAINDB, EWareConfig) have to be on the same server where the Verba database is. This can speed up the migration dramatically.

Details of a Source Database:


The setup, the log entries, the calculated numbers and basically everything is stored in database tables and will not be deleted after completing the migration.

The Storage Targets will be synchronized during the migration of the first subset.

The source data is divided into Subsets. A Subset can be either Back Office or Front Office, and only one Subset may run at a time.

The “Total” and “Source” numbers will be calculated either when the subset runs for the first time, or when you click on the Update Numbers button.

The Back Office Subsets are summed by the system and compared to the “Total # of Back-Office records”. A mismatch will generate a warning.

Back Office (Telephony and Unified Communication)


First of all, a Database VIEW has to be selected. Then the system reads the columns of the view and displays the Column Mapping setup.

The VIEW has to contain the following mandatory columns: INum, PrevINum, NextINum, StartedAtUtc, Duration, FormatId. These columns are already mapped to the appropriate Verba fields, so no need to map them again.

You can optionally set From and To times to narrow down the migrated time interval.

Front Office (Trader Voice)

The process is similar to the Back Office, but instead of a VIEW, a Datasource has to be selected, and the column mapping is not configurable on the GUI.

 

 

 

The column mapping is actually similar to the Back Office mapping, but it is shipped with the product. If it has to be changed, then the new XML mapping file can be uploaded in the Verint Migration Source Databases List screen, using the Upload New Front Office Mapping link at the top right corner.

Data preview

A preview of the data (the first 100 records) is available on the Preview tab:

Running the migration

When the setup is complete and the Preview looks good, then use the Save and Run button to start the migration. The system will migrate one month at a time.

 The Logs tab displays the progress and log messages:


The Select Run listbox contains one entry for one execution, so if the migration stopped or failed, and someone restarted, then a new entry will be inserted.

Use the SQLs checkbox to turn on detailed log entries with the actual SQL statements.

The execution can be paused by the Pause button. Pressing the button will not cause the termination immediately, but will change the status to Pausing. Once the migration of the current month finished, the status will go to Paused. The buttons are not refreshed automatically so if the Pause button is not visible while the migration is in progress, then go back to the list of the subsets and open the details again.

When the execution paused, finished or failed, then the first tab will display the Run Again button that can be used to restart the migration of the Subset. Already migrated calls will not be migrated again, because they are saved in the verintmig_migrated_bo table.

One month is one transaction, and in case of an error in the middle, the whole transaction will be rolled back. In order to be able to effectively log to DB tables, we have to get out from the transaction, because otherwise, the log entries would not be visible to other DB sessions. In order to do this, a loopback Linked Server is created during the installation named verba_loopback.

If the execution fails, then the status of the Subset will be Failed, and the error message will be shown in the Logs tab. Unfortunately, there are errors which cannot be caught, and in that case, the subset will remain in the Running state. If you are sure that the process died, then click on the Mark as Failed button to set the state to Failed, then fix the problem and start the Subset again.

If a process is still running, then starting another one will throw an error: “Error during pr_verintmig_bo: Cannot acquire lock (Lock State: -1), probably another migration is still running (16, 1)”

Post-migration tasks

After the migration completed, the following items must be completed and checked:

  • If the media files are stored on EMC Centera, then copy the PEA file to a location accessible by the Verba Media Repository Servers and change the configuration of the Verba Storage Targets to point to the new PEA file location
  • Verify that calls are searchable and accessible through the Verba system.
  • Verify that all Verint archive locations are available as storage targets in the Verba system.
  • Verify that all calls are migrated by checking the information displayed on the subsets page.

Removing imported calls from Verba and resetting the import

If the migrated calls should be deleted and the Subset status should be "Planning", then use the manual-verintmig-delete-subset-calls.sql can be found on the Verba server in the Verba\resources\db\util folder. Set the ID of the Subset at the beginning of the file:

@subset_id INT = 0 -- TODO set subset id

Then execute the SQL in SQL Server Management Studio. The script will delete all calls of the Subset from the Verba database, and will reset the state of the Subset to "Planning".