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 to 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.

Prerequisites

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

  1. API Integration with CXone. NiC API integration with OCP miniApps®

  2. Create a VB profile. Voice Biometrics Profiles

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 into CXone follow the steps below:

1. Create a new script file.

2. Select a General Purpose Script for Phone application.

3. Create a script as per the below diagram.

VB enrollment and verification script

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

Logcall

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

LogCall properties

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.

Assign VB values properties

Properties

Property

Description

Data

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")}"
CODE

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.

Request Session Token properties

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.

Assign Session Token properties

Properties

Property

Description

Data

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

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.

Pop up Omilia iframe

Onrelease

This process starts when the call closes. Either because of agent transfer or call end.

Properties

Property

Description

CauseCode

CallResult

Result Branches

Result

Branch

Default

12 - Assign Enrollment Token

Assign Enrollment Token

An enrollment token is assigned.

Assign Enrollment Token properties

Properties

Property

Description

Data

DYNAMIC CreateEnrollment 

ASSIGN CreateEnrollment.token=”{Token}”
CODE

MaxStringSize

Limit2K

Result Branches

Result

Branch

Default

10 - Submit enrollement request

OnError

Submit Enrollment Request

The enrollment request is submitted and the process is complete.

Submit Enrollment Request properties

Properties

Property

Description

Command

MakeRestRequest

ServiceAddress

{middlewareUrl}/api/token/

Headers

headersJson

Parameters

CreateEnrollment

Verb

POST

TimeOutMilliSeconds

30000

result Set (out)

resultSet

ErrorArgList (out)

error/ArgList

Result Branches

Result

Branch

Default

OnSuccess

OnInvalidInput

OnError

OnTimeout

OnThrottle

OnFailure