gnaudio / jabra-browser-integration Goto Github PK
View Code? Open in Web Editor NEWJavaScript library to control a Jabra headset from a browser
Home Page: https://www.npmjs.com/package/@gnaudio/jabra-browser-integration
License: MIT License
JavaScript library to control a Jabra headset from a browser
Home Page: https://www.npmjs.com/package/@gnaudio/jabra-browser-integration
License: MIT License
Hello! I tried using the jabra JS library to add some functionality to our internal app.
Functions like ring() or onHook/offHook() work fine, however I cannot get setBusyLight() to work on its own.
When calling the function, I get the following error in the console:
Uncaught (in promise) CommandError: Command setbusylight failed with error message setbusylight and details: [["returnErrorCode",3],["errormsg","setbusylight failed"],["command","setbusylight"],{"deviceID":"0"},{"activeDevice":true}]
at initState.eventCallback (http://domain/jabra.browser.integration-2.0.js:405:53
Is is possible to make this work with a Jabra 9485 base station?
Hi
Do you have any plans to build/support Jabra device actions by relying on WebUSB?
This would remove the necessity to install any software and would be platform agnostic.
Thx & BR
So could be merged in with the question for #37 but any chance of Chrome OS support down the road?
Take a look at this:
https://gnaudio.visualstudio.com/jabra-browser-integration/_build/results?buildId=4049
[error]src\chromehost\logger.cpp(4,0): Error C1083: Cannot open include file: 'unistd.h': No such file or directory
Once you have fixed this - I will continue completing the Windows build on Azure Devops
Issue: My headset is in offHook state. I repeatedly click microphone button and expect to receive mute -> unmute event sequences. Instead I get only mute events and unmutes are ignored (but the device gets correctly unmuted and light indicator on the device is also always in the right state). I also managed to get to a situation where situation was opposite and only unmute events were received.
Devices: JABRA Evolve Link, JABRA Handset 450
I can replicate this with both mentioned devices in my app as well as with the hosted version of this repo (https://gnaudio.github.io/jabra-browser-integration/beta/test/)
Possible source of the issue: My Chrome extension says it's incomplete and needs update but updating or removing & adding it again doesn't help either.
It's great that you've uploaded the package to npm.
Do you have plans to release a non-beta version soon?
I'm asking because the latest release is a 5 month old beta version
Hello
i would like to handle multiple calls; when they arrive i add the JSSIP session id in an array,
when one of them are terminated, i need to switch from that session id to another
to be able to control it with the Jabra buttons, but i do not know how to map
jabra() with a particular session id. How can i do that?
Thanks in advance and greetings
We ae using Jabra Evolve 20.
We integrate successfuly. Thorugh Amzon Jabra Integration also Done.
But we are not getting Chart graph in our site. Also in your demo site
also.
I did Amazon Jabara Integration as per your Documentation. But When I
was try with your demo link. In that Chart Graph of voice background
not display. Some JS error is displyed. SO can you please sort it out
what was the issues and how to resolve this.
Hi,
I need to use the jabra-browser-integration extension with another chrome extension.
I saw on this chrome doc that the listening extension must use runtime.onMessageExternal
but jabra extension doesn't support it.
I would like to know if the cross-extension functionality will be planned or if another way exists (without a personal fork of the jabra extension).
Thanks you.
When I press the button on the headset nothing happens, but when i press the button twice, I get a reject event.
The headset should be updated to latest version (4.7.0)
Can you confirm?
Hey, at the end it shouldn’t be very hard to port it to Firefox right?
Hi!
I've been having trouble getting this to work with an electron client.
The main problem seem to be that electron hasn't implemented the chrome.runtime API, creating some conflicts with the chrome web extension when connecting to the native application and sending messages, for example:
// background.js L:61
...
port = window.chrome.runtime.connectNative(hostName);
...
// content-script L:40
...
window.chrome.runtime.onMessage.addListener(...);
...
Is there any solution for gettings this to work with electron, or any thoughts about this?
🙂
Hello,
I'm building a browser application with WebRTC softphone and I want to use this library to integrate Jabra headset functionality like answer and hangup.
I'm using npm for managing all my packages for compiling/bundling and other web frameworks and libraries.
It would be great if you could upload this library to npm so I don't have to manually update when you update.
Thank you
Are there any plans for Linux support? I tried the Chrome extension in Ubuntu 19.04, but it just sends me in a loop saying the extension isn't installed (even though it installed correctly).
Hi, are there any plans to integrate with Google Meet? I tried this out with a Jabra Link 260, but doesn't work. But then, is this something the Meet team would have to integrate? My employer is migrating from WebEx to Meet, and the integration is great in WebEx.
Looking at rolling this out at PGG call centre, currently we use Jabra9450. What versions of Chrome does it not play nice with (we are all win10, ver 76 or thereabouts with Chrome). Are there any known issues with integration when Chrome updates itself?
Hello?
Hello,
i'm developing a webapp using Jabra Browser Integration, it works fine; i can do all the actions but one: if i call from a softphone to my app, i get the new call incoming and fire jabra.ring(), so that Jabra headset starts to blink but if i try to simulate rejection by hanging down the phone before answering, the reject event is not invoked.
I use
jabra.addEventListener("reject", (event) => {
console.log("jabra reject call");
jabra.onHook();
});
but it is never called.
I've seen in the source code that the event should be "reject" even if in the docs i've seen rejectCall (that, anyway, does not work)
Can you help me, please?
Thanks in advance and greetings
Hello,
We've been having some issues with unexpected endcalls from the Jabra integration and I stumbled across this #51
In the issue you mention that version 3 was due for early 2020 and contained a lot of bugfixes. Are there any more information on these bug fixes, and when can we expect version 3?
I click button on headphone jabra. This button is used to hold call, I successful in holding a call. After, I test function "jabra.hold()" in jabra sdk web browser but instead of hold call, this function made end call . How to me can solved this issue . I use soft-phone avaya ix .
A fast sequence of hold/resume/hold/resume/... causes the device to report an unexpected endcall event.
I've implemented resume/hold as described in:
https://github.com/gnaudio/jabra-browser-integration/blob/master/docs/hold-resume-from-device.png
This log file contains the problem - this event is unexpected:
2019-11-28 14:27:21.895 INFO [39220] [HeadsetIntegrationService::Event@750] Event: endcall
The log file contains hold/resume operations initiated from our application, so there are no flash events. But the problem can be reproduced by responding to the flash events too.
(Jabra SPEAK 410 USB does not have this problem)
Flow diagrams like (https://github.com/gnaudio/jabra-browser-integration/blob/master/docs/old/hold-resume-from-device.png) are mising for v2.0.
Hi, I was unable to find anything in the docs about this. We are using the Jabra Stealth headsets and everything is working well. We were hoping we can pass the caller id to the device (when it rings right now it says "Call from PC").
If this is possible, can you point me to the documentation?
Thank you!
Hello,
We're receiving unexpected endcall events from what seems to be the Chromehost
chrome_chromehost.txt
chrome_console.txt
I attached files from the Chrome extension background script and the chromehost logs.
Remarks:
We're running Chromehost 2.0.1-2 and api version 2.0
Hello,
with an Engage 75 I never get the unmute event.
I also try with your test webpage, same issue.
I have only this issue with this event, other event like mute, reject, accept ... are OK
BR
Laurent
With the version "Chromehost 2.0 (3CX only)" we have the problem that some Jabra dongles randomly start blinking when you accept a call or not. To stop the flashing you have to uninstall the device driver in the device manager of the headset completely and let it install again.
When i want to end a Call via the physical headset button, the 3CX Browser Extension says: "Error: Can't answer when state 9"
With version 2.0.2. of the Jabra Chrome Host it does work as intented. Only while using version 2.1.0 this error occurs.
I use BT cloud work (which is basically ring central i think). It asked me to download this msi to link my headset to the call app. It now works, I can attend and disconnect calls etc from my headset.
I cant find anywhere to do settings to mute background media when a call comes in?
Does the Jabra Browser Integration work with the Jabra Busylight?
If not, do you have any plans to implement it?
Hello, i'm integrating your lib in my webrtc web app and it works great.
I have only an issue: when the user clicks the mute button, it switches on, but i do not get any event in jabra.addEventListener(), i have tried to handle all events listed in source code.
It works fine with active call, but not if the user wants to mute the microphone even if the call is not active.
Is it the expected behavior or can it be solved?
I am currently using Jabra BIZ-2300
Thanks in advance and greetings
Hi there! Im using jabra-browser-integration in my web application and all works fine for me.
For electron application, Im using your node module https://www.npmjs.com/package/jabra.
I'm trying to add code sample into my electron app:
const jabra = require('jabra')('myId');
jabra.on('attach', (device) => {
console.log(device);
const retCode = device.lock();
});
So device:
Device {
_events: {},
_eventsCount: 0,
_maxListeners: undefined,
deviceID: 0,
productID: 769,
vendorID: 2830,
ESN: '00014A627742',
deviceName: 'Jabra EVOLVE 20',
errorStatus: 0,
connectionType: 0,
isDongleDevice: false,
isInFirmwareUpdateMode: false,
usbDevicePath: '/tmp/VID2830_PID769_LOCID342097920',
variant: '01-1D',
dongleName: null,
parentInstanceId: 'NOT SUPPORTED ON MAC',
connectionId: undefined,
parentDeviceId: undefined,
_isMuted: false,
_isOffHooked: false,
_isOnHold: false,
_isRinging: false,
_isTranslatedEvent: false,
getImagePathPromise: null,
getImageThumbnailPathPromise: null,
imagePath: null,
imageThumbnailPath: null,
isBatterySupported: null }
As I see from this object - 'NOT SUPPORTED ON MAC' and also device.lock() is undefined for me. Any idea what I'm doing wrong ? Thanks!
Environment: MacO High Sierra Version, 10.13.6
We are developing 2 apps (web app and desktop electron app). When those 2 apps are open on user pc and user receive a call ---> call acceptance leads to acceptance and rejection of the call (call duration 1-2 seconds). Any idea how it could be solved ?
is there a chance to get the Linux-SDK-Binary updated?
The current source can not be compiled against the old library.
Unable to call anything.
Always retuns errorcode 3.
error object: { "data": { "activeDevice": true, "deviceID": "0", "returnErrorCode": "3" }, "error": "Unable to set ringer" }
Receiving event from content script: {"apiClientId":"taaq8s6ab","data":{"activeDevice":true,"deviceID":"0","returnErrorCode":"3"},"error":"Error: Unable to set ringer","message":"na","requestId":"5","direction":"jabra-headset-extension-from-content-script"} Got error: Error: Unable to set ringer
The Your browser needs https for lookup to work
check should accept requests made from localhost
, see https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia#privacy_and_security and https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts
A secure context is, in short, a page loaded using HTTPS or the file:/// URL scheme, or a page loaded from localhost.
Hello, i'm trying to implement integration with Jabra Motion Office MS ENG Pack. The problem is that the headset model works on Windows 8.1, but doesn't work on Windows 10 both in combination with 'Jabra Browser Integration' - Google Chrome Extention.
The error is:
VM129:2831 Error: You need to install the <a href='https://github.com/gnaudio/jabra-browser-integration#native-chromehost-downloads'>Jabra Browser Integration Host </a> and reload this page at initState.eventCallback (jabra.js?ba80bd7d667…2e406094ad89134:420)
It is confusing, because the extention is added. Please help! :)
I opened a ticket with Jabra Support and they told me to post in the Github forum. I'm assuming the meant developer forum, but provided a link to github. I have created a ticket in the developer site too, but wanted to post this here as well.
We have about 70 Jabra Evolve 40 Headsets in our call center. They are on the latest firmware from March. We are running the Jabra desktop software and browser extension. We use these in Genesys PureCloud with WebRTC stations.
We have a handful of users losing their audio profiles in PureCloud and for a couple, this is a daily issue and happens mid call. We turned on extension logging, but I'm not really sure what to look for. We are seeing the following, which may come from the extension or PureCloud:
17:21:56.208 stash-logger.js:388 Jabra event unknown or not handled {event: "Event: jackConnection"}
17:21:56.212 stash-logger.js:388 Jabra event unknown or not handled {event: "Event: busylight"}
After further investigation, I enabled the DriverFrameworks-UserMode event log and was able to see the following message and others related to it "Received a Pnp or Power operation".
To me, this looks like the puck is the problem and this is not specific to PureCloud or any software, since we are seeing an OS level USB event. The appears to just randomly and temporarily drop.
Please let me know what you think and where to post this if I'm in the wrong for trying to get help here.
Thanks,
Daniel
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.