softphone-vendor-headsets 2.5.1 → 2.5.2-develop.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. package/dist/cjs/src/library/services/headset.js +3 -1
  2. package/dist/cjs/src/library/services/headset.js.map +1 -1
  3. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js +21 -0
  4. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js.map +1 -1
  5. package/dist/cjs/src/library/services/vendor-implementations/vbet/vbet.d.ts +6 -14
  6. package/dist/cjs/src/library/services/vendor-implementations/vbet/vbet.js +109 -303
  7. package/dist/cjs/src/library/services/vendor-implementations/vbet/vbet.js.map +1 -1
  8. package/dist/cjs/src/library/services/vendor-implementations/vbet/vbet.test.js +818 -473
  9. package/dist/cjs/src/library/services/vendor-implementations/vbet/vbet.test.js.map +1 -1
  10. package/dist/deploy-info.json +3 -3
  11. package/dist/es/src/library/services/headset.js +3 -1
  12. package/dist/es/src/library/services/headset.js.map +1 -1
  13. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js +21 -0
  14. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js.map +1 -1
  15. package/dist/es/src/library/services/vendor-implementations/vbet/vbet.d.ts +6 -14
  16. package/dist/es/src/library/services/vendor-implementations/vbet/vbet.js +109 -303
  17. package/dist/es/src/library/services/vendor-implementations/vbet/vbet.js.map +1 -1
  18. package/dist/es/src/library/services/vendor-implementations/vbet/vbet.test.js +820 -475
  19. package/dist/es/src/library/services/vendor-implementations/vbet/vbet.test.js.map +1 -1
  20. package/dist/softhphone-vendor-headsets.js +3 -3
  21. package/dist/softhphone-vendor-headsets.js.map +1 -1
  22. package/package.json +82 -79
@@ -9,20 +9,68 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  };
10
10
  import { VendorImplementation } from '../vendor-implementation';
11
11
  import { isCefHosted } from '../../../utils';
