Info |
---|
This guide explains how to configure voice authorization for assigning x-hoppers headsets to users. Created: June 2024 Updated: September 2024 Permalink: https://x-hoppers.atlassian.net/wiki/x/AwAU |
Table of Contents | ||
---|---|---|
|
Introduction
x-hoppers allows to configure the logic of assigning headsets to users via:a) speech-to-text
Voice, so that staff can take the headset from charger, pronounce their names and automatically get assigned to the headset
...
Voice auth-footprint, which allows you to verify users' identity by voice footprint. In this case, the system compares the voice of the user with user voices previously saved in the system and in case of a match, allows authorisation, which eliminates the risk of user logging in under a different name
...
Requirements
WMS 6.05.20240119.1 or higher
...
Authorization via Voice
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 --mode calls presence -cr":
...
Code Block |
---|
# systemctl daemon-reload # systemctl restart pbx-data-engine |
Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
Note: Reloading systemd is required each time you make any changes to the /etc/systemd/system/pbx-data-engine.service.d/override.conf file. |
...
The user is asked to say their name
The user should pronounce the name and surname
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: |
...
|
...
|
...
Authorization via Voice Auth-Footprint
When this feature is enabled, during user authorisation the system compares the voice of the user with user voices previously saved in the system and in case of a match, allows authorisation.
...
Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
Note: The support starts from WMS 6.06 |
To set up the feature, see instructions below:
Install the specific libraries to enable verification of identity by voice using the following command:
Code Block pip install librosa
Set up a Dialplan to allow employees leave their voice footprints in the system, which will later be used for verification.
...
Make sure your PBX is updated to min. WMS 6.06
To configure authorization via voice auth-footprint, download the following Dialplan and upload it on your PBX in the tab Dialplan rules:
View file name
...
voice_auth.bkp
...
Once the Dialplan is set up, employees should call the number provided in the Dialplan and follow the audio instructions to record their voice footprints.
...
Add the following variable to WMS -> Dialplan -> General Settings -> Set dialplan variables field and click Save:
Code Block XHOP_VOICE_AUTH=yes
...
When the feature is enabled, upon lifting the headset, users are prompted to say their first and last name and pronounce the phrase “My “with x-hoppers, my voice is my password“ to complete voice recognition.
...
to access broadcasts. If the voice authorization attempt fails, they are prompted to provide their extension and name. In case voice footprint is missing, users are suggested to record it.
Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
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
...
verification 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:
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.
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'
...
It is possible to customize prompts pronounced during user verification by voice.
...
Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
Note: The support starts from WMS 6.07. |
...
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
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
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.
To set a custom x-hoppers message instead of the default “Thank you”, pronounced at the end of voice verification, when a user needs to wait till the headset joins the conference:
Code Block XHOPPERS_FINISH_PROMPT=your custom prompt
...
Battery Level Announcement
By default, during voice authorization, a message with information about battery level of x-hoppers headsets is played to users.
Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
Note: Battery level announcement is played starting from WMS 6.07.20240806.1. |
Customize battery level announcement
If you want to customize the default message “Battery level is”, add the following variable to WMS -> Dialplan -> General settings -> Set dialplan variables:
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.
Disable battery level announcement
To disable battery level announcement, add the following variable to WMS -> Dialplan -> General settings -> Set dialplan variables:
Code Block |
---|
XHOPPERS_ANNOUNCE_BATTERY_LEVEL=no |