softphone-vendor-headsets 2.0.0-develop.8 → 2.0.0-develop.9

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 (188) hide show
  1. package/dist/cjs/src/config/i18n.d.ts +2 -0
  2. package/dist/cjs/src/config/i18n.js +28 -0
  3. package/dist/cjs/src/config/i18n.js.map +1 -0
  4. package/dist/cjs/src/library/index.d.ts +8 -0
  5. package/dist/cjs/src/library/index.js +29 -0
  6. package/dist/cjs/src/library/index.js.map +1 -0
  7. package/dist/cjs/src/library/services/headset.d.ts +44 -0
  8. package/dist/cjs/src/library/services/headset.js +313 -0
  9. package/dist/cjs/src/library/services/headset.js.map +1 -0
  10. package/dist/cjs/src/library/services/headset.test.d.ts +1 -0
  11. package/dist/cjs/src/library/services/headset.test.js +800 -0
  12. package/dist/cjs/src/library/services/headset.test.js.map +1 -0
  13. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.d.ts +45 -0
  14. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js +254 -0
  15. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js.map +1 -0
  16. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.d.ts +1 -0
  17. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js +569 -0
  18. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js.map +1 -0
  19. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/types.d.ts +33 -0
  20. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/types.js +20 -0
  21. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/types.js.map +1 -0
  22. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.d.ts +48 -0
  23. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.js +396 -0
  24. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.js.map +1 -0
  25. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.test.d.ts +1 -0
  26. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.test.js +945 -0
  27. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.test.js.map +1 -0
  28. package/dist/cjs/src/library/services/vendor-implementations/jabra/mock-jabra-sdk.d.ts +7 -0
  29. package/dist/cjs/src/library/services/vendor-implementations/jabra/mock-jabra-sdk.js +11 -0
  30. package/dist/cjs/src/library/services/vendor-implementations/jabra/mock-jabra-sdk.js.map +1 -0
  31. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.d.ts +47 -0
  32. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.js +51 -0
  33. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.js.map +1 -0
  34. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.d.ts +1 -0
  35. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.js +111 -0
  36. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.js.map +1 -0
  37. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.d.ts +352 -0
  38. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.js +390 -0
  39. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.js.map +1 -0
  40. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.d.ts +62 -0
  41. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.js +394 -0
  42. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.js.map +1 -0
  43. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.test.d.ts +2 -0
  44. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.test.js +983 -0
  45. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.test.js.map +1 -0
  46. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.d.ts +42 -0
  47. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.js +277 -0
  48. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.js.map +1 -0
  49. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.test.d.ts +1 -0
  50. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js +708 -0
  51. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js.map +1 -0
  52. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/types.d.ts +40 -0
  53. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/types.js +32 -0
  54. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/types.js.map +1 -0
  55. package/dist/cjs/src/library/services/vendor-implementations/vendor-implementation.d.ts +49 -0
  56. package/dist/cjs/src/library/services/vendor-implementations/vendor-implementation.js +99 -0
  57. package/dist/cjs/src/library/services/vendor-implementations/vendor-implementation.js.map +1 -0
  58. package/dist/cjs/src/library/services/vendor-implementations/vendor-implemntation.test.d.ts +1 -0
  59. package/dist/cjs/src/library/services/vendor-implementations/vendor-implemntation.test.js +106 -0
  60. package/dist/cjs/src/library/services/vendor-implementations/vendor-implemntation.test.js.map +1 -0
  61. package/dist/cjs/src/library/test-utils.d.ts +16 -0
  62. package/dist/cjs/src/library/test-utils.js +43 -0
  63. package/dist/cjs/src/library/test-utils.js.map +1 -0
  64. package/dist/cjs/src/library/types/call-info.d.ts +4 -0
  65. package/dist/cjs/src/library/types/call-info.js +3 -0
  66. package/dist/cjs/src/library/types/call-info.js.map +1 -0
  67. package/dist/cjs/src/library/types/consumed-headset-events.d.ts +32 -0
  68. package/dist/cjs/src/library/types/consumed-headset-events.js +18 -0
  69. package/dist/cjs/src/library/types/consumed-headset-events.js.map +1 -0
  70. package/dist/cjs/src/library/types/device-info.d.ts +8 -0
  71. package/dist/cjs/src/library/types/device-info.js +3 -0
  72. package/dist/cjs/src/library/types/device-info.js.map +1 -0
  73. package/dist/cjs/src/library/types/emitted-headset-events.d.ts +34 -0
  74. package/dist/cjs/src/library/types/emitted-headset-events.js +3 -0
  75. package/dist/cjs/src/library/types/emitted-headset-events.js.map +1 -0
  76. package/dist/cjs/src/library/types/headset-states.d.ts +10 -0
  77. package/dist/cjs/src/library/types/headset-states.js +3 -0
  78. package/dist/cjs/src/library/types/headset-states.js.map +1 -0
  79. package/dist/cjs/src/library/utils.d.ts +14 -0
  80. package/dist/cjs/src/library/utils.js +80 -0
  81. package/dist/cjs/src/library/utils.js.map +1 -0
  82. package/dist/cjs/src/library/utils.test.d.ts +1 -0
  83. package/dist/cjs/src/library/utils.test.js +46 -0
  84. package/dist/cjs/src/library/utils.test.js.map +1 -0
  85. package/dist/cjs/src/mocks/call.d.ts +11 -0
  86. package/dist/cjs/src/mocks/call.js +55 -0
  87. package/dist/cjs/src/mocks/call.js.map +1 -0
  88. package/dist/cjs/src/mocks/device-service.d.ts +8 -0
  89. package/dist/cjs/src/mocks/device-service.js +44 -0
  90. package/dist/cjs/src/mocks/device-service.js.map +1 -0
  91. package/dist/cjs/src/setupTests.d.ts +1 -0
  92. package/dist/cjs/src/setupTests.js +8 -0
  93. package/dist/cjs/src/setupTests.js.map +1 -0
  94. package/dist/deploy-info.json +560 -2
  95. package/dist/es/src/config/i18n.d.ts +2 -0
  96. package/dist/es/src/config/i18n.js +23 -0
  97. package/dist/es/src/config/i18n.js.map +1 -0
  98. package/dist/es/src/library/index.d.ts +8 -0
  99. package/dist/es/src/library/index.js +9 -0
  100. package/dist/es/src/library/index.js.map +1 -0
  101. package/dist/es/src/library/services/headset.d.ts +44 -0
  102. package/dist/es/src/library/services/headset.js +307 -0
  103. package/dist/es/src/library/services/headset.js.map +1 -0
  104. package/dist/es/src/library/services/headset.test.d.ts +1 -0
  105. package/dist/es/src/library/services/headset.test.js +795 -0
  106. package/dist/es/src/library/services/headset.test.js.map +1 -0
  107. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.d.ts +45 -0
  108. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js +251 -0
  109. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js.map +1 -0
  110. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.d.ts +1 -0
  111. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js +541 -0
  112. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js.map +1 -0
  113. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/types.d.ts +33 -0
  114. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/types.js +17 -0
  115. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/types.js.map +1 -0
  116. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.d.ts +48 -0
  117. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.js +393 -0
  118. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.js.map +1 -0
  119. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.test.d.ts +1 -0
  120. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.test.js +940 -0
  121. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.test.js.map +1 -0
  122. package/dist/es/src/library/services/vendor-implementations/jabra/mock-jabra-sdk.d.ts +7 -0
  123. package/dist/es/src/library/services/vendor-implementations/jabra/mock-jabra-sdk.js +7 -0
  124. package/dist/es/src/library/services/vendor-implementations/jabra/mock-jabra-sdk.js.map +1 -0
  125. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.d.ts +47 -0
  126. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.js +48 -0
  127. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.js.map +1 -0
  128. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.d.ts +1 -0
  129. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.js +109 -0
  130. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-call-events.test.js.map +1 -0
  131. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.d.ts +352 -0
  132. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.js +388 -0
  133. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics-test-responses.js.map +1 -0
  134. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.d.ts +62 -0
  135. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.js +388 -0
  136. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.js.map +1 -0
  137. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.test.d.ts +2 -0
  138. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.test.js +978 -0
  139. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.test.js.map +1 -0
  140. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.d.ts +42 -0
  141. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.js +251 -0
  142. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.js.map +1 -0
  143. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.test.d.ts +1 -0
  144. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js +680 -0
  145. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js.map +1 -0
  146. package/dist/es/src/library/services/vendor-implementations/sennheiser/types.d.ts +40 -0
  147. package/dist/es/src/library/services/vendor-implementations/sennheiser/types.js +29 -0
  148. package/dist/es/src/library/services/vendor-implementations/sennheiser/types.js.map +1 -0
  149. package/dist/es/src/library/services/vendor-implementations/vendor-implementation.d.ts +49 -0
  150. package/dist/es/src/library/services/vendor-implementations/vendor-implementation.js +95 -0
  151. package/dist/es/src/library/services/vendor-implementations/vendor-implementation.js.map +1 -0
  152. package/dist/es/src/library/services/vendor-implementations/vendor-implemntation.test.d.ts +1 -0
  153. package/dist/es/src/library/services/vendor-implementations/vendor-implemntation.test.js +104 -0
  154. package/dist/es/src/library/services/vendor-implementations/vendor-implemntation.test.js.map +1 -0
  155. package/dist/es/src/library/test-utils.d.ts +16 -0
  156. package/dist/es/src/library/test-utils.js +38 -0
  157. package/dist/es/src/library/test-utils.js.map +1 -0
  158. package/dist/es/src/library/types/call-info.d.ts +4 -0
  159. package/dist/es/src/library/types/call-info.js +2 -0
  160. package/dist/es/src/library/types/call-info.js.map +1 -0
  161. package/dist/es/src/library/types/consumed-headset-events.d.ts +32 -0
  162. package/dist/es/src/library/types/consumed-headset-events.js +15 -0
  163. package/dist/es/src/library/types/consumed-headset-events.js.map +1 -0
  164. package/dist/es/src/library/types/device-info.d.ts +8 -0
  165. package/dist/es/src/library/types/device-info.js +2 -0
  166. package/dist/es/src/library/types/device-info.js.map +1 -0
  167. package/dist/es/src/library/types/emitted-headset-events.d.ts +34 -0
  168. package/dist/es/src/library/types/emitted-headset-events.js +2 -0
  169. package/dist/es/src/library/types/emitted-headset-events.js.map +1 -0
  170. package/dist/es/src/library/types/headset-states.d.ts +10 -0
  171. package/dist/es/src/library/types/headset-states.js +2 -0
  172. package/dist/es/src/library/types/headset-states.js.map +1 -0
  173. package/dist/es/src/library/utils.d.ts +14 -0
  174. package/dist/es/src/library/utils.js +69 -0
  175. package/dist/es/src/library/utils.js.map +1 -0
  176. package/dist/es/src/library/utils.test.d.ts +1 -0
  177. package/dist/es/src/library/utils.test.js +44 -0
  178. package/dist/es/src/library/utils.test.js.map +1 -0
  179. package/dist/es/src/mocks/call.d.ts +11 -0
  180. package/dist/es/src/mocks/call.js +52 -0
  181. package/dist/es/src/mocks/call.js.map +1 -0
  182. package/dist/es/src/mocks/device-service.d.ts +8 -0
  183. package/dist/es/src/mocks/device-service.js +41 -0
  184. package/dist/es/src/mocks/device-service.js.map +1 -0
  185. package/dist/es/src/setupTests.d.ts +1 -0
  186. package/dist/es/src/setupTests.js +6 -0
  187. package/dist/es/src/setupTests.js.map +1 -0
  188. package/package.json +2 -2
