Jabra SDK for Linux 1.9.0

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

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

The following Jabra devices are supported by the SDK:

  • AudioCodes HRS 457
  • DELL PRO STEREO HEADSET UC150
  • DELL PRO STEREO HEADSET UC350
  • HP UC Wired Headset V2
  • Jabra BIZ 1100 Mono
  • Jabra BIZ 1100 Stereo
  • Jabra BIZ 1500 USB Duo
  • Jabra BIZ 1500 USB Mono
  • Jabra BIZ 2300 USB Duo
  • Jabra BIZ 2300 USB Mono
  • Jabra BIZ 2400
  • Jabra BIZ 2400 II CC USB Mono MS
  • Jabra BIZ 2400 II CC USB Mono UC
  • Jabra BIZ 2400 II CC USB Stereo
  • Jabra BIZ 2400 II USB BT Duo MS
  • Jabra BIZ 2400 II USB BT Duo UC
  • Jabra BIZ 2400 II USB BT Mono MS
  • Jabra BIZ 2400 II USB BT Mono UC
  • Jabra BIZ 2400 USB MS Duo
  • Jabra BIZ 2400 USB Mono
  • Jabra BIZ 2400 USB UC Duo
  • Jabra DIAL 550
  • Jabra Engage 50 Mono
  • Jabra Engage 50 Stereo
  • Jabra Engage 65 Convertible
  • Jabra Engage 65 Mono
  • Jabra Engage 65 Stereo
  • Jabra Engage 75 Convertible
  • Jabra Engage 75 Mono
  • Jabra Engage 75 Stereo
  • Jabra Evolve 20 Mono
  • Jabra Evolve 20 Stereo
  • Jabra Evolve 20SE Mono
  • Jabra Evolve 20SE Stereo
  • Jabra Evolve 30 II Mono
  • Jabra Evolve 30 II Stereo
  • Jabra Evolve 30 Mono
  • Jabra Evolve 30 Stereo
  • Jabra Evolve 40/80
  • Jabra Evolve 65 Mono
  • Jabra Evolve 65 Stereo
  • Jabra Evolve 65e
  • Jabra Evolve 65t
  • Jabra Evolve 65t Cradle
  • Jabra Evolve 75
  • Jabra Evolve 75e
  • Jabra Evolve2 30 Mono MS
  • Jabra Evolve2 30 Mono UC
  • Jabra Evolve2 30 Stereo MS
  • Jabra Evolve2 30 Stereo UC
  • Jabra Evolve2 40 Mono MS
  • Jabra Evolve2 40 Mono UC
  • Jabra Evolve2 40 Stereo MS
  • Jabra Evolve2 40 Stereo UC
  • Jabra Evolve2 65 Deskstand
  • Jabra Evolve2 65 Mono MS
  • Jabra Evolve2 65 Mono UC
  • Jabra Evolve2 65 Stereo MS
  • Jabra Evolve2 65 Stereo UC
  • Jabra Evolve2 85 Deskstand
  • Jabra Evolve2 85 MS
  • Jabra Evolve2 85 UC
  • Jabra Handset 450
  • Jabra LINK 230
  • Jabra LINK 260
  • Jabra LINK 265
  • Jabra LINK 280
  • Jabra LINK 30
  • Jabra LINK 32
  • Jabra LINK 33
  • Jabra LINK 360
  • Jabra LINK 370
  • Jabra LINK 370 Teams
  • Jabra LINK 380a
  • Jabra LINK 380a MS
  • Jabra LINK 380c
  • Jabra LINK 380c MS
  • Jabra LINK 43
  • Jabra LINK 44
  • Jabra LINK 850
  • Jabra LINK 860
  • Jabra LINK 950
  • Jabra MOTION UC
  • Jabra Motion Office
  • Jabra Panacast 20
  • Jabra Panacast 20 No Audio Stream
  • Jabra Panacast 50 MS
  • Jabra Panacast 50 UC
  • Jabra Pro 920
  • Jabra Pro 925 Dual Connectivity
  • Jabra Pro 925 Single Connectivity
  • Jabra Pro 930
  • Jabra Pro 935
  • Jabra Pro 935 Single Connectivity
  • Jabra Pro 9450
  • Jabra Pro 9460
  • Jabra Pro 9465/9470
  • Jabra SPEAK 410
  • Jabra SPEAK 450 Cisco
  • Jabra SPEAK 510
  • Jabra SPEAK 710 MS
  • Jabra SPEAK 710 Teams
  • Jabra SPEAK 710 UC
  • Jabra SPEAK 750 Teams
  • Jabra SPEAK 750 UC
  • Jabra SPEAK 810
  • Jabra STEALTH UC
  • Jabra SUPREME
  • Jabra SUPREME UC
  • Jabra Stealth
  • Jabra UC VOICE 150a Duo
  • Jabra UC VOICE 150a Duo MS
  • Jabra UC VOICE 150a Mono
  • Jabra UC VOICE 150a Mono MS
  • Jabra UC VOICE 250
  • Jabra UC VOICE 250 MS
  • Jabra UC VOICE 250a
  • Jabra UC VOICE 250a MS
  • Jabra UC VOICE 550a BT
  • Jabra UC VOICE 550a BT Mono
  • Jabra UC VOICE 550a Duo
  • Jabra UC VOICE 550a Duo MS
  • Jabra UC VOICE 550a Mono
  • Jabra UC VOICE 550a Mono MS
  • Jabra UC VOICE 750 Mono USB
  • Jabra UC VOICE 750 Mono USB MS
  • Jabra UC VOICE 750 USB
  • Jabra UC VOICE 750a Duo
  • Jabra UC VOICE 750a Duo MS
  • Jabra UC VOICE 750a Mono
  • Jabra UC VOICE 750a Mono MS
  • Lenovo Pro Wired Stereo VoIP Headset
  • Mitel Engage 50 stereo UC
  • Mitel Engage 65 stereo
  • Mitel Evolve 75
  • Mitel Evolve2 stereo UC
  • Mitel S720
  • NXT Technologies HUB
  • NXT Technologies UC-2000 Stereo Headset
  • NXT Technologies UC-4000 Mono Headset
  • NXT Technologies UC-4000 No Headset
  • NXT Technologies UC-4000 Stereo Headset
  • NXT Technologies UC-5100
  • NXT Technologies UC-7000 Stereo Professional Headset
  • NXT Technologies UC-7500 Mono
  • NXT Technologies UC-7500 Stereo
  • USB2 Jabra Engage 75

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.