C API Reference — SDK for Windows
Overview

Jabra SDK V2 provides access to interactions with Jabra devices. The purpose is to allow application developers access to all features available on attached Jabra devices.

• Call Control for making and answering phone calls, as well as putting calls on hold, muting, etc.

• Video Features for camera devices.

• Device Settings: Allows to view and change settings of the attached Jabra devices.

• Device detection and other events that allows an application to install receive notification when something is detected by the SDK.

• Remote Call control (RCC) : Allows to perform remote call control functionalities

  1. Get and set HID reports to and from the attached Jabra device
  2. Answer and End Call
  3. Mute and Unmute Call
  4. Ring indication
  5. Hold and Resume Call
  6. Manual Audio

• Get device serial number, battery status if supported by the device

• Button configuration (legacy button takeover and remote MMI)

• Child device support with Link360, Link370

• Busy light indication

• Concurrency support for multiple applications of SDK

• Co-existence with Jabra Direct

• Device events logging

• Device firmware update

• Log File Size and backup

• Dongle and child device seperation

Basic SDK and wrappers

The SDK core is created as a C++ library with a C function interface. This library is available both on Windows, MacOS, and Linux. The C functions are named with the prefix Jabra_ to ensure they do not clash with other function names. The typical Jabra_Function takes a device id as the first parameter.

However, to allow the SDK to be easily used in other languages, wrappers have been made to make the C interface accessible in C#, JavaScript, and others. These wrappers typically have a more object oriented approach, where each device is represented by an instance of an interface (IDevice). The operations are then transformed to be available on the device instance, and does therefore not take a device id as parameter.

This documentation describes both the core level API and the wrappers. In general the most throughout information on an operation is in the core documentation, but there are links between the equivalent core and wrapper functions to allow easy access to both.