SDK for JavaScript

Introduction

The SDK for JavaScript is the successor of the SDK for Browser and SDK for Node.js.

It can be used for:

  • Web Applications running in browsers
  • Desktop Applications written in Node.js

Notable improvements are:

  • Option to use WebHID in Chromium-based browsers
  • Available on Windows, macOS, and Linux, with native support for Apple M1-based systems
  • New modular architecture that allows Jabra to quickly adapt, expand, and bugfix the libraries

Supported Platforms

Operating Systems

The latest release of this SDK was tested on:

Operating System Tested on
Windows 11 Intel 64-bit
Windows 10 Intel 64-bit
macOS 12 - Monterey Intel 64-bit, Apple M1
macOS 11 - Big Sur Intel 64-bit, Apple M1
Ubuntu 20.04 Intel 64-bit
Chrome OS 94 Intel 64-bit

Browsers

Supported browsers for the Web Application are:

  • Google Chrome
  • Microsoft Edge

Each release is tested on the latest version of each browser.

Integration Options

You have three different options when integrating with Jabra SDK for JavaScript:

Type of Application Client Software
Web Application with Device Connector - Device Connector
- Browser Extension
Web Application with Web HID None
Desktop Application with Node.js - Device Connector

Client Software is provided by Jabra:

  • Device Connector connects the operating system to the Jabra device
  • Browser Extension connects the browser to the Device Connector

WebHID

The architecture of WebHID is functionally limited:

  • It supports only Call Control
  • For wireless devices, only the USB connected dongles and desk stands will be available
  • Call Control works for wireless devices, but it will be the name of the dongle/desk stand that is displayed

Known Issues

Knows issues for the current version of Jabra SDK for JavaScript are:

  • Webpack doesn't pack the console app properly for Nodejs apps (e.g. Electron)
    • Error message: UnhandledPromiseRejectionWarning: Error: Cannot find native console app. Please make sure you have installed the SDK correctly.
    • Possible work-around: Adding externals: ["@gnaudio/jabra-js/node-cjs"] to the Webpack config file fixes the issue in certain situations
  • Jabra Speak 410 (UC version) and Jabra Speak 510 (UC version) are not recognized on Chrome OS
  • On Linux, when using the Jabra Device Connector – Browser Extension, the Easy Call Control modules sometimes interpret reject call signals from wireless devices as accept call

Known Limitations

Knows limitations for the current version of Jabra SDK for JavaScript are:

  • Organization key and app name do not support UTF-8
    • The only supported character set is ASCII
  • Caveats with multiple connection paths to a device (e.g. headset connected both through USB cable and USB Bluetooth dongle)
    • Call lock interference between applications using jabra-js and other libraries
      • There are cases in which call locking a child device simultaneously in both jabra-js and older Jabra libraries is possible. This may lead to interference in operation of the device in the two applications if trying to use the device simultaneously

Prior Knowledge

Working with this software greatly benefits from a basic understanding in:

Feel free to read the linked documentation before you start your implementation.

Downloads

Current Versions

  Version Generation Last Updated  
Jabra SDK for JavaScript (Library Package) 4.2.1 Gen.3 Oct 2022 npmjs.com
Jabra Device Connector (Windows) 1.0.0 Gen.3 Oct 2021 Download
Jabra Device Connector (macOS) 1.0.3 Gen.3 Oct 2022 Download
Jabra Device Connector (Linux) 1.0.0 Gen.3 Oct 2021 Download
Jabra Device Connector (Browser Extension) 1.1.7 Gen.3 Mar 2023 Google Web Store

Legacy Versions

  Version Generation Last Updated  
SDK for JavaScript (Library Package) 4.2.0 Gen.3 Oct 2022 npmjs.com
SDK for JavaScript (Library Package) 4.1.2 Gen.3 Mar 2022 npmjs.com
Device Connector (macOS) 1.0.0 Gen.3 Oct 2021 Download