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.