Jabra SDK for Linux 1.10.1
Revision History
Revision | Date | Description |
---|---|---|
1.0 | 2017-06-27 | Initial version |
1.1 | 2017-07-12 | Correction of paths in zip |
1.2 | 2019-01-14 | Update to match Linux SDK in general |
1.3 | 2019-09-26 | Updated library interfaces and supported devices |
1.4 | 2019-11-08 | Updated library interfaces and supported devices |
1.5 | 2020-03-26 | Updated library interfaces and supported devices |
1.6 | 2020-04-30 | Small documentation corrections |
1.7 | 2021-02-18 | Updated interfaces, features and device list |
1.8 | 2021-05-17 | Added interfaces for Video, Network and Whiteboard |
1.9 | 2021-06-30 | Updates APIs and supported devices list |
Introduction
Jabra SDK V2 is a shared object library (so), which provides C interfaces to the following functionalities in Jabra devices:
- Device settings: Allows the user to view and change the settings of the connected Jabra device.
- Remote call control (RCC) : Allows the user to perform functionalities using the connected Jabra device such as:
- Send and receive HID reports to and from the device.
- Answer and end calls.
- Mute and unmute calls.
- Receive ringtone for incoming calls.
- Hold and resume calls.
- Manually control the audio.
- Getting the serial number and battery status, if supported by the device.
- Check for firmware updates, download firmware and initiate firmware updates for supported devices.
- Button configuration (button takeover and remote MMI).
- Child device support with Jabra Link 360/370/380.
- Busylight indication.
- Concurrency support for multiple applications of SDK, including Jabra SDK V1 based applications.
Abbreviations and acronyms
Acronym | Description |
---|---|
API | Application Programming Interface |
HID | Human Interface Device |
SDK | Software Development Kit |
IDE | Integrated Development Environment |
USB | Universal Serial Bus |
RCC | Remote Call Control |
MMI | Man Machine Interface |
SDK installation
The Jabra Linux SDK release consists of a zip archive containing the following top level directories:
- Demo – demo GUI application with source code.
- Doc – user's guide and release notes.
- Library – shared object libraries and header files required for development.
- Readme text file.
To unzip the zip archive execute:
unzip JabraLibLinux.zip
The directory contains the following assets:
Assets | Description |
---|---|
doc/readme.txt | Provides general information on Jabra SDK V2. |
doc/ReleaseNotes.txt | Release information. |
doc/User Guide.html | User guide - how to use the SDK from C/C++. |
library/[dist]/[arch]/libjabra.so.[version] | Jabra SDK shared library for [dist] and [arch]. |
library/headers/JabraNativeHid.h | Header file defining the RCC APIs. |
library/headers/JabraDeviceConfig.h | Header file defining the dynamic setting APIs. |
library/headers/errorcodes.inc | List of errorcodes. Used by Common.h. |
library/headers/returncodes.inc | List of return codes. Used by Common.h. |
library/headers/Common.h | Header file defining the common interfaces used across Jabra SDK V2. Also #includes Interface_*.h header files. |
library/headers/Interface_*.h | Header file(s) containing interfaces related to a specific feature. |
demo/[dist]/JabraDemo | Demo application. |
demo/src/JabraDemoQt | Demo application source code (Qt Creator project). |
[dist] is Linux distribution, e.g. Ubuntu
[arch] is processor architecture, e.g. 64-bit
[version] is SDK version, e.g. 1.0.11.1
Supported Jabra devices
See the release notes include in the SDK package for an updated list of supported devices.
Prerequisites
The prerequisites for the SDK are:
A few external dependencies are required to use the library. These can be installed like this:
sudo apt update
sudo apt install libcurl4 libasound2
To run the pre-built JabraDemo program, these are also required:
sudo apt install libqt5gui5 qt5-default
Udev rules
To be able to communicate with Jabra devices with non-root privileges it is required to create a udev rule for Jabra devices. Place the udev rule in /etc/udev/rules.d, and follow naming guidelines for udev files. The contents of the file are:
ATTRS{idVendor}=="0b0e", MODE="0666", GROUP="users"
After creating the udev file (as root), reload the udev rules using:
sudo udevadm control --reload
Reattach your Jabra device it order to get new permissions assigned.
Developing an application using Jabra SDK V2
System requirements
- Recommended Linux distribution: Ubuntu 18.04 or 20.04 LTS (64-bit)
- Qt Creator: Required for working with the demo source code.
- Network connection
Notice that of this release, 32-bit distributions are no longer supported.
Target system requirements
To support the Jabra_UploadRingtone()
API, the SDK requires the ffmpeg program to be installed on the end user’s machine. If the ffmpeg program is not installed, ringtone upload will fail.