The Jabra Software Development Kit for JavaScript is an SDK targeted at developers implementing a solution which utilizes Jabra USB devices. The SDK consists of documentation, sample applications, and the library and software components needed.
The library provides device discovery and low-level HID communication as a base, and optional modules which can be used to streamline specific user needs (e.g. softphone, telemetry, etc.).
"Softphone" is short for "software phone" and denotes an app used for making voice calls, for example Zoom or Microsoft Teams.
By using this library, you can synchronize the states between your software product and Jabra headsets. As an example, let's assume your solution is a softphone product. While in a call or meeting, pressing a mute icon in your UI should mute the device and show an indication that the device is muted. By pressing the mute button on the device, the softphone will synchronize the state and update the user interface and show a muted icon. This functionality is also known as Call control.
The main functionality is to provide APIs that enables developers to:
- retrieve information about connected Jabra devices. A subscription for device attach/remove events can be made to find the devices that you can use during the lifetime of your software product.
- setting devices states like In-a-call, Muted, Call-held, Ringing.
- receiving incoming signals from devices.
An important detail that the library supports out of the box is the synchronization across multiple softphones which are using the same device simultaneously. Without this, end-users would experience confusing behavior when multiple softphones react to device interactions.
When using this library, the name of your softphone will be shown in Jabra Direct, if installed. Jabra Xpress administrators will also get telemetry of the usage of your softphone.
Behind the scenes, call control is implemented using USB HID and proprietary Jabra device communication. Handling audio is not part of this library. Typically, a softphone will implement a configuration user interface, where the user can select the sound card used for audio and the device used for state synchronization.
#
Documentation#
OverviewThis document.
#
Getting started (Web app)This describes how you get started with the library for a web app. It also includes detailed information on how you can set up a system.
#
Getting started (NodeJS based app)This describes how you get started with the library for a Node.js application. Typically, this would be an Electron app.
#
Call control tutorialHere, the details for call control management are described.
#
FAQ#
Can I integrate this SDK into the softphone I am developing?This SDK is suitable for developers working on a softphone that:
- is implemented as a traditional Web app using JavaScript or TypeScript.
- is implemented as an Electron app.
- is implemented using a framework similar to Electron that uses NodeJS for their main business logic.
#
What platform does this SDK support?The following platforms are supported:
- Microsoft Windows 10, 64-bit
- Microsoft Windows 8, 64-bit and 32-bit
- MacOS 11.02
- MacOS 10.15
- Linux (Ubuntu) 20.04, 64-bit
- Linux (Ubuntu) 18.04, 64-bit
[Note] This SDK does not support mobile platforms nor React Native and similar.
#
Which browsers are supported?#
Which devices are supported?All devices from Jabra from the professional lines. I.e.:
- Jabra Evolve
- Jabra Evolve2
- Jabra Engage
- Jabra Speak
- Jabra Biz
- Jabra Link Dongles
Devices that are Bluetooth connected must use the provided dongle.
#
How can I get support?#
Next stepsDepending on the target platform, follow the Getting Started in Node or the Getting Started in the Browser guides.