Bluetooth audio connectivity
Learn how to connect to Perfecto devices via Bluethooth (BT). Because this solution involves hardware configuration in a Perfecto Data Center, you need to work with Perfecto Support to implement it.
On this page:
Limitations
The following limitations apply:
-
This solution is supported in hybrid clouds only and limited to 10 devices per BT server.
-
Collisions may occur during concurrent sessions.
-
Scripts that involve injection may not work well if the devices are not connected to the same BT server.
There are no known limits in terms of connection length.
Solution outline
The audio server connects to mobile devices over BT using USB dongles. There is no limit on the number of devices a dongle can serve, but each dongle can only connect to a single device at any given time. As hardware, Perfecto uses a standard handset server (HSS) with two USB controllers. The maximum number of dongles per BT server is 10.
To reduce the probability of collisions, which may cause interference, consider setting up the hardware in an enclosure that blocks radio frequency (RF) and that includes 10 devices and 10 dongles that are isolated from other devices. The devices are connected via USB cables to an HSS server, which is situated outside the enclosure. The dongles are connected via USB cables to the BT server. Hubs may be required for the devices if the enclosure does not support enough incoming USB cables to facilitate one cable per device plus two USB cables per BT server, one for each controller. Note that this setup is only a suggestion. Different circumstances may require different configurations.
The following diagram illustrates this setup.
HSS configuration
Enabling audio streaming from the BT server requires configuration of the server's address and port in the HSS using the designated configuration variables.
Each HSS has its own BT server. It is also possible to assign multiple HSS servers to one BT server, provided the maximum number of dongles per BT server (currently 10) is not exceeded. With one dongle per mobile device and 2 devices per HSS, 10 HSS servers can be configured to work with one BT server. If the number of devices exceeds the number of dongles, the server cannot support all the devices concurrently, which may be acceptable if the number of concurrent devices is not expected to exceed the number of dongles. Each HSS reports to the MCM the address of the BT server with which it works, and so no further configuration is needed.
BT server configuration
The BT server configuration requires the creation of a designated user with administration privileges via sudo.
The installation process of the BT server involves copying the required jars, python scripts, shell scripts, and other files to the abserver
directory. The server creates the required subdirectories automatically, with the exception of the conf
directory.
The upgrade procedure is similar to the installation procedure. After upgrading, the server requires a restart. Any existing BT connections are resumed after the upgrade.
Pair a device
The BT server supports an HTTP command for pairing. The command requires that at least one dongle not be in use. However, because the upper layers do not support this command yet, it is best to perform this task from the command line, from the abserver
directory, when the BT server is down.
<deviceId>
is the ID of the device as it appears in the UI and <btId>
is the Bluetooth address of the device.
-
Make sure that the server is running.
-
Make sure that there is at least one free HCI device. You can do this by going to
http://<server address:server port>/listHci
with your favorite browser. - Open the device in the Perfecto UI.
-
Make sure that the device is disconnected, as follows:
From the
abserver
directory, execute the following command:Copysudo ./disconnect <btId>
-
Make sure that the device is not paired, as follows:
From the
abserver
directory, execute the following command:Copysudo ./unpair <btId>
-
To pair the device, execute the following command from the
abserver
directory:Copy./pair.sh <btId>
- When the confirmation popup appears on the device, confirm the pairing.
-
Connect the device to the BT server, as follows:
From the
abserver
directory, execute the following command:Copy./connect.sh <deviceId> <btId>
-
From the
abserver
directory, execute the following command:Copysudo ./unpair <btId>