12
- const HEADSET_USAGE = 0x0005;
13
- const HEADSET_USAGE_PAGE = 0x000b;
14
- const VENDOR_ID = 0x340b;
15
- const BT100USeries = [0x0001];
16
- const CMEDIASeries = [0x0020, 0x0022];
17
- const DECTSeries = [0x0014];
12
+ import { webhidConsent, DeviceSignalType, findDevice } from '@vbet/webhid-sdk';
18
13
  export default class VBetService extends VendorImplementation {
19
14
  constructor() {
20
15
  super(...arguments);
21
16
  this._deviceInfo = null;
22
- this.deviceCmds = null;
23
- this.inputReportReportId = null;
24
- this.lastByte = 0;
17
+ this.activeDevice = null;
25
18
  this.vendorName = 'VBet';
19
+ this.processBtnPress = (signal) => {
20
+ switch (signal) {
21
+ case DeviceSignalType.ACCEPT_CALL:
22
+ if (this.pendingConversationId) {
23
+ this.answerCall(this.pendingConversationId);
24
+ this.deviceAnsweredCall({
25
+ name: 'OffHook',
26
+ conversationId: this.activeConversationId,
27
+ });
28
+ }
29
+ else {
30
+ this.logger.error('No call to be answered');
31
+ }
32
+ break;
33
+ case DeviceSignalType.END_CALL:
34
+ if (this.activeConversationId) {
35
+ const id = this.activeConversationId;
36
+ this.endCall(id);
37
+ this.deviceEndedCall({
38
+ name: 'OnHook',
39
+ conversationId: id,
40
+ });
41
+ }
42
+ else {
43
+ this.logger.error('No call to be terminated');
44
+ }
45
+ break;
46
+ case DeviceSignalType.MUTE_CALL:
47
+ case DeviceSignalType.UNMUTE_CALL:
48
+ if (this.activeConversationId) {
49
+ this.setMute(signal === DeviceSignalType.MUTE_CALL);
50
+ this.deviceMuteChanged({
51
+ isMuted: this.isMuted,
52
+ name: this.isMuted ? 'CallMuted' : 'CallUnmuted',
53
+ conversationId: this.activeConversationId,
54
+ });
55
+ }
56
+ else {
57
+ this.logger.error('No call to be muted');
58
+ }
59
+ break;
60
+ case DeviceSignalType.REJECT_CALL:
61
+ if (this.pendingConversationId) {
62
+ this.rejectCall(this.pendingConversationId);
63
+ this.deviceRejectedCall({
64
+ name: 'Reject',
65
+ conversationId: this.pendingConversationId,
66
+ });
67
+ }
68
+ else {
69
+ this.logger.error('No call to be rejected');
70
+ }
71
+ break;
72
+ }
73
+ };
26
74
  }
27
75
  static getInstance(config) {
28
76
  if (!VBetService.instance) {
@@ -40,317 +88,99 @@ export default class VBetService extends VendorImplementation {
40
88
  const lowerLabel = label.toLowerCase();
41
89
  return ['vt', '340b'].some((searchVal) => lowerLabel.includes(searchVal));
42
90
  }
43
- setDeviceAttrs(pid) {
44
- if (BT100USeries.includes(pid)) {
45
- this.deviceCmds = {
46
- ring: [0x2, 0x2, 0x1],
47
- offHook: [0x2, 0x2, 0x3],
48
- onHook: [0x2, 0x2, 0x0],
49
- muteOn: [0x3, 0x1, 0x0],
50
- muteOff: [0x3, 0x0, 0x0],
51
- };
52
- this.inputReportReportId = 0x08;
53
- }
54
- else if (CMEDIASeries.includes(pid)) {
55
- this.deviceCmds = {
56
- ring: [0x6, 0x1, 0x0],
57
- offHook: [0x6, 0x2, 0x0],
58
- onHook: [0x6, 0x0, 0x0],
59
- muteOn: [0x3, 0x1, 0x0],
60
- muteOff: [0x3, 0x0, 0x0],
61
- };
62
- this.inputReportReportId = 0x01;
63
- }
64
- else if (DECTSeries.includes(pid)) {
65
- this.deviceCmds = {
66
- ring: [0x2, 0x2, 0x2, 0x1],
67
- offHook: [0x2, 0x1, 0x0],
68
- onHook: [0x2, 0x0, 0x0],
69
- muteOn: [0x2, 0x2, 0x1],
70
- muteOff: [0x2, 0x2, 0x0],
71
- setMode: [0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0, 0],
72
- };
73
- this.inputReportReportId = 0x01;
74
- }
75
- else if (pid >= 0x0040 && pid <= 0x0083) {
76
- this.deviceCmds = {
77
- ring: [0x6, 0x1, 0x0],
78
- offHook: [0x6, 0x2, 0x0],
79
- onHook: [0x6, 0x0, 0x0],
80
- muteOn: [0x6, 0x4, 0x0],
81
- muteOff: [0x6, 0x5, 0x0],
82
- };
83
- this.inputReportReportId = 0x05;
84
- }
85
- else {
86
- this.logger.error('not recognized device');
87
- }
88
- }
89
91
  connect(originalDeviceLabel) {
90
92
  return __awaiter(this, void 0, void 0, function* () {
91
93
  if (!this.isConnecting) {
92
94
  this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: true });
93
95
  }
94
- const deviceLabel = originalDeviceLabel.toLowerCase();
95
- const deviceList = yield window.navigator.hid.getDevices();
96
- deviceList.forEach((device) => {
97
- var _a;
98
- if (!this.activeDevice) {
99
- if (deviceLabel.includes((_a = device === null || device === void 0 ? void 0 : device.productName) === null || _a === void 0 ? void 0 : _a.toLowerCase())) {
100
- for (const collection of device.collections) {
101
- if (collection.usage === HEADSET_USAGE && collection.usagePage === HEADSET_USAGE_PAGE) {
102
- this.setDeviceAttrs(device.productId);
103
- this.activeDevice = device;
104
- break;
105
- }
106
- }
107
- }
96
+ try {
97
+ const dev = yield findDevice(originalDeviceLabel);
98
+ if (dev) {
99
+ this.activeDevice = dev;
108
100
  }
109
- });
110
- if (!this.activeDevice) {
111
- try {
112
- this.activeDevice = yield new Promise((resolve, reject) => {
113
- const waiter = setTimeout(reject, 30000);
114
- this.requestWebHidPermissions(() => __awaiter(this, void 0, void 0, function* () {
115
- const productId = this.deductProductId(originalDeviceLabel);
116
- const filters = [{ usage: HEADSET_USAGE, usagePage: HEADSET_USAGE_PAGE, vendorId: VENDOR_ID, productId: productId || undefined }];
117
- yield window.navigator.hid.requestDevice({ filters });
118
- clearTimeout(waiter);
119
- const deviceList = yield window.navigator.hid.getDevices();
120
- let bFind = false;
121
- deviceList.forEach((device) => {
122
- var _a;
123
- if (deviceLabel.includes((_a = device === null || device === void 0 ? void 0 : device.productName) === null || _a === void 0 ? void 0 : _a.toLowerCase())) {
124
- for (const collection of device.collections) {
125
- if (collection.usage === HEADSET_USAGE &&
126
- collection.usagePage === HEADSET_USAGE_PAGE) {
127
- bFind = true;
128
- this.setDeviceAttrs(device.productId);
129
- resolve(device);
130
- break;
131
- }
132
- }
133
- }
101
+ else {
102
+ const dev = yield new Promise((resolve, reject) => {
103
+ const productId = this.deductProductId(originalDeviceLabel);
104
+ const waiter = setTimeout(() => reject('The selected device was not granted WebHID permissions'), 30000);
105
+ this.requestWebHidPermissions(() => {
106
+ webhidConsent({
107
+ productId: productId ? productId : undefined,
108
+ })
109
+ .then((res) => {
110
+ resolve(res);
111
+ clearTimeout(waiter);
112
+ })
113
+ .catch((err) => {
114
+ reject(err);
134
115
  });
135
- if (!bFind) {
136
- reject();
137
- }
138
- }));
116
+ });
139
117
  });
140
- }
141
- catch (error) {
142
- this.isConnecting &&
143
- this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: false });
144
- this.logger.error('The selected device was not granted WebHID permissions');
145
- return;
118
+ this.activeDevice = dev;
146
119
  }
147
120
  }
148
- !this.activeDevice.opened && (yield this.activeDevice.open());
149
- this.logger.debug(`device input reportId ${this.inputReportReportId}`);
150
- this.activeDevice.addEventListener('inputreport', (event) => {
151
- if (event.reportId !== this.inputReportReportId) {
152
- return;
153
- }
154
- const value = event.data.getUint8(0);
155
- this.processBtnPress(value);
156
- });
121
+ catch (error) {
122
+ this.isConnecting &&
123
+ this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: false });
124
+ this.logger.error(error);
125
+ return;
126
+ }
157
127
  this._deviceInfo = {
158
128
  ProductName: this.activeDevice.productName,
159
129
  };
160
- if (this.isConnecting && !this.isConnected) {
161
- this.changeConnectionStatus({ isConnected: true, isConnecting: false });
162
- }
130
+ this.activeDevice.subscribe(this.processBtnPress);
131
+ this.changeConnectionStatus({ isConnected: true, isConnecting: false });
163
132
  });
164
133
  }
165
134
  disconnect() {
166
135
  return __awaiter(this, void 0, void 0, function* () {
167
- if (this.isConnected || this.isConnecting) {
168
- this.changeConnectionStatus({ isConnected: false, isConnecting: false });
169
- }
170
- if (this.activeDevice) {
171
- yield this.activeDevice.close();
172
- this.activeDevice = null;
173
- this._deviceInfo = null;
174
- this.inputReportReportId = 0;
175
- this.isMuted = false;
176
- }
177
- });
178
- }
179
- processBtnPress(value) {
180
- return __awaiter(this, void 0, void 0, function* () {
181
- if (!this.activeDevice) {
182
- this.logger.error('do not have active device');
183
- return;
184
- }
185
- if (BT100USeries.includes(this.activeDevice.productId)) {
186
- switch (value) {
187
- case 0x04:
188
- yield this.answerCallFromDevice();
189
- break;
190
- case 0x10:
191
- yield this.rejectCallFromDevice();
192
- break;
193
- case 0x00:
194
- yield this.endCallFromDevice();
195
- break;
196
- case 0x0c:
197
- yield this.setMuteFromDevice(!this.isMuted);
198
- break;
199
- }
200
- }
201
- if (CMEDIASeries.includes(this.activeDevice.productId)) {
202
- switch (value) {
203
- case 0x01:
204
- this.lastByte !== 0x09 && (yield this.answerCallFromDevice());
205
- break;
206
- case 0x00:
207
- if (this.lastByte === 0x08) {
208
- yield this.setMuteFromDevice(!this.isMuted);
209
- }
210
- else {
211
- yield this.endCallFromDevice();
212
- }
213
- break;
214
- case 0x14:
215
- yield this.setMuteFromDevice(!this.isMuted);
216
- break;
217
- }
218
- }
219
- if (this.activeDevice.productId >= 0x0040 && this.activeDevice.productId <= 0x0083) {
220
- switch (value) {
221
- case 0x20:
222
- yield this.answerCallFromDevice();
223
- break;
224
- case 0x08:
225
- yield this.rejectCallFromDevice();
226
- break;
227
- case 0x00:
228
- yield this.endCallFromDevice();
229
- break;
230
- case 0x01:
231
- yield this.setMuteFromDevice(false);
232
- break;
233
- case 0x05:
234
- yield this.setMuteFromDevice(true);
235
- break;
236
- }
237
- }
238
- if (DECTSeries.includes(this.activeDevice.productId)) {
239
- switch (value) {
240
- case 0x02:
241
- yield this.answerCallFromDevice();
242
- break;
243
- case 0x00:
244
- yield this.endCallFromDevice();
245
- break;
246
- case 0x03:
247
- yield this.setMuteFromDevice(true);
248
- break;
249
- case 0x04:
250
- yield this.setMuteFromDevice(false);
251
- break;
252
- }
253
- }
254
- this.lastByte = value;
136
+ this.changeConnectionStatus({ isConnected: false, isConnecting: false });
137
+ this.activeDevice && this.activeDevice.unsubscribe();
138
+ this.activeDevice = null;
139
+ this._deviceInfo = null;
140
+ this.isMuted = false;
255
141
  });
256
142
  }
257
143
  incomingCall(callInfo) {
258
144
  return __awaiter(this, void 0, void 0, function* () {
259
145
  this.pendingConversationId = callInfo.conversationId;
260
- if (DECTSeries.includes(this.activeDevice.productId)) {
261
- yield this.sendOpToDevice('setMode');
262
- }
263
- yield this.sendOpToDevice('ring');
146
+ this.activeDevice.ring();
264
147
  });
265
148
  }
266
149
  outgoingCall(callInfo) {
267
150
  return __awaiter(this, void 0, void 0, function* () {
268
- this.pendingConversationId = callInfo.conversationId;
269
- if (DECTSeries.includes(this.activeDevice.productId)) {
270
- yield this.sendOpToDevice('setMode');
271
- }
272
- yield this.sendOpToDevice('offHook');
151
+ this.activeConversationId = callInfo.conversationId;
152
+ this.activeDevice.offHook();
273
153
  });
274
154
  }
275
155
  answerCall(conversationId, autoAnswer) {
276
156
  return __awaiter(this, void 0, void 0, function* () {
277
- if (!conversationId) {
278
- return;
279
- }
280
- else {
281
- if (autoAnswer) {
282
- yield this.sendOpToDevice('ring');
283
- yield this.sendOpToDevice('offHook');
284
- }
285
- else {
286
- yield this.sendOpToDevice('offHook');
287
- this.pendingConversationId = null;
288
- }
157
+ if (this.pendingConversationId === conversationId || autoAnswer) {
289
158
  this.activeConversationId = conversationId;
290
- }
291
- });
292
- }
293
- answerCallFromDevice() {
294
- return __awaiter(this, void 0, void 0, function* () {
295
- yield this.answerCall(this.pendingConversationId, false);
296
- if (this.activeConversationId) {
297
- this.deviceAnsweredCall({
298
- name: 'OffHook',
299
- conversationId: this.activeConversationId,
300
- });
159
+ this.pendingConversationId = '';
160
+ this.activeDevice.offHook();
301
161
  }
302
162
  else {
303
163
  this.logger.error('no call to be answered');
304
164
  }
305
165
  });
306
166
  }
307
- rejectCall() {
167
+ rejectCall(conversationId) {
308
168
  return __awaiter(this, void 0, void 0, function* () {
309
- if (this.pendingConversationId) {
310
- this.pendingConversationId = null;
311
- yield this.sendOpToDevice('onHook');
169
+ if (conversationId === this.pendingConversationId) {
170
+ this.pendingConversationId = '';
171
+ this.activeDevice.onHook();
312
172
  }
313
173
  else {
314
174
  this.logger.error('no call to be rejected');
315
175
  }
316
176
  });
317
177
  }
318
- rejectCallFromDevice() {
319
- return __awaiter(this, void 0, void 0, function* () {
320
- this.deviceRejectedCall({
321
- name: 'Reject',
322
- conversationId: this.pendingConversationId,
323
- });
324
- yield this.rejectCall();
325
- });
326
- }
327
- endCall(conversationId, hasOtherActiveCalls) {
328
- return __awaiter(this, void 0, void 0, function* () {
329
- if (hasOtherActiveCalls) {
330
- return;
331
- }
332
- else {
333
- if (conversationId === this.activeConversationId || this.pendingConversationId) {
334
- this.activeConversationId = null;
335
- this.pendingConversationId = null;
336
- yield this.sendOpToDevice('onHook');
337
- }
338
- else {
339
- this.logger.error('no call to be ended');
340
- }
341
- }
342
- });
343
- }
344
- endCallFromDevice() {
178
+ endCall(conversationId) {
345
179
  return __awaiter(this, void 0, void 0, function* () {
346
- if (this.activeConversationId || this.pendingConversationId) {
347
- yield this.sendOpToDevice('onHook');
348
- this.deviceEndedCall({
349
- name: 'OnHook',
350
- conversationId: this.activeConversationId ? this.activeConversationId : this.pendingConversationId,
351
- });
352
- this.activeConversationId = null;
353
- this.pendingConversationId = null;
180
+ if (conversationId === this.activeConversationId) {
181
+ this.activeConversationId = '';
182
+ this.pendingConversationId = '';
183
+ this.activeDevice.onHook();
354
184
  }
355
185
  else {
356
186
  this.logger.error('no call to be ended');
@@ -359,39 +189,15 @@ export default class VBetService extends VendorImplementation {
359
189
  }
360
190
  endAllCalls() {
361
191
  return __awaiter(this, void 0, void 0, function* () {
362
- if (this.activeConversationId || this.pendingConversationId) {
363
- this.activeConversationId = null;
364
- this.pendingConversationId = null;
365
- yield this.sendOpToDevice('onHook');
366
- }
192
+ this.activeConversationId = '';
193
+ this.pendingConversationId = '';
194
+ this.activeDevice.onHook();
367
195
  });
368
196
  }
369
197
  setMute(value) {
370
198
  return __awaiter(this, void 0, void 0, function* () {
371
- if (value) {
372
- yield this.sendOpToDevice('muteOn');
373
- }
374
- else {
375
- yield this.sendOpToDevice('muteOff');
376
- }
377
199
  this.isMuted = value;
378
- });
379
- }
380
- setMuteFromDevice(value) {
381
- return __awaiter(this, void 0, void 0, function* () {
382
- yield this.setMute(value);
383
- this.deviceMuteChanged({
384
- isMuted: this.isMuted,
385
- name: this.isMuted ? 'CallMuted' : 'CallUnmuted',
386
- conversationId: this.activeConversationId,
387
- });
388
- });
389
- }
390
- sendOpToDevice(value) {
391
- return __awaiter(this, void 0, void 0, function* () {
392
- const data = new Uint8Array(this.deviceCmds[value]);
393
- this.logger.debug(`send to dev ${value}`);
394
- yield this.activeDevice.sendReport(data[0], data.slice(1, data.length));
200
+ this.isMuted ? this.activeDevice.muteOn() : this.activeDevice.muteOff();
395
201
  });
396
202
  }
397
203
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vbet.js","sourceRoot":"","sources":["../../../../../../../react-app/src/library/services/vendor-implementations/vbet/vbet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vbet.js","sourceRoot":"","sources":["../../../../../../../react-app/src/library/services/vendor-implementations/vbet/vbet.ts"],"names":[],"mappings":"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"}