@@ -0,0 +1,48 @@
1
+ import { VendorImplementation, ImplementationConfig } from '../vendor-implementation';
2
+ import DeviceInfo from '../../../types/device-info';
3
+ import { IApi, CallControlFactory, ICallControl, IDevice } from '@gnaudio/jabra-js';
4
+ import { CallInfo } from '../../..';
5
+ export default class JabraService extends VendorImplementation {
6
+ private static instance;
7
+ private headsetEventSubscription;
8
+ static connectTimeout: number;
9
+ isActive: boolean;
10
+ _deviceInfo: DeviceInfo;
11
+ isMuted: boolean;
12
+ isHeld: boolean;
13
+ version: string;
14
+ _connectDeferred: any;
15
+ jabraSdk: IApi;
16
+ callControlFactory: CallControlFactory;
17
+ callControl: ICallControl;
18
+ ongoingCalls: number;
19
+ callLock: boolean;
20
+ pendingConversationId: string;
21
+ activeConversationId: string;
22
+ private constructor();
23
+ isSupported(): boolean;
24
+ deviceLabelMatchesVendor(label: string): boolean;
25
+ static getInstance(config: ImplementationConfig): JabraService;
26
+ get deviceInfo(): DeviceInfo;
27
+ get deviceName(): string;
28
+ get isDeviceAttached(): boolean;
29
+ resetState(): void;
30
+ _processEvents(callControl: ICallControl): void;
31
+ setMute(value: boolean): Promise<void>;
32
+ setHold(conversationId: string, value: boolean): Promise<void>;
33
+ incomingCall(callInfo: CallInfo): Promise<void>;
34
+ answerCall(): Promise<void>;
35
+ rejectCall(): Promise<void>;
36
+ outgoingCall(callInfo: CallInfo): Promise<void>;
37
+ endCall(conversationId: string, hasOtherActiveCalls: boolean): Promise<void>;
38
+ endAllCalls(): Promise<void>;
39
+ isDeviceInList(device: IDevice, deviceLabel: string): boolean;
40
+ connect(originalDeviceLabel: string): Promise<void>;
41
+ getPreviouslyConnectedDevice(deviceLabel: string): Promise<IDevice>;
42
+ getDeviceFromWebhid(deviceLabel: string): Promise<IDevice>;
43
+ initializeJabraSdk(): Promise<IApi>;
44
+ createCallControlFactory(sdk: IApi): CallControlFactory;
45
+ checkForCallLockError(message: unknown, type: unknown): boolean;
46
+ resetHeadsetState(): Promise<void>;
47
+ disconnect(): Promise<void>;
48
+ }
@@ -0,0 +1,393 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { VendorImplementation } from '../vendor-implementation';
11
+ import { CallControlFactory, SignalType, ErrorType, init, RequestedBrowserTransport, webHidPairing, } from '@gnaudio/jabra-js';
12
+ import { firstValueFrom, TimeoutError, EmptyError } from 'rxjs';
13
+ import { defaultIfEmpty, filter, first, map, timeout } from 'rxjs/operators';
14
+ import { isCefHosted } from '../../../utils';
15
+ export default class JabraService extends VendorImplementation {
16
+ constructor(config) {
17
+ super(config);
18
+ this.isActive = false;
19
+ this.isMuted = false;
20
+ this.isHeld = false;
21
+ this.version = null;
22
+ this.ongoingCalls = 0;
23
+ this.callLock = false;
24
+ this.vendorName = 'Jabra';
25
+ }
26
+ isSupported() {
27
+ return window.navigator.hid && !isCefHosted();
28
+ }
29
+ deviceLabelMatchesVendor(label) {
30
+ const lowerLabel = label.toLowerCase();
31
+ if (['jabra'].some((searchVal) => lowerLabel.includes(searchVal))) {
32
+ return true;
33
+ }
34
+ return false;
35
+ }
36
+ static getInstance(config) {
37
+ if (!JabraService.instance || config.createNew) {
38
+ JabraService.instance = new JabraService(config);
39
+ }
40
+ return JabraService.instance;
41
+ }
42
+ get deviceInfo() {
43
+ return this._deviceInfo;
44
+ }
45
+ get deviceName() {
46
+ var _a;
47
+ return (_a = this.deviceInfo) === null || _a === void 0 ? void 0 : _a.deviceName;
48
+ }
49
+ get isDeviceAttached() {
50
+ return !!this.deviceInfo;
51
+ }
52
+ resetState() {
53
+ this.setHold(null, false);
54
+ this.setMute(false);
55
+ }
56
+ _processEvents(callControl) {
57
+ this.headsetEventSubscription = callControl.deviceSignals.subscribe((signal) => __awaiter(this, void 0, void 0, function* () {
58
+ if (!this.callLock) {
59
+ this.logger.debug('Currently not in possession of the Call Lock; Cannot react to Device Actions');
60
+ return;
61
+ }
62
+ switch (signal.type) {
63
+ case SignalType.HOOK_SWITCH:
64
+ if (signal.value) {
65
+ callControl.offHook(true);
66
+ callControl.ring(false);
67
+ this.activeConversationId = this.pendingConversationId;
68
+ this.deviceAnsweredCall({
69
+ name: 'CallOffHook',
70
+ code: signal.type,
71
+ conversationId: this.pendingConversationId,
72
+ });
73
+ }
74
+ else {
75
+ callControl.mute(false);
76
+ callControl.hold(false);
77
+ callControl.offHook(false);
78
+ this.deviceEndedCall({
79
+ name: 'CallOnHook',
80
+ code: signal.type,
81
+ conversationId: this.activeConversationId,
82
+ });
83
+ try {
84
+ callControl.releaseCallLock();
85
+ }
86
+ catch ({ message, type }) {
87
+ if (this.checkForCallLockError(message, type)) {
88
+ this.logger.info(message);
89
+ }
90
+ else {
91
+ this.logger.error(type, message);
92
+ }
93
+ }
94
+ finally {
95
+ this.activeConversationId = null;
96
+ this.callLock = false;
97
+ }
98
+ }
99
+ break;
100
+ case SignalType.FLASH:
101
+ case SignalType.ALT_HOLD:
102
+ this.isHeld = !this.isHeld;
103
+ callControl.hold(this.isHeld);
104
+ this.deviceHoldStatusChanged({
105
+ holdRequested: this.isHeld,
106
+ name: this.isHeld ? 'OnHold' : 'ResumeCall',
107
+ code: signal.type,
108
+ conversationId: this.activeConversationId,
109
+ });
110
+ break;
111
+ case SignalType.PHONE_MUTE:
112
+ this.isMuted = !this.isMuted;
113
+ callControl.mute(this.isMuted);
114
+ this.deviceMuteChanged({
115
+ isMuted: this.isMuted,
116
+ name: this.isMuted ? 'CallMuted' : 'CallUnmuted',
117
+ code: signal.type,
118
+ conversationId: this.activeConversationId,
119
+ });
120
+ break;
121
+ case SignalType.REJECT_CALL:
122
+ callControl.ring(false);
123
+ this.deviceRejectedCall({
124
+ name: SignalType[signal.type],
125
+ conversationId: this.pendingConversationId,
126
+ });
127
+ try {
128
+ callControl.releaseCallLock();
129
+ }
130
+ catch ({ message, type }) {
131
+ if (this.checkForCallLockError(message, type)) {
132
+ this.logger.info(message);
133
+ }
134
+ else {
135
+ this.logger.error(type, message);
136
+ }
137
+ }
138
+ finally {
139
+ this.pendingConversationId = null;
140
+ this.callLock = false;
141
+ }
142
+ }
143
+ }));
144
+ }
145
+ setMute(value) {
146
+ return __awaiter(this, void 0, void 0, function* () {
147
+ if (!this.callLock) {
148
+ return;
149
+ }
150
+ this.isMuted = value;
151
+ this.callControl.mute(value);
152
+ });
153
+ }
154
+ setHold(conversationId, value) {
155
+ return __awaiter(this, void 0, void 0, function* () {
156
+ if (!this.callLock) {
157
+ return;
158
+ }
159
+ this.isHeld = value;
160
+ this.callControl.hold(value);
161
+ });
162
+ }
163
+ incomingCall(callInfo) {
164
+ return __awaiter(this, void 0, void 0, function* () {
165
+ this.pendingConversationId = callInfo.conversationId;
166
+ try {
167
+ this.callLock = yield this.callControl.takeCallLock();
168
+ if (this.callLock) {
169
+ this.callControl.ring(true);
170
+ }
171
+ }
172
+ catch ({ message, type }) {
173
+ if (this.checkForCallLockError(message, type)) {
174
+ this.logger.info(message);
175
+ this.callControl.ring(true);
176
+ }
177
+ else {
178
+ this.logger.error(type, message);
179
+ }
180
+ }
181
+ });
182
+ }
183
+ answerCall() {
184
+ return __awaiter(this, void 0, void 0, function* () {
185
+ if (!this.callLock) {
186
+ return;
187
+ }
188
+ this.callControl.ring(false);
189
+ this.callControl.offHook(true);
190
+ this.activeConversationId = this.pendingConversationId;
191
+ this.pendingConversationId = null;
192
+ });
193
+ }
194
+ rejectCall() {
195
+ return __awaiter(this, void 0, void 0, function* () {
196
+ try {
197
+ if (!this.callLock) {
198
+ return this.logger.info('Currently not in possession of the Call Lock; Cannot react to Device Actions');
199
+ }
200
+ this.callControl.ring(false);
201
+ this.callControl.releaseCallLock();
202
+ }
203
+ catch ({ message, type }) {
204
+ if (this.checkForCallLockError(message, type)) {
205
+ this.logger.info(message);
206
+ }
207
+ else {
208
+ this.logger.error(type, message);
209
+ }
210
+ }
211
+ finally {
212
+ this.pendingConversationId = null;
213
+ this.callLock = false;
214
+ this.resetState();
215
+ }
216
+ });
217
+ }
218
+ outgoingCall(callInfo) {
219
+ return __awaiter(this, void 0, void 0, function* () {
220
+ try {
221
+ this.callLock = yield this.callControl.takeCallLock();
222
+ if (this.callLock) {
223
+ this.activeConversationId = callInfo.conversationId;
224
+ this.callControl.offHook(true);
225
+ return Promise.resolve();
226
+ }
227
+ }
228
+ catch ({ message, type }) {
229
+ if (this.checkForCallLockError(message, type)) {
230
+ this.logger.info(message);
231
+ this.callControl.offHook(true);
232
+ }
233
+ else {
234
+ this.logger.error(type, message);
235
+ }
236
+ }
237
+ });
238
+ }
239
+ endCall(conversationId, hasOtherActiveCalls) {
240
+ return __awaiter(this, void 0, void 0, function* () {
241
+ if (hasOtherActiveCalls) {
242
+ return;
243
+ }
244
+ if (conversationId === this.activeConversationId) {
245
+ this.activeConversationId = null;
246
+ }
247
+ try {
248
+ if (!this.callLock) {
249
+ return this.logger.info('Currently not in possession of the Call Lock; Cannot react to Device Actions');
250
+ }
251
+ this.callControl.offHook(false);
252
+ this.callControl.releaseCallLock();
253
+ }
254
+ catch ({ message, type }) {
255
+ if (this.checkForCallLockError(message, type)) {
256
+ this.logger.info(message);
257
+ }
258
+ else {
259
+ this.logger.error(type, message);
260
+ }
261
+ }
262
+ finally {
263
+ this.callLock = false;
264
+ this.resetState();
265
+ }
266
+ });
267
+ }
268
+ endAllCalls() {
269
+ return __awaiter(this, void 0, void 0, function* () {
270
+ try {
271
+ if (!this.callLock) {
272
+ return this.logger.info('Currently not in possession of the Call Lock; Cannot react to Device Actions');
273
+ }
274
+ this.activeConversationId = null;
275
+ this.callControl.offHook(false);
276
+ this.callControl.releaseCallLock();
277
+ }
278
+ catch ({ message, type }) {
279
+ if (this.checkForCallLockError(message, type)) {
280
+ this.logger.info(message);
281
+ }
282
+ else {
283
+ this.logger.error(type, message);
284
+ }
285
+ }
286
+ finally {
287
+ this.callLock = false;
288
+ this.resetState();
289
+ }
290
+ });
291
+ }
292
+ isDeviceInList(device, deviceLabel) {
293
+ var _a;
294
+ return deviceLabel.toLowerCase().includes((_a = device === null || device === void 0 ? void 0 : device.name) === null || _a === void 0 ? void 0 : _a.toLowerCase());
295
+ }
296
+ connect(originalDeviceLabel) {
297
+ return __awaiter(this, void 0, void 0, function* () {
298
+ if (this.isConnecting) {
299
+ return;
300
+ }
301
+ this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: true });
302
+ if (!this.jabraSdk) {
303
+ this.jabraSdk = yield this.initializeJabraSdk();
304
+ this.callControlFactory = this.createCallControlFactory(this.jabraSdk);
305
+ }
306
+ const deviceLabel = originalDeviceLabel.toLocaleLowerCase();
307
+ this._deviceInfo = null;
308
+ let selectedDevice = yield this.getPreviouslyConnectedDevice(deviceLabel);
309
+ if (!selectedDevice) {
310
+ try {
311
+ selectedDevice = yield this.getDeviceFromWebhid(deviceLabel);
312
+ }
313
+ catch (e) {
314
+ this.isConnecting &&
315
+ this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: false });
316
+ return;
317
+ }
318
+ }
319
+ this.callControl = yield this.callControlFactory.createCallControl(selectedDevice);
320
+ yield this.resetHeadsetState();
321
+ this._processEvents(this.callControl);
322
+ this._deviceInfo = {
323
+ ProductName: selectedDevice.name,
324
+ deviceName: selectedDevice.name,
325
+ attached: true,
326
+ deviceId: selectedDevice.id.toString(),
327
+ };
328
+ this.changeConnectionStatus({ isConnected: true, isConnecting: false });
329
+ });
330
+ }
331
+ getPreviouslyConnectedDevice(deviceLabel) {
332
+ return __awaiter(this, void 0, void 0, function* () {
333
+ // we want to wait for up to 2 events or timeout after 2 seconds
334
+ const waitForDevice = this.jabraSdk.deviceList.pipe(defaultIfEmpty(null), first((devices) => !!devices.length), map((devices) => devices.find((device) => this.isDeviceInList(device, deviceLabel))), filter((device) => !!device), timeout(3000));
335
+ return firstValueFrom(waitForDevice).catch((err) => {
336
+ if (err instanceof TimeoutError || err instanceof EmptyError) {
337
+ return null;
338
+ }
339
+ return Promise.reject(err);
340
+ });
341
+ });
342
+ }
343
+ getDeviceFromWebhid(deviceLabel) {
344
+ return __awaiter(this, void 0, void 0, function* () {
345
+ this.requestWebHidPermissions(webHidPairing);
346
+ return firstValueFrom(this.jabraSdk.deviceList.pipe(map((devices) => devices.find((device) => this.isDeviceInList(device, deviceLabel))), filter((device) => !!device), first(), timeout(30000))).catch((err) => {
347
+ if (err instanceof TimeoutError) {
348
+ err = new Error('The selected device was not granted WebHID permissions');
349
+ }
350
+ this.logger.error(err);
351
+ return Promise.reject(err);
352
+ });
353
+ });
354
+ }
355
+ /* istanbul ignore next */
356
+ initializeJabraSdk() {
357
+ return __awaiter(this, void 0, void 0, function* () {
358
+ return init({
359
+ appId: 'softphone-vendor-headsets',
360
+ appName: 'Softphone Headset Library',
361
+ transport: RequestedBrowserTransport.CHROME_EXTENSION_WITH_WEB_HID_FALLBACK,
362
+ });
363
+ });
364
+ }
365
+ /* istanbul ignore next */
366
+ createCallControlFactory(sdk) {
367
+ return new CallControlFactory(sdk);
368
+ }
369
+ checkForCallLockError(message, type) {
370
+ return (type === ErrorType.SDK_USAGE_ERROR && message.includes('call lock'));
371
+ }
372
+ resetHeadsetState() {
373
+ return __awaiter(this, void 0, void 0, function* () {
374
+ if (!this.callControl) {
375
+ return;
376
+ }
377
+ yield this.callControl.takeCallLock();
378
+ this.callControl.hold(false);
379
+ this.callControl.mute(false);
380
+ this.callControl.offHook(false);
381
+ this.callControl.releaseCallLock();
382
+ });
383
+ }
384
+ disconnect() {
385
+ return __awaiter(this, void 0, void 0, function* () {
386
+ this.headsetEventSubscription && this.headsetEventSubscription.unsubscribe();
387
+ (this.isConnected || this.isConnecting) &&
388
+ this.changeConnectionStatus({ isConnected: false, isConnecting: false });
389
+ });
390
+ }
391
+ }
392
+ JabraService.connectTimeout = 5000;
393
+ //# sourceMappingURL=jabra.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jabra.js","sourceRoot":"","sources":["../../../../../../../react-app/src/library/services/vendor-implementations/jabra/jabra.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import 'regenerator-runtime';