Skip to main content
Skip table of contents

Voice Biometrics Integration with NICE CXone

Overview

This document provides an overview of what’s required to successfully install agent-side enrollment for Voice Biometrics with NICE CXone Studio.

Voice Biometrics (VB) is used to detect and verify a caller’s identity that has been authenticated in a past call and enrolled in the VB service.

The basic steps for VB are the following:

  • VB enrolment. Authoritatively assign a set of identifiers to a stored voice recording.

  • VB verification. Comparing the active voice stream against stored voiceprints.

  • VB verification system expectations. Speaker verification systems calculate the similarity score between two or more voiceprints from the same speaker. They differ from speaker identification systems, where the goal is to identify who is speaking amongst a set of speakers.

The process described below, shows how to integrate Voice Biometrics without the Agent Assist feature. For a better experience using Agent Assist, please refer to the Integrate Voice Biometrics Agent Side verification with CXone section.

Prerequisites

To integrate Voice Biometrics with NICE CXone Studio you must first have completed the following tasks:

  1. Create a VB profile.

  2. Integrate NICE API with OCP miniApps®.

Optional step - API integration is only necessary in Voice Biometrics for Call Recoding. Not required for Streaming services.

  1. Arrange a free call number available in NICE.

A telephone number must be available to avoid using the same one for miniApps.

4. Create a Personal Access Token that belongs to the same group as the VB profile.

Create NICE CXone script

The VB integration process mainly concerns the creation of a call script. This script will collect the information from the caller and transfer this information to an agent to complete the enrollment of customers to Voice Biometrics.

To create a new script log in NICE CXone Studio, follow the steps below:

  1. Select a new script file from the File menu

  2. Select a General Purpose Script for Phone application.

  3. Create a script depending on the way call recording is handled. Three methods are recommended.

    1. Recording is done through the Logcall element.

    2. Recording is performed if required through a LogRecordingPro element tool.

    3. No action to record the call exists in the flow. Details can be found in No recording action script section.

The details of each script element with its properties are described below.

Logcall recording script

Screenshot 2022-05-06 at 4.48.43 PM.png

Logcall

The role of this element is to record and log the call.

Screenshot 2022-05-06 at 4.52.43 PM.png

Properties

Property

Description

WhileInConversation

RecordonlyContactaudio

WhileInvrRorOnHold

PauseRecording

File Format

MonoWav

Result Branches

Result

Branch

Default

5 - Assign VB Values

Assign VB Values

Based on the call data, specific Voice Biometrics values are assigned to the caller.

The vbProfile is set along the rest properties.

The ID of the vbProfile is retrieved from the VB tab of OCP Console.

Screenshot 2022-05-06 at 4.53.12 PM.png

Properties

Property

Description

Data

CODE
ASSIGN vbProfile="profile_retrieved_by_ocp_console"
ASSIGN middlewareUrl="https://baseurl/agent-vb-mw"
ASSIGN middlewareToken="token_retrieved_by_ocp_console"

DYNAMIC SessionRequest
ASSIGN SessionRequest.tenantId="{busno}"
ASSIGN SessionRequest.masterId="{masterId}"
ASSIGN SessionRequest.agentId="{agentId}"
ASSIGN SessionRequest.vbProfile="{vbProfile}"
ASSIGN SessionRequest.agentSkill="{sklname}"

DYNAMIC Headers
ASSIGN Headers.Authorization="Bearer {middlewareToken}"
ASSIGN Headers.Content_Type="application/json"

ASSIGN headersJson="{Headers.asjson()}"
ASSIGN headersJson = "{headersJson.replace("Content_Type", "Content-Type")}"

MaxStringSize

Limit2K

Result Branches

Result

Branch

Default

7 - Request Session Token

On Error

Request Session Token

The session creates a token that will later be posted and assigned before sent as information to the agent.

If the token creation fails for any reason a notification will be sent directly to the agent’s screen.

Screenshot 2022-05-06 at 4.53.16 PM.png

Properties

Property

Description

Command

MakeRestRequest

ServiceAddress

{middlewareUrl}/api/token/

Headers

headersJson

Parameters

SessionRequest

Verb

POST

TimeOutInMilliSeconds

30000

result Set (out)

result

ErrorArgList (out)

error/ArgList

Result Branches

Result

Branch

Default

4 - Pop up Omilia iframe

OnSuccess

9- Assign Session Token

OnInvalidInput

OnError

OnTimeout

OnThrottle

OnFailure

Assign Session Token

Upon successful session token creation, the session token is assigned with the call details and then sent to the agent.

Screenshot 2022-05-06 at 4.53.19 PM.png

Properties

Property

Description

Data

CODE
ASSIGN token=”{result.data.token}”

MaxStringSize

Limit2K

Result Branches

Result

Branch

Default

4 - Pop up Omilia iframe

OnError

Pop up Omilia iframe

A window pops up on the Agent’s screen with the details of the call.

Screenshot 2022-05-06 at 4.58.34 PM.png

LogRecordingPro script

Recording is performed if required through a LogRecordingPro element tool

2024-04-24_16-49-54.png

LogRecordingPro

2024-04-24_17-00-55.png

Properties

Property

Description

Recording Type

Call

Record

Stop

UseRecordingStatementId

False

Default

11 - Assign VB Values

Action ID

21

Caption

LogRecordingPro

For rest elements check Logcall recording script section

No recording action script

You can create a script where the recording is not managed within the script flow. If such script is used, recording is configured using the NICE CXone recording policies.

2024-04-24_17-01-06.png

To be able to enroll a user through recording, the Recording Percentage in the Recording Policy must be set to 100%.

2024-04-24_15-31-44.png

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.