Appearance
Transport mode for web apps
This section is relevant for Browser apps only
For web applications, running directly in Chrome, Edge or another Chromium based web browser, you need to consider the transport mode used to communicate with Jabra devices.
Always choose "Chrome extension with WebHID fallback transport" when initializing the SDK
As mentioned previously, we strongly recommend that you choose "Chrome extension with WebHID fallback transport" when initializing the SDK. This way, the SDK automatically selects the optimal transport based on whether End-user components are installed on the end user's PC or not.
The SDK can use either "WebHID" or "Chrome Extension" transport mode for web apps. To check which transport mode is currently used:
js
switch (jabraSdk.transportContext){
case TransportContext.WEB_HID: console.log('Using WebHID transport'); break;
case TransportContext.CHROME_EXTENSION: console.log('Using Chrome Extension transport'); break;
default: break;
}WebHID transport mode
This means that the Jabra SDK uses the browser's native WebHID API to communicate with Jabra devices. WebHID requires no installed software and therefore works across any desktop version of Chrome/Edge or other Chromium based browsers.
WebHID requires end user consent to access a headset device controls, similar to how access to microphone or camera requires consent. The WebHID consent dialog can only be triggered by an end user interaction, such as clicking a button. Consent is persisted in the browser, so end users only need to consent once per Jabra device in your web app. See Device added/removed for example on how to trigger WebHID consent dialog.
WebHID policies
To avoid the end-user consent dialogue, an IT administrator can use Chrome/Edge administrator policies to allow access to Jabra headsets from defined URLs. Please see: Chrome WebHID policyEdge WebHID policy
Example policy for Chrome on Windows, allowing all Jabra devices (vendor ID 2830) - replace www.example.org with the URL of the app you want to grant access, and save as a .reg file - then open .reg file to test policy:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Policies\Google\Chrome]
"WebHidAllowDevicesForUrls"="[ { \"devices\": [ { \"vendor_id\": 2830 } ], \"urls\": [ \"https://sdk.jabra.com\", ] }]"WebHID limitations
While the SDK generally ensures that multiple softphones can have Jabra call control integrations co-exist without conflicts, part of this protection against softphone conflicts cannot work only with WebHID. Additionally, features around device connections, properties, and button customization do not work through WebHID on all Jabra devices.
By installing the End-user components device communication will be handled through the Jabra Device Connector application which resolves these limitations.
If a customer of your softphone run into conflicts with other softphones accessing the headset, please instruct your customer to install the End-user components.
Chrome Extension transport mode
If End-user components are installed, your web app will automatically use the Chrome Extension transport mode. In this transport mode the SDK sends messages to/from the browser extension. The extension then uses native messaging to communicate with the Jabra Device Connector application. The Jabra Device Connector application has full access to all Jabra device features, and manages conflicts between multiple softphones using the Jabra headset, at the same time.