Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

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

Created: June 2024

Updated: October 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. VoiceSimple 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. PreVoice 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.05.20240119.1 or higher

Authorization via Voice

...

  • 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 :

  • 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)

    Code Block

...

  • 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:

    Code Block
    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:

    Code Block

...

  • systemctl daemon-reload

...

  • 
    systemctl restart pbx-data-engine

...

atlassian-
panelIconId
Note
panelIcon:note:
bgColor#E3FCEF

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

...

  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

Note

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 WMS 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 Call 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. 

...

...

Note: The support starts from WMS 6.06

To set up To enable the feature, see follow the instructions below:

  1. Make sure your PBX is updated to min. WMS 6.06

  2. To configure authorization via voice footprint, download Download the following Dialplan and upload it on your PBX in the tab Dialplan rules:

    View file
    namexhoppers_auth_sample.bkp

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

    Code Block
    XHOP_VOICE_AUTH=yes 

...

Once enabled, upon lifting the headset, users are prompted to say the phrase “with x-hoppers, my voice is my password“ to access broadcasts. If the voice authentication attempt fails, they are prompted to provide their extension and name. In case voice footprint is missing, users are suggested to record it. There are 3 attempts with 3 retries each to record the footprint.

Panel
panelIconIdatlassian-note
panelIcon:note:
bgColor#E3FCEF

Note: There is an option to record voice footprint in advance, by calling the number provided in the Dialplan from a phone and following the audio instructions.

The system matches the pronunciation with user records and assigns the headset. Each time the headset is placed into the charger, it gets unassigned and gets Service license type.

Voice authentication for specific Departments only 

Starting from WMS 6.07, it is possible to ​​enable user verification by voice for users of specific Departments only. For this, follow the below steps:

  1. Modify the following line in /etc/systemd/system/pbx-data-engine.service.d/override.conf file by adding “department” value after --xhop_voice_login:

    Code Block
    # vi  /etc/systemd/system/pbx-data-engine.service.d/override.conf
    
    [Service]
    ExecStart=
    ExecStart=/usr/sbin/pbx_data_engine.py --daemon --mode calls presence -cr --xhop_voice_login department

    When the value “department” is set, the list of departments from the environment variable XHOP_VOICE_AUTH_DEPS_LIST (see step 2) is used for verification by voice.

  2. Add the following line to /etc/systemd/system/pbx-data-engine.service.d/override.conf file, indicating the list of departments, where verification by voice should be used:

    Code Block
    # vi  /etc/systemd/system/pbx-data-engine.service.d/override.conf
    
    [Service]
    ExecStart=
    ExecStart=/usr/sbin/pbx_data_engine.py --daemon --mode calls presence -cr --xhop_voice_login department
    Environment='XHOP_VOICE_AUTH_DEPS_LIST=Sales,Support'

Where “Sales, Support” is the list of required departments, separated by comma.

Configure virtual users 

...

Tip

Note: There is an option to record voice footprint in advance, by calling the number provided in the Dialplan from a phone and following the audio instructions.

Configure virtual users 

It is possible to configure dummy (virtual) users for assigning a headset in case a user could not be verified by voice after 3 attempts. To set a list of dummy users for assigning a headset in case of voice authentication failure:

...

When dummy users are configured, and a user fails to complete verification by voice authentication, the headset gets automatically assigned to an available dummy user. 

...

Customization

It is possible to customize prompts pronounced during user verification by voice

Panel
panelIconIdatlassian-note
panelIcon:note:
bgColor#E3FCEF

Note: The support starts from WMS 6.07.

authentication. For this, add the following variable(s) to WMS x-hoppers admin -> Dialplan -> General Settings -> Set dialplan variables field:

  1. To set your custom prompt instead of the default voice footprint message “After the beep please say with x-hoppers: my voice is my password“:

    Code Block
    XHOPPERS_VOICEFOOTPRINT_PROMPT=your custom prompt
  2. To set a custom prompt instead of “Please say your first and last name to use the device“. For example, as long as it is possible to login via extension number, you can change the prompt to “Say your extension”.:

    Code Block
    XHOPPERS_LOGIN_PROMPT=custom login message
  3. To skip the playback message “Please hold to use the device, or say cancel to search again“: 

    Code Block
    XHOPPERS_CONFIRMATION_PROMPT=no

    By default, the value is yes. 

  4. To set a custom x-hoppers message instead of the default “Thank you”, pronounced at the end of voice verificationauthentication, when a user needs to wait till the headset joins the conference:

    Code Block
    XHOPPERS_FINISH_PROMPT=your custom prompt

...

...

  1. By default, during voice

...

  1. authentication, a message with information about battery level of x-hoppers headsets is played to users.

...

Panel
panelIconIdatlassian-note
panelIcon:note:
bgColor#E3FCEF

Note: Battery level announcement is played starting from WMS 6.07.20240806.1.

Customize battery level announcement

...

  1. To customize the default message “Battery level

...

  1. is. Make sure the headset is charged”:

    Code Block
    XHOPPERS_BATTERY_PROMPT=Battery level is %s. Make sure the headset is charged.

    Where "%s" stands for battery level and can be used to pronounce the battery level information in the needed place.

...

  1. To disable battery level announcement

...

  1. :

    Code Block
    XHOPPERS_ANNOUNCE_BATTERY_LEVEL=no

...