x-hoppers Admin Guide
This guide explains how to configure x-hoppers – Wildix wireless headset solution that allows fast and easy communication for retail stores.
Created: May 2022
Updated: September 2024
Permalink: https://x-hoppers.atlassian.net/wiki/x/AQAt
- 1 Introduction
- 2 Requirements
- 2.1 Licensing
- 3 x-hoppers Headset Overview
- 4 Activation
- 5 Joining the Broadcast from Other Devices
- 6 QR code system
- 6.1 Use cases
- 6.2 How to set up
- 7 Click and collect setup
- 8 Gather and post x-hoppers content to x-bees channel
- 9 How to increase volume for noisy environments
- 10 How to modify the timeout of broadcast mute
- 11 How to enable battery level announcement
- 12 Other features
Introduction
x-hoppers is a solution for individual and chain retail stores, that provides an active channel to colleagues and support anywhere in the store, connects clerks and increases in-store conversions. The solution is built on DECT (Digital Enhanced Cordless Telecommunications) technology, linked to a full communications system in the Cloud. Fully wireless x-hoppers headsets let clerks easily communicate with each other as well as receive calls.
x-hoppers users are connected to a broadcast, in Retail mode (muted) by default. If any user wants to talk in the broadcast, they just need to press a button to unmute themselves. Besides, users can accept incoming calls, after which they return to the broadcast.
Also, x-hoppers offers an integrated QR code system, which can provide store clerks with instant buyer alerts and lets you gather analytics on customer engagement. The system logs each occasion of scanning a QR code by customer. To set up the QR code system, you need to create dedicated pages on your web server, each page devoted either to a category of products or a separate product. Then, generate QR code for each of these pages, print and attach them wherever required in the store, letting customers request for assistance right on the spot. See more in the “QR code system” section of this guide.
Requirements
An x-hoppers system on WMS 6
W-AIR DECT Network components: W-AIR Base stations and repeaters. Amount depends on the store area and the number of users
Some points to consider before deploying x-hoppers infrastructure:
How much bandwidth is available on the site for the headsets
G711 uses about 80 kbps. Every time a headset is lifted off the cradle, there is an audio stream from the headset to the Base station and from the Base station to the PBX.
Is there a benefit in using Hardware PBX as a Proxy to connect to base stations
If Hardware or Virtual PBX is on the same subnet as the Base stations, you can proxy through the PBX to the Base stations and access them easily. Another benefit for Hardware PBX: e.g. if the internet goes down, and there is a hardware PBX, x-hoppers still continues working.
Licensing
x-hoppers licenses can be ordered in Wildix Partner Community. The following licenses are available:
| 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:
Before WMS 6.04.20230920.1:
You need to assign "Business" license to all the users who need "x-hoppers-SalesFloorHopper" and "x-hoppers-SalesFloorHopper_AI" licenses.
Possibility to assign all types of x-hoppers licenses on PBX for each single user is coming soon.Starting from WMS 6.04.20230920.1:
The relevant licenses can be assigned to users via WMS -> Users -> Edit user -> License type field. See more in PBX Licensing and Activation - Admin guide (section "Assign correct license type to each user").
Current limitation: Users that have x-hoppers-HelperHopper / x-hoppers-SalesFloorHopper + AI licenses, need to be assigned x-hoppers-SalesFloorHopper license in WMS.
x-hoppers Headset Overview
1 - Microphone
2 - Mute button
3 - Call button
4 - Volume- button
5 - LED Indicator
6 - AUX Function button (Power On)
7 - Volume+ button
8 - Speaker
LED indicators overview
Color | LED indication | Status |
Green | Short blink followed by long blink | Power Up |
Fast short blink, repeated | Incoming call | |
Single short blink. Notification of call only via audio in HS | 2nd incoming call, call active | |
Single short blink | In call | |
Long blink | Battery charging | |
Steady on | Battery charging, full | |
Red | Long blink followed by short blink | Power Down |
Fast, short blink | Low battery | |
Steady on | Battery charging, low battery | |
Long blink | Registration failed | |
Single short blink repeated slow | Idle, out of range | |
Blue | Short blink repeated fast | Registration, ongoing |
Long blink | Registration completed | |
Single short blink repeated slow | Idle, connected | |
Purple | Steady on | Menu |
| None | Deregistered |
Multi-Сharger overview
Multi-Сharger consists of 6 chargers connected in parallel with a 5V/ 4A power supply and can simultaneously charge up to 6 headsets.
1 - Charging pins
2 - Charger connection
Using the charger
When charging a Headset for the first time, it is necessary to leave it in the Multi-Charger for at least 10 hours before the battery is fully charged, and the Headset is ready for use.
For correct charging, ensure that the room temperature is between 5°C and 45°C / 41°F and 113°F. Do not place the Headset in direct sunlight when charging.
The Headset is automatically deactivated and can’t receive calls while charging.
Activation
1. 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”.
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:
Go to WMS -> Devices -> W-AIR devices
Choose the headset and click Assign to user
Enter user extension and click Save.
Assigning headset to a different user
Choose the headset on the W-AIR devices tab -> click Assign to user
Enter a different extension and click Save.
Starting from W-AIR firmware v 650b2, headsets get the following pre-configured settings:
Retail Mode: On
Audio feedback: Voice
Silent charging: On
Silent mode: Off
Deassigning a headset
Choose the headset on the W-AIR devices tab -> click Assign to user
Select “unknown” in the Extension field and click Save
4. Configure Dialplan
x-hoppers headsets dial two different strings:
*Wairhotline*: dialled when the headset is removed from the cradle
*wair*: dialled automatically to bring the headset to the broadcast in other cases e.g. after receiving a call, when using AI Assistant
Modify the users dialplan as follows to include both dial strings:
Click Add number
Enter *Wairhotline*
Add the below Dialplan applications:
Set -> Codecs -> choose alaw
(optional) Set -> Tags -> enter tag name, e.g. hotline
Tags allow to monitor data in CDR-View, e.g. what time the headset was in use, when taken off the cradle, when left the broadcast.Set -> Music on hold -> choose silence
In case you don’t set Music on hold silent, when there is only one person in the broadcast, there would be the default music on hold instead of silence.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.
Click Add number
Enter *wair*
Add the below Dialplan applications:
Set -> Codecs -> choose alaw
(optional) Set -> Tags -> enter tag name, e.g. wair click
Set -> Music on hold -> choose silence
In case you don’t set Music on hold silent, when there is only one person in the broadcast, there would be the default music on hold instead of silence.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.
QR code system
Use cases
QR code for each product
Have a separate web page for each of the products and want customers to get to that exact page when scanning the QR code? Then, this option is just for you. Attach QR code next to each product, which customers can scan and get to the page with the product description.
QR code for a category of products
If you have a huge store, rather than attaching QR code to every single product, you can opt for using one QR code for a category of products. In this case, you can place the code in each row in your store, to be easily found by customers.
In either of the above scenarios, once QR code is scanned, clerks are instantly notified which exact product or product category a customer is interested in and can provide any necessary assistance and guidance. Moreover, you can collect statistics (e.g. via Google Analytics) on which product QRs were scanned and how many times, which allows you to analyze customer engagement and make weighted decisions.
Additionally, on the product web page you can place a Kite button, letting customers contact clerks or back office via chat, audio or video call.
How to set up
Generate a call
We provide SDK (REST APIs), which can be used to set up call generation when someone scans the code. So for this part, you need a web developer, who would configure the relevant POST and CURL requests for each QR code.
Configure Dialplan
On the Dialplan side, you need to configure the call to be sent to the broadcast with clerks. The call should be accompanied with notification via our Text-to-speech feature, to inform clerks which page was scanned/ where in the store assistance is required. QR codes require separate Dialplan entries.
Click and collect setup
Click and collect functionality speeds up and simplifies the process of processing the orders made online. When customers with online orders come to the store, they just need to enter their order ID number on a dedicated tablet. The staff is immediately notified in the conference that the relevant order number is there to collect.
To configure click and collect functionality:
Create a Dialplan rule e.g. clickcollect
Add number default:
Add Verify number of calls application, enter 1 for the max number of active calls and select the relevant procedure
Add application Play sound and enter the text that should be pronounced in the conference, e.g. Order number ${text} has arrived to collect the order
Add number wait with the following applications:
Custom application with parameter Wait(3)
Jump to application with the procedure clickcollect
Example of CURL request:
curl -u admin:admin_password -X POST 'https://xhoppersdemo.wildixin.com/api/v1/Originate' --data-urlencode "channel=Local/conf*1@pbxservices" --data-urlencode "context=clickcollect" --data-urlencode "priority=1" --data-urlencode "exten=s" --data-urlencode "variable=text=124" --data-urlencode "callerid=1"
Gather and post x-hoppers content to x-bees channel
It is possible to configure recording of in-store conversation, with possibility to listen to it in CDR-View, as well as post x-hoppers broadcast content to x-bees channel.
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
# mkdir /etc/systemd/system/pbx-data-engine.service.d
Add the following key to the file:
# nano-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
Reload systemd and restart the service to apply the changes:
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.
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: https://x-hoppers.atlassian.net/wiki/x/AYAj
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.
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:
Where:
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, copied in step 2, where the content will be posted.
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.
How to increase volume for noisy environments
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:
Where 6 is the preferred volume. The maximum value is 10. The default value for both parameters is 0.
How to modify the timeout of broadcast mute
Starting from WMS 6.06.20240315.1, users have possibility to mute the broadcast by double-pressing the Call button. By default, the broadcast gets muted for 60 seconds. If user wants to unmute the broadcast before the 60-second timeout, user can double-press the Call button again.
The default timeout can be customized. To do this:
Add the following line to the file /etc/systemd/system/pbx-data-engine.service.d/override.conf:
Where 120 is the custom timeout. If you want to disable the timeout, set the value to 0:
Reload systemd and restart the service to apply the changes:
How to enable battery level announcement
In case of using voice authorization (documentation: How to set up Voice Authentication for x-hoppers), the announcement about battery level is played by default. If you don’t use voice authorization, but want to play the announcement, you can configure it via Dialplan:
Add Set application -> battery_level -> ${CURL(http://127.0.0.1:5060/v1/wair_battery_level/?ua=${BASE64_ENCODE(${SIP_HEADER(User-Agent)})})}
Add Custom application -> ExecIf($["${battery_level}"=""]?Set(battery_level=unavailable))
Add Play sound application -> Battery level is ${battery_level}
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: https://x-hoppers.atlassian.net/wiki/x/GgAU
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: https://x-hoppers.atlassian.net/wiki/x/AwAU
Push-to-talk for mobile
The feature allows to send Push-to-talk messages to x-hoppers broadcast from mobile.
Documentation: https://x-hoppers.atlassian.net/wiki/x/AYAx
Make announcements to users of specific Departments
In case you need to make announcement in the broadcast to users of specific Departments only, check out the guide How to Make Announcement to Users of Specific Departments
x-hoppers integration with Veesion
x-hoppers supports integration with Veesion, software that allows to detect thefts in real time, by analysing video feeds and sending real time alerts when suspicious behaviour is detected.
Documentation: https://x-hoppers.atlassian.net/wiki/x/AYAj
x-hoppers integration with Flic buttons
By integrating x-hoppers with Flic, it is possible to use the Flic button as a help point trigger. When the button is pressed, broadcast users receive an audible alert indicating that assistance is needed at a particular location, which allows to promptly handle the customer's support requests.
Documentation: How to set up x-hoppers integration with Flic