Versions Compared

Key

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

Scroll export button
scopecurrent
template-id0fa09813-8b86-460a-aa1d-ef450a80e9ce
quick-starttrue
add-onScroll PDF Exporter

Info

This guide explains how to configure Retail mode for x-hoppers – Wildix wireless headset solution that allows fast and easy communication for retail stores.

Created: May 2022

Updated: February April 2024

Permalink: https://wildix.atlassian.net/wiki/x/QB-OAQ

Other documentation: x-hoppers User Guidex-hoppers datasheet, x-bees documentation

...


DeviceBackOfficeHelperHopperSalesFloorHopperSalesFloorHopper + AISuperHopper + AI
Ideal for: For SIP devicesAdministration 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 floorRetail assistants who work on the shop floorManagers and supervisors
Free minutes for outbound calls100 min3000 min3000 min3000 min3000 min3000 min
SMS included100 sms200 sms1000 sms1000 sms1000 sms1000 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 / callsUp to 1 device / 2 callsUp to 10 devices / 4 callsUp to 10 devices / 8 calls

Up to 10 devices / 8 calls 
(max 2 calls on DECT headset) 

Up to 10 devices / 8 calls
(max 2 calls on DECT headset)

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:

  • Before WMS Beta 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 Beta 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").

    Warning

    Current limitation: Users that have x-hoppers-HelperHopper / x-hoppers-SalesFloorHopper + AI licenses, need to be assigned x-hoppers-SalesFloorHopper license in WMS.


...

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:

  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

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

  • The support starts from WMS Beta 6.06

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 

Image ModifiedWhen the feature is enabled, upon lifting the headset, users are prompted to say their name and surname. 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.


5. Configure Dialplan 

Modify the users dialplan as follows: 

  1. Click Add number
  2. 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.


  3. 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. 

Image Modified

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. 

Image Modified


Note

Documentation: Dialplan Applications - Admin Guide.

Modifying the timeout of broadcast mute

Starting from WMS Beta 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:

1. Add the following line to the file /etc/systemd/system/pbx-data-engine.service.d/override.conf: 


Code Block
# vi /etc/systemd/system/pbx-data-engine.service.d/override.conf

Environment='UNHOLD_TIMEOUT=120' 


Where 120 is the custom timeout.
 If you want to disable the timeout, set the value to 0:

Code Block
Environment='UNHOLD_TIMEOUT=0' 

2. Reload systemd and restart the service to apply the changes:

Code Block
# systemctl daemon-reload
# systemctl restart pbx-data-engine


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. 

Note

Kite documentation: Wildix WebRTC Kite - Admin Guide - English.

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.

Note

Documentation: Developer Documentation.


Note

Note: To protect the system from spam, you may set up CAPTCHA on your website before the call is initiated. 

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. 

Note

Documentation: Dialplan applications - Admin Guide.

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:

  1. Create a Dialplan rule e.g. clickcollect
  2. 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
  3. Add number wait with the following applications:
    • Custom application with parameter Wait(3)
    • Jump to application with the procedure clickcollect

Image Modified

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 & Post content to x-bees channel

Note

Note:

  • The support starts from WMS 6.03.20230630.3. 
  • The feature works only if there is an x-hoppers license available on the PBX.


Warning

Important: For correct work of the features of gathering and posting content to x-bees channel, a correct email has to be set up for all the users in the 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:

  1. create directory /etc/systemd/system/pbx-data-engine.service.d

    Code Block
    # mkdir /etc/systemd/system/pbx-data-engine.service.d


  2. Add the following key to the file: 

    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


  3. 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:

  • Recording is not automatically stopped if user forgets to mute the headset.
  • For a new user who joins the conference, recording is automatically started even if the user is muted, and the recording file of about 3 seconds is saved on the PBX.

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

  1. Create x-bees conversation with all the users that are participating in the x-hoppers conference and also needed managers.

  2. Copy x-bees conversation ID (available in the URL of the conversation)

  3. 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.

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 

  1. In WMS, navigate to Dialplan menu -> Dialplan rules tab
  2. Download and import the "ChatGPT" Dialplan procedure.bkp required for ChatGPT Integration
  3. Modify the users Dialplan by adding the following Dialplan applications under Set -> 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" -> ChatGPT procedure

      Image Modified

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.

  1. 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.)
  2. x-hoppers, powered by ChatGPT, processes the question and generates an appropriate response based on its knowledge base
  3. The response is then played back to the headset


Macrosuite divider macro
dividerTypetext
dividerWidth70
emoji{"id":"smile","name":"Smiling Face with Open Mouth and Smiling Eyes","short_names":["smile"],"colons":":smile:","emoticons":["C:","c:",":D",":-D"],"unified":"1f604","skin":null,"native":"😄"}
textColor#000000
dividerWeight2
labelPositionmiddle
textAlignmentcenter
iconColor#0052CC
fontSizemedium
textNot finding the help you need? Join the Facebook group to ask a question!
emojiEnabledfalse
dividerColor#DFE1E6
dividerIconbootstrap/CloudsFill

Button macro
buttonTextFacebook
isButtonShadowOntrue
emoji{"id":"smile","name":"Smiling Face with Open Mouth and Smiling Eyes","short_names":["smile"],"colons":":smile:","emoticons":["C:","c:",":D",":-D"],"unified":"1f604","skin":null,"native":"😄"}
buttonBorderColor#4267b2ff
buttonColor#4267b2ff
buttonNewTabfalse
buttonFontColor#ffffff
buttonSizemedium
buttonIconColor#ffffff
buttonWidthDetection46
buttonHoverColor#ffffff
buttonIconfont-awesome/FacebookSquare
buttonTypeicon_left
buttonLink{"link":"https://www.facebook.com/groups/wildixtechwizards","source":"direct"}
buttonNewLink
buttonRadius3
buttonShadow0
id228
emojiEnabledfalse
buttonWidth20