Scroll export button | ||||||||
---|---|---|---|---|---|---|---|---|
|
...
Device | BackOffice | HelperHopper | SalesFloorHopper | SalesFloorHopper + AI | SuperHopper + AI | |
---|---|---|---|---|---|---|
Ideal for: | For SIP devices | Administration and support users who don't face customers | Customer care, contact center, users who need access to integrations | Retail assistants who work on the shop floor | Retail assistants who work on the shop floor | Managers and supervisors |
Free minutes for outbound calls | 100 min | 3000 min | 3000 min | 3000 min | 3000 min | 3000 min |
SMS included | 100 sms | 200 sms | 1000 sms | 1000 sms | 1000 sms | 1000 sms |
Chats and videoconferencing | ➖ | ✅ | ✅ | ✅ | ✅ | ✅ |
Using x-bees apps | ➖ | ✅ | ✅ | ✅ | ✅ | ✅ |
Adding guests to conversations | ➖ | ➖ | ✅ | ✅ | ✅ | ✅ |
Integrations | ➖ | ➖ | ✅ | ✅ | ✅ | ✅ |
Personal contact-me link, meeting scheduler, website widget | ➖ | ➖ | ✅ | ✅ | ✅ | ✅ |
Website widget setup | ➖ | ➖ | ➖ | ➖ | ➖ | ✅ |
Max number of devices / calls | Up to 1 device / 2 calls | Up to 10 devices / 4 calls | Up to 10 devices / 8 calls | Up to 10 devices / 8 calls | Up to 10 devices / 8 calls | Up to 10 devices / 8 calls |
Contact center events logging | ➖ | ➖ | ✅ | ✅ | ✅ | ✅ |
DECT headset included | ➖ | ➖ | ➖ | ✅ | ✅ | ➖ |
Internal broadcast channel | ➖ | ➖ | ➖ | ✅ | ✅ | ➖ |
Customer service powered by AI prompts | ➖ | ➖ | ➖ | ➖ | ✅ | ✅ |
Wallboard and analytics | ➖ | ➖ | ➖ | ➖ | ➖ | ✅ |
Note | ||
---|---|---|
Note:
|
...
The Headset is automatically deactivated and can’t receive calls while charging.
Activation
1.
...
To configure Retail mode on your PBX, open a ticket with our Technical Support team and our x-hoppers architects will help you with the setup.
Note |
---|
Note: To see if Retail mode is activated, you can check the following parameters in the [wildixair] section of the /rw2/etc/provision.conf file:
|
2. Set up multicell DECT Network
You need to install and provision W-AIR Base stations and set up a multicell W-AIR DECT network. For detailed information and instructions on how to plan and configure multicell network, check this guide: W-AIR Network Admin Guide - Sync over LAN.
3. Register headsets
...
Set up multicell DECT Network
You need to install and provision W-AIR Base stations and set up a multicell W-AIR DECT network. For detailed information and instructions on how to plan and configure multicell network, check this guide: W-AIR Network Admin Guide - Sync over LAN.
2. Register headsets
Before headsets can be assigned to specific users, they need to be registered to W-AIR Base Station.
...
- Put the Headset in the registration mode by pressing Call, Volume+ and Volume- buttons at the same time for more than 5 seconds. When the Headset is in registration mode, the LED indicator blinks with short blue flashes and a voice prompt announces “Registering”.
The Headset connects to the Base Station. When the Headset is subscribed, the voice prompt announces “Headset subscribed”.
Note Note: If the registration fails, the voice prompt announces “Headset not subscribed”. Before trying to register the Headset again, please check if it is within range of W-AIR Base station and the voice prompt announces “Registering”.
- To check if the Headset is registered to the Base station, go to W-AIR Base Station web interface -> Extensions. If the registration is successful, the device appears in the list of available extensions with the state SIP Registered@RPN00
...
3. Assign headsets to PBX users
Assigning via WMS
Headsets can be assigned to users via the W-AIR devices tab in WMS, where you can find the list of all x-hoppers headsets:
...
Note |
---|
Documentation: WMS Start Guide: Devices management. |
Assigning via Speech-to-text
x-hoppers allows to configure the logic of assigning headsets to users via speech-to-text, so that staff can take the headset from charger, pronounce their names and automatically get assigned to the headset.
Note |
---|
Note: The support starts from WMS Beta 6.05.20240119.1. |
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 |
---|
# 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 |
Make sure to reload systemd and restart the service to apply the changes:
Code Block |
---|
# systemctl daemon-reload # systemctl restart pbx-data-engine |
Note |
---|
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, it gets unassigned. When a user lifts the headset from the charger:
- 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
Each time the headset is placed into the charger, it gets unassigned and gets Service license type in the system.
Note |
---|
Important: For the feature to start working on the headsets, follow one of the following procedures: a) 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. b) Alternatively, before performing the upgrade and activating the feature, unassign headsets via WMS (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 button first. |
Enable user verification by voice
Also, you can configure the logic of verifying users' identity by voice 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. This eliminates the risk of user logging in under a different name.
See instructions for below:
Note |
---|
Note:
|
1. Install the specific libraries to enable verification of identity by voice using the following command:
Code Block |
---|
pip install librosa |
2. Set up a Dialplan to allow employees leave their voice footprints in the system, which will later be used for verification.
You can download the Dialplan example here: x-hoppers_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.
Note |
---|
Note: Each new employee should follow the procedure first, before trying to log in to the headset, as in case user voice footprint is missing in the system, authorisation will not be allowed. |
2. 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 pronounce the phrase “My voice is my password“ and to say their first and last name to complete voice recognition.
Note |
---|
Note: Starting from WMS 6.07, instead of first and last name users can pronounce their extension during verification by voice. |
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.
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 |
...
When dummy users are configured, and a user fails to complete verification by voice, the headset gets automatically assigned to an available dummy user.
Enable Voice Verification for Specific Departments
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.
Customize prompts used during voice verification
Starting from WMS 6.07, 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:
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 verification, when a user needs to wait till the headset joins the conference:
Code Block |
---|
XHOPPERS_FINISH_PROMPT=your custom prompt |
5. Configure Dialplan
Modify the users dialplan as follows:
...
Enter *Wairhotline*
Note |
---|
Note: It is the value which is dialled by the headset in the Retail mode. This value is default and should not be changed. |
...
- Set -> Language -> choose language
- Play sound -> click Browse (three dots) and choose the sound to be played on joining the broadcast or create it dynamically using TTS, for example Welcome to x-hoppers, joining the broadcast
- Conference -> enter the conference room ID number. This can be any number, e.g. 1, 2, 3, etc.
...
Joining the Broadcast from Other Devices
Wildix desk phones can also join the broadcast, as long as they are connected to the same PBX. There are two options:
- A user should dial the feature code for Conference access (98 by default) + the conference room number. Example: 981 for conference room number 1.
- Alternatively, a Dialplan can be configured so that when users dial a certain number, e.g. 333, the call is automatically put into the broadcast.
Note |
---|
Documentation: Dialplan Applications - Admin Guide. |
Make Announcement to Users of Specific Departments
Starting from WMS 6.07, it is possible to make announcement in x-hoppers broadcast to users of specific Departments only.
- Create a CURL request that triggers a message to the required department.
Example:
...
4. Configure Dialplan
Modify the users dialplan as follows:
- Click Add number
Enter *Wairhotline*
Note Note: It is the value which is dialled by the headset in the Retail mode. This value is default and should not be changed.
- Add the below Dialplan applications:
- Set -> Language -> choose language
- Play sound -> click Browse (three dots) and choose the sound to be played on joining the broadcast or create it dynamically using TTS, for example Welcome to x-hoppers, joining the broadcast
- Conference -> enter the conference room ID number. This can be any number, e.g. 1, 2, 3, etc.
Note |
---|
Documentation:Dialplan Applications - Admin Guide. |
Joining the Broadcast from Other Devices
Wildix desk phones can also join the broadcast, as long as they are connected to the same PBX. There are two options:
- A user should dial the feature code for Conference access (98 by default) + the conference room number. Example: 981 for conference room number 1.
- Alternatively, a Dialplan can be configured so that when users dial a certain number, e.g. 333, the call is automatically put into the broadcast.
Note |
---|
Documentation: Dialplan Applications - Admin Guide. |
Make Announcement to Users of Specific Departments
Starting from WMS 6.07, it is possible to make announcement in x-hoppers broadcast to users of specific Departments only.
- 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' |
...
Note |
---|
Note:
|
...
Record in-store conversations (listen in CDR-View)
Starting from WMS 6.03.20230630.3, it is possible to record in-store conversations and listen them via CDR-View. The recording starts when user unmutes himself in the conference and begins talking.
Conversations recording is also required if you wish to transcribe in-store conversations and post content to x-bees channel (setup instructions available in further section of this guide).
To enable the functionality:
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:
...
this guide).
To enable the functionality:
create directory /etc/systemd/system/pbx-data-engine.service.d
/override.conf [Service] ExecStart= ExecStart=/usr/sbin/pbx_data_engine.py --daemon --mode calls presence -crReload systemd and restart the service to apply the changes: # systemctl daemon-reload # systemctl restartCode Block Code Block # mkdir /etc/systemd/system/pbx-data-engine
Note Note: Reloading systemd is required each time you make any changes to the .service.d
Add the following key to the file:
Once enabled, the recording of in-store conversations get displayed in the CDR-View. Recording starts when a user unmutes themselves in the conference and starts talking.Code Block # nano-tiny /etc/systemd/system/pbx-data-engine.service.d/override.conf
file.
Note |
---|
Current limitations:
|
Post content to x-bees channel
Use case 1: Veesion integration
When there is an alert from Veesion, the relevant message, containing alert type, date, time, camera IP, ID of the camera and group, as well as video attachment, is sent to x-bees conversation.
Documentation: x-hoppers integration with Veesion
Use case 2: Transcribe all in-store conversations
It is possible to transcribe the content of x-hoppers conference (everything that was said during the day) and post it to x-bees conversation (both the transcription and the audio recording of each piece of the conversation). The transcription is posted on behalf of the users that were talking at a given moment.
Warning |
---|
Important: Make sure you've also set up recording of the in-store conversations (see the "Record in-store conversations (listen in CDR-View)" section of this guide. |
How to configure
...
Create x-bees conversation with all the users that are participating in the x-hoppers conference and also needed managers.
...
Copy x-bees conversation ID (available in the URL of the conversation)
Add the following data to the /rw2/etc/pbx/x-hoppers.json file:
Code Block |
---|
[
{
"store_veesion_id": "test-store-wildix",
"name": "Store1",
"audio_conf_id": "2",
"location": "Odesa",
"xbees_channel_id": "f6d17593-98b6-471d-941a-cd03153f",
"veesion_user_extension": "12345"
}
]
|
...
- store_veesion_id (optional): ID of the store on the Veesion side. Applicable if there is Veesion integration.
- name: name of the store
- audio_conf_id: ID of the audio broadcast channel in x-hoppers where the communication takes place
- location: location of the store
- xbees_channel_id: ID of the x-bees conversation, copied in step 2, where the content will be posted.
- user: user, on behalf of whom the content will be posted (applicable for Veesion integration)
When the feature is enabled, whatever is told in the conference is automatically transcribed and displayed in x-bees conversation, so managers could monitor what was discussed in the conference.
Note |
---|
Note: If user talks for more than 60 seconds without a pause, the message is not transcribed. |
How to increase volume for noisy environments
Note |
---|
Note: The support starts from WMS Beta 6.03.20230601.1. |
In case of noisy environment, you can increase x-hoppers volume. To do this, add the following parameters to the section [default_bridge] of the file /etc/callweaver/confbridge.conf:
Code Block |
---|
default_listening_volume=6 |
...
ChatGPT Integration
ChatGPT integration with x-hoppers can enhance customer support and information sharing, allowing to ask questions and instantly receive answers. Powered by ChatGPT, x-hoppers processes the questions and generates the response based on its knowledge base, which is then played back to the user through the broadcast channel.
Note |
---|
Currently, users are limited to asking one question. To ask another question, Headset should be put into the Charger and then lifted again. This restarts the interaction and allows users to ask a new question. Alternatively, user has to double-press the AUX Function button. |
How to set up
...
Set -> Language -> choose language
...
Speech to text -> insert Please unmute and say question for Chat GPT, or wait to join the broadcast or any customized text
...
Jump to if -> "${RECOGNITION_RESULT}"="question" -> select ChatGPT procedure
...
Play sound -> click Browse (three dots) and choose the sound to be played on joining the broadcast or create it dynamically using TTS, for example Welcome to x-hoppers, joining the broadcast
...
How to use
For the current development stage, users are limited to asking one question. To ask another question, Headset should be put into the Charger and then lifted again, which restarts the interaction and allows to ask a new question. Alternatively, user has to double-press the AUX Function button.
- User asks a question (e.g. Could you compare and contrast the following two products: an Asus Vivobook 15 and a Samsung Galaxy Book 3? Is the discontinued EXPEDIT series compatible with KALLAX? etc.)
- x-hoppers, powered by ChatGPT, processes the question and generates an appropriate response based on its knowledge base
- The response is then played back to the headset
[Service] ExecStart= ExecStart=/usr/sbin/pbx_data_engine.py --daemon --mode calls presence -cr
Reload systemd and restart the service to apply the changes:
Code Block # systemctl daemon-reload # systemctl restart pbx-data-engine
Note Note: Reloading systemd is required each time you make any changes to the /etc/systemd/system/pbx-data-engine.service.d/override.conf file.
Once enabled, the recording of in-store conversations get displayed in the CDR-View. Recording starts when a user unmutes themselves in the conference and starts talking.
Note |
---|
Current limitations:
|
Post content to x-bees channel
Use case 1: Veesion integration
When there is an alert from Veesion, the relevant message, containing alert type, date, time, camera IP, ID of the camera and group, as well as video attachment, is sent to x-bees conversation.
Documentation: x-hoppers integration with Veesion
Use case 2: Transcribe all in-store conversations
It is possible to transcribe the content of x-hoppers conference (everything that was said during the day) and post it to x-bees conversation (both the transcription and the audio recording of each piece of the conversation). The transcription is posted on behalf of the users that were talking at a given moment.
Warning |
---|
Important: Make sure you've also set up recording of the in-store conversations (see the "Record in-store conversations (listen in CDR-View)" section of this guide. |
How to configure
Create x-bees conversation with all the users that are participating in the x-hoppers conference and also needed managers.
Copy x-bees conversation ID (available in the URL of the conversation)
Add the following data to the /rw2/etc/pbx/x-hoppers.json file:
Code Block [ { "store_veesion_id": "test-store-wildix", "name": "Store1", "audio_conf_id": "2", "location": "Odesa", "xbees_channel_id": "f6d17593-98b6-471d-941a-cd03153f", "veesion_user_extension": "12345" } ]
Where:- store_veesion_id (optional): ID of the store on the Veesion side. Applicable if there is Veesion integration.
- name: name of the store
- audio_conf_id: ID of the audio broadcast channel in x-hoppers where the communication takes place
- location: location of the store
- xbees_channel_id: ID of the x-bees conversation, copied in step 2, where the content will be posted.
- user: user, on behalf of whom the content will be posted (applicable for Veesion integration)
When the feature is enabled, whatever is told in the conference is automatically transcribed and displayed in x-bees conversation, so managers could monitor what was discussed in the conference.
Note |
---|
Note: If user talks for more than 60 seconds without a pause, the message is not transcribed. |
How to increase volume for noisy environments
Note |
---|
Note: The support starts from WMS Beta 6.03.20230601.1. |
In case of noisy environment, you can increase x-hoppers volume. To do this, add the following parameters to the section [default_bridge] of the file /etc/callweaver/confbridge.conf:
Code Block |
---|
default_listening_volume=6 |
Where 6 is the preferred volume. The maximum value is 10. The default value for both parameters is 0.
Other features
ChatGPT Integration
ChatGPT integration with x-hoppers can enhance customer support and information sharing, allowing to ask questions and instantly receive answers. Powered by ChatGPT, x-hoppers processes the questions and generates the response based on its knowledge base, which is then played back to the user through the broadcast channel.
Documentation: How to set up ChatGPT for x-hoppers
Voice authorization
x-hoppers allows to configure voice authorization for assigning headsets to users. When enabled, the system compares the voice of the user with user voices previously saved in the system and in case of a match, allows authorisation, eliminating the risk of user logging in under a different name.
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 How to configure and use Push-to-talk for x-hoppers
Macrosuite divider macro | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...