/
How to set up Voice Authentication for x-hoppers

How to set up Voice Authentication for x-hoppers

This guide explains how to configure voice authentication for assigning x-hoppers headsets to users. 

Created: June 2024

Updated: December 2024

Permalink: https://x-hoppers.atlassian.net/wiki/x/AwAU

Introduction

x-hoppers allows you to configure the logic of assigning headsets to users via:

  1. Simple user sign in (dial-by-name), so that staff can take the headset from the charger, pronounce their names and automatically get assigned to the headset

  2. Voice authentication (pre-saved voice footprint), when the system compares the voice of the user with user voices (voice footprints) previously saved in the system and in case of a match, allows authentication, which eliminates the risk of user logging in under a different name

Requirements 

  • x-hoppers system on WMS 6.07 and higher

  • Licensing:

    • Simple user sign in: SalesFloorHopper and higher

    • Voice authentication: SalesFloorHopper + AI and higher

Configuration

Simple user sign in authentication

By default, the feature is disabled. To enable it:

  • Add the parameter --xhop_voice_login true to the /etc/systemd/system/pbx-data-engine.service.d/override.conf file. The parameter should be added to the line "ExecStart=/usr/sbin/pbx_data_engine.py --daemon -cr" (-cr is used in case of recording in-store conversations): 

    vi  /etc/systemd/system/pbx-data-engine.service.d/override.conf [Service] ExecStart= ExecStart=/usr/sbin/pbx_data_engine.py --daemon -cr --xhop_voice_login true
  • Optionally, you can enable simple user sign in for users of specific Departments only. For this, add “department” value after --xhop_voice_login and indicate the list of departments in the environment variable XHOP_VOICE_AUTH_DEPS_LIST separated by comma:

    vi /etc/systemd/system/pbx-data-engine.service.d/override.conf [Service] ExecStart= ExecStart=/usr/sbin/pbx_data_engine.py --daemon -cr --xhop_voice_login department Environment='XHOP_VOICE_AUTH_DEPS_LIST=Sales,Support'
  • Make sure to reload systemd and restart the service to apply the changes:

    systemctl daemon-reload systemctl restart pbx-data-engine

Note: Reloading systemd is required each time you make any changes to the /etc/systemd/system/pbx-data-engine.service.d/override.conf file.

When enabled, each time the headset is placed into the charger, user gets unassigned and gets Service license type in the system. When a user lifts the headset from the charger:

  1. The user is asked to say their name

  2. The user should pronounce the name and surname 

  3. The system looks for the user and assigns the headset to the user

Important: For the feature to start working on the headsets, follow one of the following procedures:

  • After enabling the feature, when using the headsets for the first time, users need to lift the headsets from the charger -> place into the charger -> lift from the charger again

  • Alternatively, before performing the upgrade and activating the feature, unassign headsets via x-hoppers admin (Devices -> choose device and click Assign to user -> in the Extension field, choose “unknown”). Then, when users lift the headsets from the charger, they need to press the Push-to-talk button first

Voice footprint authentication

When this feature is enabled, during user voice authentication the system compares the voice of the user with user voices previously saved in the system and in case of a match, allows authentication. 

To enable the feature, follow the instructions below:

  1. Download the following Dialplan and upload it on your PBX in the tab Dialplan rules:

  2. Add the following variable to x-hoppers admin -> Dialplan -> General Settings -> Set dialplan variables field and click Save: