Info |
---|
This Guide provides instructions for setting up, configuring and demonstrating the capabilities of x-hoppers Green Box. Created: August 2023 Updated: May June 2024 Permalink: https://wildix.atlassian.net/wiki/x/B4BeDw |
...
To gather and post transcriptions of conversations, use these commands in Terminal:
create directory /etc/systemd/system/pbx-data-engine.service.d
Code Block # mkdir /etc/systemd/system/pbx-data-engine.service.d
add the following key to the file
Code Block # vinano-tiny /etc/systemd/system/pbx-data-engine.service.d/override.conf [Service] ExecStart= ExecStart=/usr/sbin/pbx_data_engine.py --daemon --mode calls presence -cr
add the following data to /rw2/etc/pbx/x-hoppers.json file
Code Block [ { "audio_conf_id": "2", "xbees_channel_id": "f6d17593-98b6-471d-941a-cd03153f" } ]
audio_conf_id: ID of the audio broadcast channel in x-hoppers where the communication takes place
xbees_channel_id: ID of the x-bees conversation, where the content will be posted
reload systemd and restart the service to apply the changes:
Code Block # systemctl daemon-reload # systemctl restart pbx-data-engine
Configuring Voice-Enabled User Authorization
Tip |
---|
The verification of users by voice is available starting from WMS version 6.06, make sure to update your PBX from rel60beta. |
...
engine
How to perform the Demo
During a demonstration of x-hoppers, you can enable the logic of assigning W-AIR headsets to users via speech-to-text and verify their identity by voice footprint. In this chapter, we will explore how to enable and use this feature.
By default, this feature is disabled. To activate it, add the parameter --xhop_voice_login true to the
/etc/systemd/system/pbx-data-engine.service.d/override.conf
fileCode 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 true
It is possible to enable user verification by voice for users of specific Departments only. For this:
Instead of --xhop_voice_login true use --xhop_voice_login department
Add the following line, 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.
Reload systemd and restart the service to apply the changes:
Code Block # systemctl daemon-reload # systemctl restart pbx-data-engine
Install the specific libraries to enable verification of identity by voice using this command
Code Block pip install librosa
Set up the Dialplan to allow users to record their voice footprint:
and associate it with users DialplanView file name x-hoppers_auth.bkp Add the variable
XHOP_VOICE_AUTH=yes
to WMS -> Dialplan -> General Settings -> Set dialplan variables field
When the feature is enabled:
Users need to call the designated number in the Dialplan and follow the instructions to record their voice footprints
Upon lifting W-AIR headset, users are prompted to say their name and surname and are asked to pronounce the phrase “My voice is my password”
The system matches the pronunciation with user records and assigns the headset accordingly
Each time the headset is placed into the charger, it gets unassigned meaning that it gets Service license type
If you have already assigned the headsets via WMS, to initiate this feature:
After enabling, for the first headset use, users need to lift the headset from the charger, place it back, and then lift it again
Alternatively, before activation, unassign headsets via WMS (Devices -> choose device -> click Assign to user -> in the Extension field, choose “unknown”). Subsequently, users should press the Call button when lifting the headsets from the charger
Note: It is possible to customize prompts pronounced during user verification by voice. For this, add the following variable(s) to WMS -> Dialplan -> General Settings -> Set dialplan variables field:
XHOPPERS_VOICEFOOTPRINT_PROMPT=your custom prompt
This variable allows 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“.
XHOPPERS_LOGIN_PROMPT=custom login message
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”.
XHOPPERS_CONFIRMATION_PROMPT=no
By default, the value is yes. When disabled, the variable allows to skip the playback message “Please hold to use the device, or say cancel to search again“.
XHOPPERS_FINISH_PROMPT=your custom prompt
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.
Set up virtual users
Starting from WMS 6.07, 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 authorization failure:
Create the file with the following name:
Code Block |
---|
/rw2/etc/pbx/x-hoppers_dummy_users.json |
In this file, add the list of dummy user extensions, for example:
Code Block |
---|
[703, 706, 702] |
When dummy users are configured, and a user fails to complete verification by voice, the headset gets automatically assigned to an available dummy user.
How to perform the Demo
During a demonstration of x-hoppers, you can present both basic and advanced scenarios to showcase the system's capabilities. Basic scenarios involve scanning QR codes or using tablets and utilizing x-bees for gathering and posting content, while advanced scenarios showcase integration with Veesion and ChatGPT, taking communication to the next level.
Tip |
---|
To showcase tablet scenarios, you do not need to have an actual tablet, you can use a web version by using the link:
|
Joining the broadcast
The broadcast is the core functionality of x-hoppers, it refers to the network created by the system that enables real-time communication between x-hoppers users (retail assistants).
x-hoppers users are connected to the broadcast in Retail mode (muted) by default once W-AIR Headsets are lifted from the charging cradle.
Speaking
To start speaking in the broadcast, use one of the options:
Call button: press and hold the button to get unmuted. You stay unmuted only while pressing the button. When the button is released, the Headset goes back to mute
Mute button: press the button to unmute and be able to speak in the broadcast. All people in the broadcast can hear you. You stay unmuted till Mute button is pressed again or till the Headset is placed to the Charger
Muting
To mute/ unmute the broadcast:
Double-press Call button
By default, audio from the broadcast gets muted for 60 seconds
To unmute the broadcast before the timeout, double-press Call button again
You can customize the default 60 seconds timeout:
Add the following line to
/etc/systemd/system/pbx-data-engine.service.d/override.conf
file:Code Block Environment='XHOP_UNHOLD_TIMEOUT=120'
Where 120 is the preferred timeout. If you want to disable the timeout, set the value to 0:
Code Block Environment='XHOP_UNHOLD_TIMEOUT=0'
...
It is also possible to manage incoming and outgoing calls while being connected to the broadcast. Once a call ends, the Headset will automatically return to the broadcast.
To answer incoming calls:
Double-press Call button to answer the call
Double-press Call button to swap between the call and the broadcast
Double-press AUX Function button to finish the call
To make outgoing calls:
Open x-bees app on your device
Access the dialpad within the app
Before placing the call, select the Headset as the audio output device to ensure the call audio is routed through the Headset
Dial the desired number using the dialpad and initiate the call
Tip |
---|
Wildix desk phones can also join the broadcast, as long as they are connected to the same PBX. We suggest connecting SuperVision (specifically relevant for managers) and joining the broadcast via one of the following options:
In case you need to join several broadcasts, you can set a dedicated Function key to enter each broadcast. |
Joining the broadcasts remotely
One of the remarkable features of x-hoppers system is its ability to allow users to join any broadcast from any location using any device. By dialling into x-hoppers demonstrations line via PSTN, for example, you are presented with a menu of choices to engage with the system and join specific broadcasts, allowing for flexible and accessible participation.
To demonstrate:
Dial CLASSOUND DID from an external device
Choose one of the options from the interactive menu:
Option 1: Ring all retail assistants in Call group. By pressing 1, you initiate a broadcast to all users in a specific Call group. This option is ideal for scenarios where a general announcement or message needs to be communicated to all users simultaneously
Option 2: Hunt through Call group with Priority or Round Robin strategy. By pressing 2, you trigger a call routing mechanism that hunts through each user connected to a specific Call group in a predefined order. This option is suitable for customer care scenarios where callers need to be connected to representatives consecutively until a successful connection is established
Option 3: Call directly to a single user. By selecting 3, you directly contact a specific user, typically a manager or designated contact person. This option allows for one-on-one communication and is useful for private conversations
Option 4: Join broadcast 1. Pressing 4 enables you to join the first broadcast. This option grants the ability to participate in a specific broadcast session and communicate with all users simultaneously
Option 5: Join broadcast 2. Pressing 5 enables you to join the second broadcast, extending the capability to address a different group of users simultaneously
It is possible to make announcement in x-hoppers broadcast to users of specific Departments only. For this:
Create a CURL request that triggers a message to the required department
Example:
Code Block |
---|
curl -X POST --header 'Authorization: Bearer {token}'
https://{pbx domain}/api/v1/Originate -d
'channel=Local/999@myDialplan&application=System&async=true' -d
'variable=dst=777,dept=Sales,msg=help required at checkouts' |
Where:
999 = the Dialplan rule that processes the request; you can set a custom number.
dst = the rule in the outgoing Dialplan of users that should receive the announcement
dept = department name
msg = the announcement, a text prompt or a path to an audio file stored on the PBX
Note: msg and dept values can be wrapped in double quotation marks (“)
Create rule 999 (you can set a custom number) and call the following script in that rule:
Code Block |
---|
Custom app :: System(data_engine_cli OriginatePlayback ${dst} '${dept}' '${msg}') |
3. Create a Dialplan rule with dst number (this can be any number that is not occupied by a user or by another real destination, e.g. 111 or 777) in the outgoing users Dialplan(s). If users have different Dialplans, the rule with dst number should be created in each of them (or it can be added as an included procedure). Configuration:
Code Block |
---|
Set :: Language :: en (this one is needed for TTS processing)
Set(sound=${SHELL(/usr/sbin/data_engine_cli GetSound ${CALLERID(num)})})
Play sound :: ${sound} |
Important: In case of changing Department name, make sure to reload PBX engine to apply the changes:
...
present both basic and advanced scenarios to showcase the system's capabilities. Basic scenarios involve scanning QR codes or using tablets and utilizing x-bees for gathering and posting content, while advanced scenarios showcase integration with Veesion and ChatGPT, taking communication to the next level.
Tip |
---|
To showcase tablet scenarios, you do not need to have an actual tablet, you can use a web version by using the link:
|
Joining the broadcast
The broadcast is the core functionality of x-hoppers, it refers to the network created by the system that enables real-time communication between x-hoppers users (retail assistants).
x-hoppers users are connected to the broadcast in Retail mode (muted) by default once W-AIR Headsets are lifted from the charging cradle.
Speaking
To start speaking in the broadcast, use one of the options:
Call button: press and hold the button to get unmuted. You stay unmuted only while pressing the button. When the button is released, the Headset goes back to mute
Mute button: press the button to unmute and be able to speak in the broadcast. All people in the broadcast can hear you. You stay unmuted till Mute button is pressed again or till the Headset is placed to the Charger
Muting
To mute/ unmute the broadcast:
Double-press Call button
By default, audio from the broadcast gets muted for 60 seconds
To unmute the broadcast before the timeout, double-press Call button again
The default 60 seconds timeout can be customized. For instructions, check x-hoppers Admin Guide (see the section “Modifying the timeout of broadcast mute”).
Managing calls
It is also possible to manage incoming and outgoing calls while being connected to the broadcast. Once a call ends, the Headset will automatically return to the broadcast.
To answer incoming calls:
Double-press Call button to answer the call
Double-press Call button to swap between the call and the broadcast
Double-press AUX Function button to finish the call
To make outgoing calls:
Open x-bees app on your device
Access the dialpad within the app
Before placing the call, select the Headset as the audio output device to ensure the call audio is routed through the Headset
Dial the desired number using the dialpad and initiate the call
Tip |
---|
Wildix desk phones can also join the broadcast, as long as they are connected to the same PBX. We suggest connecting SuperVision (specifically relevant for managers) and joining the broadcast via one of the following options:
In case you need to join several broadcasts, you can set a dedicated Function key to enter each broadcast. |
Joining the broadcasts remotely
One of the remarkable features of x-hoppers system is its ability to allow users to join any broadcast from any location using any device. By dialling into x-hoppers demonstrations line via PSTN, for example, you are presented with a menu of choices to engage with the system and join specific broadcasts, allowing for flexible and accessible participation.
To demonstrate:
Dial CLASSOUND DID from an external device
Choose one of the options from the interactive menu:
Option 1: Ring all retail assistants in Call group. By pressing 1, you initiate a broadcast to all users in a specific Call group. This option is ideal for scenarios where a general announcement or message needs to be communicated to all users simultaneously
Option 2: Hunt through Call group with Priority or Round Robin strategy. By pressing 2, you trigger a call routing mechanism that hunts through each user connected to a specific Call group in a predefined order. This option is suitable for customer care scenarios where callers need to be connected to representatives consecutively until a successful connection is established
Option 3: Call directly to a single user. By selecting 3, you directly contact a specific user, typically a manager or designated contact person. This option allows for one-on-one communication and is useful for private conversations
Option 4: Join broadcast 1. Pressing 4 enables you to join the first broadcast. This option grants the ability to participate in a specific broadcast session and communicate with all users simultaneously
Option 5: Join broadcast 2. Pressing 5 enables you to join the second broadcast, extending the capability to address a different group of users simultaneously
It is possible to make announcement in x-hoppers broadcast to users of specific Departments only. Read more in the documentation: x-hoppers Admin Guide (see the section “Make announcement to users of specific departments”)
Basic scenarios
Tip |
---|
Ensure that all demo users are connected to an audio conference set up in Dialplan (in our example, conf 2), as all audio alerts are delivered to this specific conference. |
...
x-hoppers offers a dedicated Analytics feature that provides detailed statistics about the system’s usage. By monitoring these metrics, managers can gain insights into the time distribution of retail assistants in conferences, including the total time spent, wait time, and talk time, as well as view statistics per each separate store, including the number of active users, average and total talk time and monitor the usage of help points, both tablets and QR codes. Such information can be valuable for analyzing productivity and optimizing conference management to improve efficiency.
To access x-hoppers Analytics, follow these steps:
Open x-bees and navigate to Analytics menu, Liveboards tab
Select “x-hoppers: Agents Stats” Liveboard to view Agents or Stores Stats or
Select “Demo: x-hoppers HelpPoints” Liveboard to demonstrate the usage of help points. Note, that stats for this report are artificially generated. To show the real stats per a specific PBX, select “x-hoppers HelpPoints”
Tip: To generate statistics for multiple stores, it is necessary to have multiple active conferences.
...
panelIconId | 1f4d7 |
---|---|
panelIcon | :green_book: |
panelIconText | 📗 |
bgColor | #E3FCEF |
...
time, and talk time, as well as view statistics per each separate store, including the number of active users, average and total talk time and monitor the usage of help points, both tablets and QR codes. Such information can be valuable for analyzing productivity and optimizing conference management to improve efficiency.
To access x-hoppers Analytics, follow these steps:
Open x-bees and navigate to Analytics menu, Liveboards tab
Select “x-hoppers: Agents Stats” Liveboard to view Agents or Stores Stats or
Select “Demo: x-hoppers HelpPoints” Liveboard to demonstrate the usage of help points. Note, that stats for this report are artificially generated. To show the real stats per a specific PBX, select “x-hoppers HelpPoints”
Tip: To generate statistics for multiple stores, it is necessary to have multiple active conferences.
...
Panel | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Detailed description of x-hoppers Analytics can be found in x-hoppers Analytics. |
Other options
Voice-Enabled User Authorization
Within x-hoppers, you can enable the logic of assigning W-AIR headsets to users via speech-to-text and verify their identity by voice footprint (either for all users or for users of specific Departments only).
Explore how to enable and use this feature in the documentation: How to set up Voice Authorization for x-hoppers
Push-to-talk on mobile
This option allows to send Push-to-talk messages to x-hoppers broadcast from x-bees conversation. Users can send voice messages to x-hoppers broadcast via mobile and receive broadcast messages to x-bees conversation, having them played automatically in Speaker mode.
Read more in the documentation https://wildix.atlassian.net/wiki/x/AQCIIg