3 The Software Development Kit

Software Development Kits (SDKs) enable the integration of digital functions such as call control in Jabra devices. The SDKs are available as:

  • SDK packages for Windows, macOS, and Linux integration
  • NPM packages on NPM and GitHub for Node.js and browser integration

Jabra Integration Components are available from our Integration Components page where you can also find links to NPM packages.

For integration with Google Chrome and Microsoft Edge, and for the SDK libraries to work, end-users must install the Jabra ChromeHost helper application for headset communication and the Jabra Browser Integration extension.

You can download them from the Browser Integration Component page.

The content of the SDKs varies depending on the platform you are using, but they all contain the following:

  • A demo application and its source code
  • Documentation
  • Libraries

The demo application serves as an example on how to use the SDK libraries. For more details, refer to the embedded documentation in the SDK package, where you can find User Guides, API reference files, and release notes.

3.1 The Application Programming Interface

The Application Programming Interface (API) for native applications in Windows, macOS, and Linux, consists mainly of:

  • A range of direct function calls
  • A set of callback services
  • A set of data structures
  • Enumerated values for parameters and commands

The API is implemented by a library that can be distributed free of charge with your application.

3.2 Synchronous and asynchronous function calls

The functional interface of the API in the Jabra SDKs has both direct (synchronous) functions and callback (asynchronous) functions.

  • Synchronous functions are generally used when communicating from the application to the device
  • Asynchronous functions are used for reporting signals from the device to the application

This guide does not elaborate on the platform-specific syntax and formats of the API.

For more details, refer to the Jabra Developer's Guide.

Moreover, the callback thread is essential to monitor the incoming signals and data from the devices, for this reason, the application must make sure that callback functions return the use of the thread as soon as possible.

Spending too much time doing other processing in the context of the library thread may result in data and signals from the device being missed by the library.