@webex/calling 3.12.0-next.6 → 3.12.0-next.61
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.
- package/dist/CallRecording/CallRecording.js +158 -0
- package/dist/CallRecording/CallRecording.js.map +1 -0
- package/dist/CallRecording/CallRecording.test.js +257 -0
- package/dist/CallRecording/CallRecording.test.js.map +1 -0
- package/dist/CallRecording/WxcCallRecordingConnector.js +576 -0
- package/dist/CallRecording/WxcCallRecordingConnector.js.map +1 -0
- package/dist/CallRecording/WxcCallRecordingConnector.test.js +651 -0
- package/dist/CallRecording/WxcCallRecordingConnector.test.js.map +1 -0
- package/dist/CallRecording/callRecordingFixtures.js +235 -0
- package/dist/CallRecording/callRecordingFixtures.js.map +1 -0
- package/dist/CallRecording/constants.js +49 -0
- package/dist/CallRecording/constants.js.map +1 -0
- package/dist/CallRecording/types.js +136 -0
- package/dist/CallRecording/types.js.map +1 -0
- package/dist/CallRecording/utils.js +42 -0
- package/dist/CallRecording/utils.js.map +1 -0
- package/dist/CallRecording/utils.test.js +97 -0
- package/dist/CallRecording/utils.test.js.map +1 -0
- package/dist/CallingClient/CallingClient.js +454 -224
- package/dist/CallingClient/CallingClient.js.map +1 -1
- package/dist/CallingClient/CallingClient.test.js +513 -154
- package/dist/CallingClient/CallingClient.test.js.map +1 -1
- package/dist/CallingClient/calling/call.js +589 -445
- package/dist/CallingClient/calling/call.js.map +1 -1
- package/dist/CallingClient/calling/call.test.js +695 -445
- package/dist/CallingClient/calling/call.test.js.map +1 -1
- package/dist/CallingClient/calling/callManager.js +81 -31
- package/dist/CallingClient/calling/callManager.js.map +1 -1
- package/dist/CallingClient/calling/callManager.test.js +123 -0
- package/dist/CallingClient/calling/callManager.test.js.map +1 -1
- package/dist/CallingClient/calling/types.js +2 -0
- package/dist/CallingClient/calling/types.js.map +1 -1
- package/dist/CallingClient/constants.js +28 -3
- package/dist/CallingClient/constants.js.map +1 -1
- package/dist/CallingClient/line/index.js +4 -1
- package/dist/CallingClient/line/index.js.map +1 -1
- package/dist/CallingClient/line/line.test.js +16 -1
- package/dist/CallingClient/line/line.test.js.map +1 -1
- package/dist/CallingClient/registration/register.js +724 -407
- package/dist/CallingClient/registration/register.js.map +1 -1
- package/dist/CallingClient/registration/register.test.js +380 -58
- package/dist/CallingClient/registration/register.test.js.map +1 -1
- package/dist/CallingClient/registration/types.js.map +1 -1
- package/dist/CallingClient/registration/webWorker.js +41 -104
- package/dist/CallingClient/registration/webWorker.js.map +1 -1
- package/dist/CallingClient/registration/webWorker.test.js +39 -153
- package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
- package/dist/CallingClient/registration/webWorkerStr.js +1 -1
- package/dist/CallingClient/registration/webWorkerStr.js.map +1 -1
- package/dist/CallingClient/types.js.map +1 -1
- package/dist/CallingClient/utils/constants.js +58 -0
- package/dist/CallingClient/utils/constants.js.map +1 -0
- package/dist/CallingClient/utils/index.js +63 -0
- package/dist/CallingClient/utils/index.js.map +1 -0
- package/dist/CallingClient/utils/mobiusSocketMapper.js +122 -0
- package/dist/CallingClient/utils/mobiusSocketMapper.js.map +1 -0
- package/dist/CallingClient/utils/mobiusSocketMapper.test.js +221 -0
- package/dist/CallingClient/utils/mobiusSocketMapper.test.js.map +1 -0
- package/dist/CallingClient/utils/request.js +435 -0
- package/dist/CallingClient/utils/request.js.map +1 -0
- package/dist/CallingClient/utils/request.test.js +999 -0
- package/dist/CallingClient/utils/request.test.js.map +1 -0
- package/dist/CallingClient/utils/types.js +7 -0
- package/dist/CallingClient/utils/types.js.map +1 -0
- package/dist/CallingClient/utils/wsFeatureFlag.js +70 -0
- package/dist/CallingClient/utils/wsFeatureFlag.js.map +1 -0
- package/dist/CallingClient/utils/wsFeatureFlag.test.js +139 -0
- package/dist/CallingClient/utils/wsFeatureFlag.test.js.map +1 -0
- package/dist/Contacts/ContactsClient.js +13 -11
- package/dist/Contacts/ContactsClient.js.map +1 -1
- package/dist/Contacts/ContactsClient.test.js +3 -8
- package/dist/Contacts/ContactsClient.test.js.map +1 -1
- package/dist/Events/types.js +38 -11
- package/dist/Events/types.js.map +1 -1
- package/dist/Metrics/index.js +63 -2
- package/dist/Metrics/index.js.map +1 -1
- package/dist/Metrics/index.test.js +357 -1
- package/dist/Metrics/index.test.js.map +1 -1
- package/dist/Metrics/types.js +19 -1
- package/dist/Metrics/types.js.map +1 -1
- package/dist/SDKConnector/types.js.map +1 -1
- package/dist/api.js +56 -0
- package/dist/api.js.map +1 -1
- package/dist/common/Utils.js +156 -51
- package/dist/common/Utils.js.map +1 -1
- package/dist/common/Utils.test.js +79 -0
- package/dist/common/Utils.test.js.map +1 -1
- package/dist/common/testUtil.js +10 -5
- package/dist/common/testUtil.js.map +1 -1
- package/dist/common/types.js +3 -0
- package/dist/common/types.js.map +1 -1
- package/dist/index.js +165 -40
- package/dist/index.js.map +1 -1
- package/dist/mobius-socket/config.js +24 -0
- package/dist/mobius-socket/config.js.map +1 -0
- package/dist/mobius-socket/errors.js +143 -0
- package/dist/mobius-socket/errors.js.map +1 -0
- package/dist/mobius-socket/errors.test.js +20 -0
- package/dist/mobius-socket/errors.test.js.map +1 -0
- package/dist/mobius-socket/index.js +57 -0
- package/dist/mobius-socket/index.js.map +1 -0
- package/dist/mobius-socket/mobius-socket-events.test.js +492 -0
- package/dist/mobius-socket/mobius-socket-events.test.js.map +1 -0
- package/dist/mobius-socket/mobius-socket.js +849 -0
- package/dist/mobius-socket/mobius-socket.js.map +1 -0
- package/dist/mobius-socket/mobius-socket.test.js +1898 -0
- package/dist/mobius-socket/mobius-socket.test.js.map +1 -0
- package/dist/mobius-socket/socket/constants.js +55 -0
- package/dist/mobius-socket/socket/constants.js.map +1 -0
- package/dist/mobius-socket/socket/index.js +15 -0
- package/dist/mobius-socket/socket/index.js.map +1 -0
- package/dist/mobius-socket/socket/socket-base.js +604 -0
- package/dist/mobius-socket/socket/socket-base.js.map +1 -0
- package/dist/mobius-socket/socket/socket.js +19 -0
- package/dist/mobius-socket/socket/socket.js.map +1 -0
- package/dist/mobius-socket/socket/socket.shim.js +26 -0
- package/dist/mobius-socket/socket/socket.shim.js.map +1 -0
- package/dist/mobius-socket/socket/types.js +7 -0
- package/dist/mobius-socket/socket/types.js.map +1 -0
- package/dist/mobius-socket/socket.test.js +727 -0
- package/dist/mobius-socket/socket.test.js.map +1 -0
- package/dist/mobius-socket/test/mocha-helpers.js +23 -0
- package/dist/mobius-socket/test/mocha-helpers.js.map +1 -0
- package/dist/mobius-socket/test/promise-tick.js +28 -0
- package/dist/mobius-socket/test/promise-tick.js.map +1 -0
- package/dist/mobius-socket/types.js +7 -0
- package/dist/mobius-socket/types.js.map +1 -0
- package/dist/module/CallRecording/CallRecording.js +56 -0
- package/dist/module/CallRecording/WxcCallRecordingConnector.js +264 -0
- package/dist/module/CallRecording/callRecordingFixtures.js +201 -0
- package/dist/module/CallRecording/constants.js +27 -0
- package/dist/module/CallRecording/types.js +19 -0
- package/dist/module/CallRecording/utils.js +14 -0
- package/dist/module/CallingClient/CallingClient.js +126 -10
- package/dist/module/CallingClient/calling/call.js +177 -61
- package/dist/module/CallingClient/calling/callManager.js +39 -7
- package/dist/module/CallingClient/calling/types.js +2 -0
- package/dist/module/CallingClient/constants.js +24 -0
- package/dist/module/CallingClient/line/index.js +2 -2
- package/dist/module/CallingClient/registration/register.js +239 -63
- package/dist/module/CallingClient/registration/webWorker.js +42 -61
- package/dist/module/CallingClient/registration/webWorkerStr.js +47 -82
- package/dist/module/CallingClient/utils/constants.js +36 -0
- package/dist/module/CallingClient/utils/index.js +5 -0
- package/dist/module/CallingClient/utils/mobiusSocketMapper.js +72 -0
- package/dist/module/CallingClient/utils/request.js +211 -0
- package/dist/module/CallingClient/utils/types.js +1 -0
- package/dist/module/CallingClient/utils/wsFeatureFlag.js +41 -0
- package/dist/module/Contacts/ContactsClient.js +1 -1
- package/dist/module/Events/types.js +23 -10
- package/dist/module/Metrics/index.js +48 -1
- package/dist/module/Metrics/types.js +18 -0
- package/dist/module/api.js +3 -2
- package/dist/module/common/Utils.js +60 -17
- package/dist/module/common/testUtil.js +6 -1
- package/dist/module/common/types.js +3 -0
- package/dist/module/index.js +7 -3
- package/dist/module/mobius-socket/config.js +15 -0
- package/dist/module/mobius-socket/errors.js +58 -0
- package/dist/module/mobius-socket/index.js +24 -0
- package/dist/module/mobius-socket/mobius-socket.js +593 -0
- package/dist/module/mobius-socket/socket/constants.js +26 -0
- package/dist/module/mobius-socket/socket/index.js +4 -0
- package/dist/module/mobius-socket/socket/socket-base.js +368 -0
- package/dist/module/mobius-socket/socket/socket.js +9 -0
- package/dist/module/mobius-socket/socket/socket.shim.js +12 -0
- package/dist/module/mobius-socket/socket/types.js +1 -0
- package/dist/module/mobius-socket/types.js +1 -0
- package/dist/types/CallRecording/CallRecording.d.ts +18 -0
- package/dist/types/CallRecording/CallRecording.d.ts.map +1 -0
- package/dist/types/CallRecording/WxcCallRecordingConnector.d.ts +23 -0
- package/dist/types/CallRecording/WxcCallRecordingConnector.d.ts.map +1 -0
- package/dist/types/CallRecording/callRecordingFixtures.d.ts +61 -0
- package/dist/types/CallRecording/callRecordingFixtures.d.ts.map +1 -0
- package/dist/types/CallRecording/constants.d.ts +28 -0
- package/dist/types/CallRecording/constants.d.ts.map +1 -0
- package/dist/types/CallRecording/types.d.ts +176 -0
- package/dist/types/CallRecording/types.d.ts.map +1 -0
- package/dist/types/CallRecording/utils.d.ts +3 -0
- package/dist/types/CallRecording/utils.d.ts.map +1 -0
- package/dist/types/CallingClient/CallingClient.d.ts +8 -0
- package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/call.d.ts +12 -0
- package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/callManager.d.ts +4 -2
- package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/types.d.ts +34 -9
- package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
- package/dist/types/CallingClient/constants.d.ts +24 -0
- package/dist/types/CallingClient/constants.d.ts.map +1 -1
- package/dist/types/CallingClient/line/index.d.ts +1 -1
- package/dist/types/CallingClient/line/index.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/register.d.ts +7 -1
- package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/types.d.ts +4 -2
- package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/webWorker.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/webWorkerStr.d.ts +1 -1
- package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -1
- package/dist/types/CallingClient/types.d.ts +1 -0
- package/dist/types/CallingClient/types.d.ts.map +1 -1
- package/dist/types/CallingClient/utils/constants.d.ts +35 -0
- package/dist/types/CallingClient/utils/constants.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/index.d.ts +6 -0
- package/dist/types/CallingClient/utils/index.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts +5 -0
- package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/request.d.ts +28 -0
- package/dist/types/CallingClient/utils/request.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/types.d.ts +34 -0
- package/dist/types/CallingClient/utils/types.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts +4 -0
- package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts.map +1 -0
- package/dist/types/Events/types.d.ts +79 -15
- package/dist/types/Events/types.d.ts.map +1 -1
- package/dist/types/Metrics/index.d.ts.map +1 -1
- package/dist/types/Metrics/types.d.ts +19 -2
- package/dist/types/Metrics/types.d.ts.map +1 -1
- package/dist/types/SDKConnector/types.d.ts +39 -12
- package/dist/types/SDKConnector/types.d.ts.map +1 -1
- package/dist/types/api.d.ts +6 -4
- package/dist/types/api.d.ts.map +1 -1
- package/dist/types/common/Utils.d.ts +11 -3
- package/dist/types/common/Utils.d.ts.map +1 -1
- package/dist/types/common/testUtil.d.ts +5 -1
- package/dist/types/common/testUtil.d.ts.map +1 -1
- package/dist/types/common/types.d.ts +5 -1
- package/dist/types/common/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +8 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/mobius-socket/config.d.ts +17 -0
- package/dist/types/mobius-socket/config.d.ts.map +1 -0
- package/dist/types/mobius-socket/errors.d.ts +32 -0
- package/dist/types/mobius-socket/errors.d.ts.map +1 -0
- package/dist/types/mobius-socket/index.d.ts +14 -0
- package/dist/types/mobius-socket/index.d.ts.map +1 -0
- package/dist/types/mobius-socket/mobius-socket.d.ts +48 -0
- package/dist/types/mobius-socket/mobius-socket.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/constants.d.ts +27 -0
- package/dist/types/mobius-socket/socket/constants.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/index.d.ts +5 -0
- package/dist/types/mobius-socket/socket/index.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/socket-base.d.ts +43 -0
- package/dist/types/mobius-socket/socket/socket-base.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/socket.d.ts +6 -0
- package/dist/types/mobius-socket/socket/socket.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/socket.shim.d.ts +6 -0
- package/dist/types/mobius-socket/socket/socket.shim.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/types.d.ts +61 -0
- package/dist/types/mobius-socket/socket/types.d.ts.map +1 -0
- package/dist/types/mobius-socket/types.d.ts +21 -0
- package/dist/types/mobius-socket/types.d.ts.map +1 -0
- package/package.json +20 -5
- package/src/mobius-socket/socket/socket.shim.ts +22 -0
- package/src/mobius-socket/socket/socket.ts +14 -0
|
@@ -20,6 +20,8 @@ export var METRIC_EVENT;
|
|
|
20
20
|
METRIC_EVENT["UPLOAD_LOGS_SUCCESS"] = "web-calling-sdk-upload-logs-success";
|
|
21
21
|
METRIC_EVENT["UPLOAD_LOGS_FAILED"] = "web-calling-sdk-upload-logs-failed";
|
|
22
22
|
METRIC_EVENT["MOBIUS_DISCOVERY"] = "web-calling-sdk-mobius-discovery";
|
|
23
|
+
METRIC_EVENT["MOBIUS_SOCKET"] = "web-calling-sdk-mobius-socket";
|
|
24
|
+
METRIC_EVENT["MOBIUS_SOCKET_ERROR"] = "web-calling-sdk-mobius-socket-error";
|
|
23
25
|
})(METRIC_EVENT || (METRIC_EVENT = {}));
|
|
24
26
|
export var MOBIUS_SERVER_ACTION;
|
|
25
27
|
(function (MOBIUS_SERVER_ACTION) {
|
|
@@ -32,6 +34,14 @@ export var REG_ACTION;
|
|
|
32
34
|
REG_ACTION["DEREGISTER"] = "deregister";
|
|
33
35
|
REG_ACTION["KEEPALIVE_FAILURE"] = "keepaliveFailure";
|
|
34
36
|
})(REG_ACTION || (REG_ACTION = {}));
|
|
37
|
+
export var MOBIUS_SOCKET_ACTION;
|
|
38
|
+
(function (MOBIUS_SOCKET_ACTION) {
|
|
39
|
+
MOBIUS_SOCKET_ACTION["CONNECT"] = "connect";
|
|
40
|
+
MOBIUS_SOCKET_ACTION["DISCONNECT"] = "disconnect";
|
|
41
|
+
MOBIUS_SOCKET_ACTION["LISTENER_REGISTERED"] = "listener_registered";
|
|
42
|
+
MOBIUS_SOCKET_ACTION["LISTENER_UNREGISTERED"] = "listener_unregistered";
|
|
43
|
+
MOBIUS_SOCKET_ACTION["REGISTRATION_DOWN"] = "registration_down";
|
|
44
|
+
})(MOBIUS_SOCKET_ACTION || (MOBIUS_SOCKET_ACTION = {}));
|
|
35
45
|
export var TRANSFER_ACTION;
|
|
36
46
|
(function (TRANSFER_ACTION) {
|
|
37
47
|
TRANSFER_ACTION["BLIND"] = "TRANSFER_BLIND";
|
|
@@ -54,3 +64,11 @@ export var CONNECTION_ACTION;
|
|
|
54
64
|
CONNECTION_ACTION["MERCURY_DOWN"] = "mercury_down";
|
|
55
65
|
CONNECTION_ACTION["MERCURY_UP"] = "mercury_up";
|
|
56
66
|
})(CONNECTION_ACTION || (CONNECTION_ACTION = {}));
|
|
67
|
+
export var MEDIA_CONNECTION_ACTION;
|
|
68
|
+
(function (MEDIA_CONNECTION_ACTION) {
|
|
69
|
+
MEDIA_CONNECTION_ACTION["ICE_GATHERING_STATE_CHANGED"] = "ICE_GATHERING_STATE_CHANGED";
|
|
70
|
+
MEDIA_CONNECTION_ACTION["PEER_CONNECTION_STATE_CHANGED"] = "PEER_CONNECTION_STATE_CHANGED";
|
|
71
|
+
MEDIA_CONNECTION_ACTION["ICE_CONNECTION_STATE_CHANGED"] = "ICE_CONNECTION_STATE_CHANGED";
|
|
72
|
+
MEDIA_CONNECTION_ACTION["ICE_CANDIDATE_ERROR"] = "ICE_CANDIDATE_ERROR";
|
|
73
|
+
MEDIA_CONNECTION_ACTION["ROAP_FAILURE"] = "ROAP_FAILURE";
|
|
74
|
+
})(MEDIA_CONNECTION_ACTION || (MEDIA_CONNECTION_ACTION = {}));
|
package/dist/module/api.js
CHANGED
|
@@ -3,5 +3,6 @@ import { CallSettings, createCallSettingsClient } from './CallSettings/CallSetti
|
|
|
3
3
|
import { CallingClient, createClient } from './CallingClient/CallingClient';
|
|
4
4
|
import { ContactsClient, createContactsClient } from './Contacts/ContactsClient';
|
|
5
5
|
import { Voicemail, createVoicemailClient } from './Voicemail/Voicemail';
|
|
6
|
-
|
|
7
|
-
export {
|
|
6
|
+
import { CallRecording, createCallRecordingClient } from './CallRecording/CallRecording';
|
|
7
|
+
export { CallHistory, CallSettings, CallingClient, ContactsClient, Voicemail, CallRecording };
|
|
8
|
+
export { createCallHistoryClient, createCallSettingsClient, createClient, createContactsClient, createVoicemailClient, createCallRecordingClient, };
|
|
@@ -18,18 +18,32 @@ export function filterMobiusUris(mobiusServers, defaultMobiusUrl) {
|
|
|
18
18
|
};
|
|
19
19
|
const urisArrayPrimary = [];
|
|
20
20
|
const urisArrayBackup = [];
|
|
21
|
+
const wssArrayPrimary = [];
|
|
22
|
+
const wssArrayBackup = [];
|
|
21
23
|
if (mobiusServers?.primary?.uris) {
|
|
22
24
|
log.info('Adding Primary uris', logContext);
|
|
23
25
|
for (const uri of mobiusServers.primary.uris) {
|
|
24
26
|
urisArrayPrimary.push(`${uri}${URL_ENDPOINT}`);
|
|
25
27
|
}
|
|
26
28
|
}
|
|
29
|
+
if (mobiusServers?.primary?.wss) {
|
|
30
|
+
log.info('Adding Primary wss uris', logContext);
|
|
31
|
+
for (const wssUri of mobiusServers.primary.wss) {
|
|
32
|
+
wssArrayPrimary.push(wssUri);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
27
35
|
if (mobiusServers?.backup?.uris) {
|
|
28
36
|
log.info('Adding Backup uris', logContext);
|
|
29
37
|
for (const uri of mobiusServers.backup.uris) {
|
|
30
38
|
urisArrayBackup.push(`${uri}${URL_ENDPOINT}`);
|
|
31
39
|
}
|
|
32
40
|
}
|
|
41
|
+
if (mobiusServers?.backup?.wss) {
|
|
42
|
+
log.info('Adding Backup wss uris', logContext);
|
|
43
|
+
for (const wssUri of mobiusServers.backup.wss) {
|
|
44
|
+
wssArrayBackup.push(wssUri);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
33
47
|
log.info('Adding Default uri', logContext);
|
|
34
48
|
if (!urisArrayPrimary.length && !urisArrayBackup.length) {
|
|
35
49
|
urisArrayPrimary.push(`${defaultMobiusUrl}${URL_ENDPOINT}`);
|
|
@@ -39,6 +53,8 @@ export function filterMobiusUris(mobiusServers, defaultMobiusUrl) {
|
|
|
39
53
|
}
|
|
40
54
|
const primaryUris = [];
|
|
41
55
|
const backupUris = [];
|
|
56
|
+
const primaryWss = [];
|
|
57
|
+
const backupWss = [];
|
|
42
58
|
for (let i = 0; i < urisArrayPrimary.length; i += 1) {
|
|
43
59
|
if (primaryUris.indexOf(urisArrayPrimary[i]) === -1) {
|
|
44
60
|
primaryUris.push(urisArrayPrimary[i]);
|
|
@@ -49,7 +65,17 @@ export function filterMobiusUris(mobiusServers, defaultMobiusUrl) {
|
|
|
49
65
|
backupUris.push(urisArrayBackup[i]);
|
|
50
66
|
}
|
|
51
67
|
}
|
|
52
|
-
|
|
68
|
+
for (let i = 0; i < wssArrayPrimary.length; i += 1) {
|
|
69
|
+
if (primaryWss.indexOf(wssArrayPrimary[i]) === -1) {
|
|
70
|
+
primaryWss.push(wssArrayPrimary[i]);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
for (let i = 0; i < wssArrayBackup.length; i += 1) {
|
|
74
|
+
if (backupWss.indexOf(wssArrayBackup[i]) === -1) {
|
|
75
|
+
backupWss.push(wssArrayBackup[i]);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return { primary: primaryUris, backup: backupUris, primaryWss, backupWss };
|
|
53
79
|
}
|
|
54
80
|
function updateCallErrorContext(errContext, type, message, correlationId, callError) {
|
|
55
81
|
const errObj = {};
|
|
@@ -74,12 +100,14 @@ function updateErrorContext(errContext, type, message, clientError) {
|
|
|
74
100
|
errObj.message = message;
|
|
75
101
|
clientError.setError(errObj);
|
|
76
102
|
}
|
|
77
|
-
export function emitFinalFailure(emitterCb, loggerContext) {
|
|
78
|
-
const clientError = createLineError('', {}, ERROR_TYPE.DEFAULT, RegistrationStatus.INACTIVE);
|
|
79
|
-
updateLineErrorContext(loggerContext, ERROR_TYPE.SERVICE_UNAVAILABLE,
|
|
103
|
+
export function emitFinalFailure(emitterCb, loggerContext, message) {
|
|
104
|
+
const clientError = createLineError(message || '', {}, ERROR_TYPE.DEFAULT, RegistrationStatus.INACTIVE);
|
|
105
|
+
updateLineErrorContext(loggerContext, ERROR_TYPE.SERVICE_UNAVAILABLE, message ||
|
|
106
|
+
'An unknown error occurred. Wait a moment and try again. Please contact the administrator if the problem persists.', RegistrationStatus.INACTIVE, clientError);
|
|
80
107
|
emitterCb(clientError);
|
|
81
108
|
}
|
|
82
|
-
export async function handleRegistrationErrors(err, emitterCb, loggerContext, retry429Cb, restoreRegCb) {
|
|
109
|
+
export async function handleRegistrationErrors(err, emitterCb, loggerContext, retry429Cb, restoreRegCb, serverCount = 1) {
|
|
110
|
+
let shouldDisconnect = false;
|
|
83
111
|
const lineError = createLineError('', {}, ERROR_TYPE.DEFAULT, RegistrationStatus.INACTIVE);
|
|
84
112
|
const errorCode = Number(err.statusCode);
|
|
85
113
|
let finalError = false;
|
|
@@ -90,6 +118,7 @@ export async function handleRegistrationErrors(err, emitterCb, loggerContext, re
|
|
|
90
118
|
log.warn(`400 Bad Request`, loggerContext);
|
|
91
119
|
updateLineErrorContext(loggerContext, ERROR_TYPE.BAD_REQUEST, 'Invalid input. Please verify the required parameters, sign out and then sign back in with the valid data', RegistrationStatus.INACTIVE, lineError);
|
|
92
120
|
emitterCb(lineError, finalError);
|
|
121
|
+
shouldDisconnect = serverCount > 1;
|
|
93
122
|
break;
|
|
94
123
|
}
|
|
95
124
|
case ERROR_CODE.UNAUTHORIZED: {
|
|
@@ -97,6 +126,7 @@ export async function handleRegistrationErrors(err, emitterCb, loggerContext, re
|
|
|
97
126
|
log.warn(`401 Unauthorized`, loggerContext);
|
|
98
127
|
updateLineErrorContext(loggerContext, ERROR_TYPE.TOKEN_ERROR, 'User is unauthorized due to an expired token. Sign out, then sign back in.', RegistrationStatus.INACTIVE, lineError);
|
|
99
128
|
emitterCb(lineError, finalError);
|
|
129
|
+
shouldDisconnect = serverCount > 1;
|
|
100
130
|
break;
|
|
101
131
|
}
|
|
102
132
|
case ERROR_CODE.DEVICE_NOT_FOUND: {
|
|
@@ -104,6 +134,7 @@ export async function handleRegistrationErrors(err, emitterCb, loggerContext, re
|
|
|
104
134
|
log.warn(`404 Device Not Found`, loggerContext);
|
|
105
135
|
updateLineErrorContext(loggerContext, ERROR_TYPE.NOT_FOUND, 'Webex Calling is unable to find your device. Sign out, then sign back in', RegistrationStatus.INACTIVE, lineError);
|
|
106
136
|
emitterCb(lineError, finalError);
|
|
137
|
+
shouldDisconnect = serverCount > 1;
|
|
107
138
|
break;
|
|
108
139
|
}
|
|
109
140
|
case ERROR_CODE.TOO_MANY_REQUESTS: {
|
|
@@ -112,20 +143,23 @@ export async function handleRegistrationErrors(err, emitterCb, loggerContext, re
|
|
|
112
143
|
const caller = loggerContext.method || 'handleErrors';
|
|
113
144
|
if (retry429Cb && err.headers) {
|
|
114
145
|
const retryAfter = Number(err.headers['retry-after']);
|
|
115
|
-
retry429Cb(retryAfter, caller);
|
|
146
|
+
await retry429Cb(retryAfter, caller);
|
|
116
147
|
}
|
|
148
|
+
shouldDisconnect = false;
|
|
117
149
|
break;
|
|
118
150
|
}
|
|
119
151
|
case ERROR_CODE.INTERNAL_SERVER_ERROR: {
|
|
120
152
|
log.warn(`500 Internal Server Error`, loggerContext);
|
|
121
153
|
updateLineErrorContext(loggerContext, ERROR_TYPE.SERVER_ERROR, 'An unknown error occurred while placing the request. Wait a moment and try again.', RegistrationStatus.INACTIVE, lineError);
|
|
122
154
|
emitterCb(lineError, finalError);
|
|
155
|
+
shouldDisconnect = serverCount > 1;
|
|
123
156
|
break;
|
|
124
157
|
}
|
|
125
158
|
case ERROR_CODE.SERVICE_UNAVAILABLE: {
|
|
126
159
|
log.warn(`503 Service Unavailable`, loggerContext);
|
|
127
160
|
updateLineErrorContext(loggerContext, ERROR_TYPE.SERVICE_UNAVAILABLE, 'An error occurred on the server while processing the request. Wait a moment and try again.', RegistrationStatus.INACTIVE, lineError);
|
|
128
161
|
emitterCb(lineError, finalError);
|
|
162
|
+
shouldDisconnect = serverCount > 1;
|
|
129
163
|
break;
|
|
130
164
|
}
|
|
131
165
|
case ERROR_CODE.FORBIDDEN: {
|
|
@@ -135,7 +169,8 @@ export async function handleRegistrationErrors(err, emitterCb, loggerContext, re
|
|
|
135
169
|
log.warn('Error response has no body, throwing default error', loggerContext);
|
|
136
170
|
updateLineErrorContext(loggerContext, ERROR_TYPE.FORBIDDEN_ERROR, 'An unauthorized action has been received. This action has been blocked. Please contact the administrator if this persists.', RegistrationStatus.INACTIVE, lineError);
|
|
137
171
|
emitterCb(lineError, finalError);
|
|
138
|
-
|
|
172
|
+
shouldDisconnect = serverCount > 1;
|
|
173
|
+
return { finalError, shouldDisconnect };
|
|
139
174
|
}
|
|
140
175
|
const code = Number(errorBody.errorCode);
|
|
141
176
|
log.warn(`Error code found : ${code}`, loggerContext);
|
|
@@ -147,6 +182,7 @@ export async function handleRegistrationErrors(err, emitterCb, loggerContext, re
|
|
|
147
182
|
const caller = loggerContext.method || 'handleErrors';
|
|
148
183
|
await restoreRegCb(errorBody, caller);
|
|
149
184
|
}
|
|
185
|
+
shouldDisconnect = false;
|
|
150
186
|
break;
|
|
151
187
|
}
|
|
152
188
|
case DEVICE_ERROR_CODE.DEVICE_CREATION_DISABLED: {
|
|
@@ -155,6 +191,7 @@ export async function handleRegistrationErrors(err, emitterCb, loggerContext, re
|
|
|
155
191
|
updateLineErrorContext(loggerContext, ERROR_TYPE.FORBIDDEN_ERROR, errorMessage, RegistrationStatus.INACTIVE, lineError);
|
|
156
192
|
log.warn(errorMessage, loggerContext);
|
|
157
193
|
emitterCb(lineError, true);
|
|
194
|
+
shouldDisconnect = true;
|
|
158
195
|
break;
|
|
159
196
|
}
|
|
160
197
|
case DEVICE_ERROR_CODE.DEVICE_CREATION_FAILED: {
|
|
@@ -162,6 +199,7 @@ export async function handleRegistrationErrors(err, emitterCb, loggerContext, re
|
|
|
162
199
|
updateLineErrorContext(loggerContext, ERROR_TYPE.FORBIDDEN_ERROR, errorMessage, RegistrationStatus.INACTIVE, lineError);
|
|
163
200
|
log.warn(errorMessage, loggerContext);
|
|
164
201
|
emitterCb(lineError, finalError);
|
|
202
|
+
shouldDisconnect = serverCount > 1;
|
|
165
203
|
break;
|
|
166
204
|
}
|
|
167
205
|
default: {
|
|
@@ -169,6 +207,7 @@ export async function handleRegistrationErrors(err, emitterCb, loggerContext, re
|
|
|
169
207
|
updateLineErrorContext(loggerContext, ERROR_TYPE.FORBIDDEN_ERROR, errorMessage, RegistrationStatus.INACTIVE, lineError);
|
|
170
208
|
log.warn(errorMessage, loggerContext);
|
|
171
209
|
emitterCb(lineError, finalError);
|
|
210
|
+
shouldDisconnect = serverCount > 1;
|
|
172
211
|
}
|
|
173
212
|
}
|
|
174
213
|
break;
|
|
@@ -177,9 +216,10 @@ export async function handleRegistrationErrors(err, emitterCb, loggerContext, re
|
|
|
177
216
|
updateLineErrorContext(loggerContext, ERROR_TYPE.DEFAULT, 'Unknown error', RegistrationStatus.INACTIVE, lineError);
|
|
178
217
|
log.warn(`Unknown Error`, loggerContext);
|
|
179
218
|
emitterCb(lineError, finalError);
|
|
219
|
+
shouldDisconnect = serverCount > 1;
|
|
180
220
|
}
|
|
181
221
|
}
|
|
182
|
-
return finalError;
|
|
222
|
+
return { finalError, shouldDisconnect };
|
|
183
223
|
}
|
|
184
224
|
export async function handleCallingClientErrors(err, emitterCb, loggerContext) {
|
|
185
225
|
const clientError = createClientError('', {}, ERROR_TYPE.DEFAULT, RegistrationStatus.INACTIVE);
|
|
@@ -623,10 +663,10 @@ export function parseMediaQualityStatistics(stats) {
|
|
|
623
663
|
export const waitForMsecs = (msec) => new Promise((resolve) => {
|
|
624
664
|
setTimeout(resolve, msec);
|
|
625
665
|
});
|
|
626
|
-
export function
|
|
627
|
-
const entModels =
|
|
666
|
+
export function resolveCallingBackend(device) {
|
|
667
|
+
const entModels = device.features.entitlement.models;
|
|
628
668
|
let callingBackend;
|
|
629
|
-
if (
|
|
669
|
+
if (device.callingBehavior === NATIVE_WEBEX_TEAMS_CALLING) {
|
|
630
670
|
for (let i = 0; i < entModels.length; i += 1) {
|
|
631
671
|
if (entModels[i][VALUES][KEY] === ENTITLEMENT_BASIC ||
|
|
632
672
|
entModels[i][VALUES][KEY] === ENTITLEMENT_STANDARD) {
|
|
@@ -639,13 +679,16 @@ export function getCallingBackEnd(webex) {
|
|
|
639
679
|
}
|
|
640
680
|
}
|
|
641
681
|
}
|
|
642
|
-
else if (
|
|
682
|
+
else if (device.callingBehavior === NATIVE_SIP_CALL_TO_UCM) {
|
|
643
683
|
callingBackend = CALLING_BACKEND.UCM;
|
|
644
684
|
}
|
|
645
685
|
else {
|
|
646
686
|
callingBackend = CALLING_BACKEND.INVALID;
|
|
647
687
|
}
|
|
648
|
-
return callingBackend;
|
|
688
|
+
return callingBackend || CALLING_BACKEND.INVALID;
|
|
689
|
+
}
|
|
690
|
+
export function getCallingBackEnd(webex) {
|
|
691
|
+
return resolveCallingBackend(webex.internal.device);
|
|
649
692
|
}
|
|
650
693
|
export async function getXsiActionEndpoint(webex, loggerContext, callingBackend) {
|
|
651
694
|
try {
|
|
@@ -851,7 +894,7 @@ export function inferIdFromUuid(id, decodeType) {
|
|
|
851
894
|
function isValidServiceIndicator(indicator) {
|
|
852
895
|
return Object.values(ServiceIndicator).some((v) => v === indicator);
|
|
853
896
|
}
|
|
854
|
-
function isValidServiceDomain(serviceData) {
|
|
897
|
+
export function isValidServiceDomain(serviceData) {
|
|
855
898
|
const regexp = /^[a-z0-9]+([-.]{1}[a-z0-9]+)*\.[a-z]{2,6}$/i;
|
|
856
899
|
const { domain } = serviceData;
|
|
857
900
|
if (!domain) {
|
|
@@ -866,9 +909,6 @@ export function validateServiceData(serviceData) {
|
|
|
866
909
|
if (!isValidServiceIndicator(serviceData.indicator)) {
|
|
867
910
|
throw new Error(`Invalid service indicator, Allowed values are: ${formattedValues}`);
|
|
868
911
|
}
|
|
869
|
-
if (!isValidServiceDomain(serviceData)) {
|
|
870
|
-
throw new Error('Invalid service domain.');
|
|
871
|
-
}
|
|
872
912
|
}
|
|
873
913
|
export function modifySdpForIPv4(sdp) {
|
|
874
914
|
try {
|
|
@@ -941,3 +981,6 @@ export async function uploadLogs(metaData = {}, throwError = false) {
|
|
|
941
981
|
return undefined;
|
|
942
982
|
}
|
|
943
983
|
}
|
|
984
|
+
export function normalizeMobiusUris(urls) {
|
|
985
|
+
return urls.map((url) => (!url.endsWith('/') ? `${url}/` : url));
|
|
986
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import platform from 'platform';
|
|
2
|
+
import { CISCO_DEVICE_URL } from '../CallingClient/constants';
|
|
2
3
|
const MediaSDKMock = jest.createMockFromModule('@webex/internal-media-core');
|
|
3
4
|
export function getTestUtilsWebex() {
|
|
4
5
|
return {
|
|
@@ -34,6 +35,9 @@ export function getTestUtilsWebex() {
|
|
|
34
35
|
entitlement: {
|
|
35
36
|
models: [{ _values: { key: 'bc-sp-standard' } }],
|
|
36
37
|
},
|
|
38
|
+
developer: {
|
|
39
|
+
get: jest.fn().mockReturnValue({ value: false }),
|
|
40
|
+
},
|
|
37
41
|
},
|
|
38
42
|
},
|
|
39
43
|
encryption: {
|
|
@@ -61,6 +65,7 @@ export function getTestUtilsWebex() {
|
|
|
61
65
|
mercuryApi: 'https://mercury-api-intb.ciscospark.com/v1',
|
|
62
66
|
'ucmgmt-gateway': 'https://gw.telemetry.int-ucmgmt.cisco.com',
|
|
63
67
|
contactsService: 'https://contacts-service-a.wbx2.com/contact/api/v1',
|
|
68
|
+
hydraDeveloperApi: 'https://integration.webexapis.com/v1',
|
|
64
69
|
},
|
|
65
70
|
fetchClientRegionInfo: jest.fn(),
|
|
66
71
|
getMobiusClusters: jest.fn(),
|
|
@@ -106,7 +111,7 @@ export const mockCallingClient = {
|
|
|
106
111
|
export const getMockRequestTemplate = () => {
|
|
107
112
|
return {
|
|
108
113
|
headers: {
|
|
109
|
-
|
|
114
|
+
[CISCO_DEVICE_URL]: 'https://wdm-intb.ciscospark.com/wdm/api/v1/devices/c5ae3b86-1bb7-40f1-a6a9-c296ee7e61d5',
|
|
110
115
|
'spark-user-agent': 'webex-calling/beta',
|
|
111
116
|
},
|
|
112
117
|
service: 'mobius',
|
|
@@ -3,6 +3,7 @@ export var ALLOWED_SERVICES;
|
|
|
3
3
|
(function (ALLOWED_SERVICES) {
|
|
4
4
|
ALLOWED_SERVICES["MOBIUS"] = "mobius";
|
|
5
5
|
ALLOWED_SERVICES["JANUS"] = "janus";
|
|
6
|
+
ALLOWED_SERVICES["HYDRA_DEVELOPER_API"] = "hydraDeveloperApi";
|
|
6
7
|
})(ALLOWED_SERVICES || (ALLOWED_SERVICES = {}));
|
|
7
8
|
export var HTTP_METHODS;
|
|
8
9
|
(function (HTTP_METHODS) {
|
|
@@ -62,6 +63,8 @@ export var WorkerMessageType;
|
|
|
62
63
|
(function (WorkerMessageType) {
|
|
63
64
|
WorkerMessageType["START_KEEPALIVE"] = "START_KEEPALIVE";
|
|
64
65
|
WorkerMessageType["CLEAR_KEEPALIVE"] = "CLEAR_KEEPALIVE";
|
|
66
|
+
WorkerMessageType["SEND_KEEPALIVE"] = "SEND_KEEPALIVE";
|
|
67
|
+
WorkerMessageType["KEEPALIVE_RESULT"] = "KEEPALIVE_RESULT";
|
|
65
68
|
WorkerMessageType["KEEPALIVE_SUCCESS"] = "KEEPALIVE_SUCCESS";
|
|
66
69
|
WorkerMessageType["KEEPALIVE_FAILURE"] = "KEEPALIVE_FAILURE";
|
|
67
70
|
})(WorkerMessageType || (WorkerMessageType = {}));
|
package/dist/module/index.js
CHANGED
|
@@ -4,13 +4,17 @@ import { createContactsClient } from './Contacts/ContactsClient';
|
|
|
4
4
|
import { createClient } from './CallingClient/CallingClient';
|
|
5
5
|
import { createCallHistoryClient } from './CallHistory/CallHistory';
|
|
6
6
|
import { createVoicemailClient } from './Voicemail/Voicemail';
|
|
7
|
+
import { createCallRecordingClient } from './CallRecording/CallRecording';
|
|
7
8
|
import Logger from './Logger';
|
|
8
|
-
export { createClient, createCallHistoryClient, createCallSettingsClient, createContactsClient, createMicrophoneStream, createVoicemailClient, Logger, NoiseReductionEffect, };
|
|
9
|
+
export { createClient, createCallHistoryClient, createCallSettingsClient, createContactsClient, createMicrophoneStream, createVoicemailClient, createCallRecordingClient, Logger, NoiseReductionEffect, };
|
|
9
10
|
export { ERROR_LAYER, ERROR_TYPE } from './Errors/types';
|
|
11
|
+
export { RecordingStatus, RecordingRequestType, } from './CallRecording/types';
|
|
12
|
+
export { getRemoteParty } from './CallRecording/utils';
|
|
10
13
|
export { GroupType } from './Contacts/types';
|
|
11
14
|
export { LINE_EVENTS } from './CallingClient/line/types';
|
|
12
|
-
export { CALLING_CLIENT_EVENT_KEYS, CALL_EVENT_KEYS, Disposition, LINE_EVENT_KEYS, COMMON_EVENT_KEYS, } from './Events/types';
|
|
13
|
-
export { CallDirection, CallType, SORT, SORT_BY, } from './common/types';
|
|
15
|
+
export { CALLING_CLIENT_EVENT_KEYS, CALL_EVENT_KEYS, Disposition, LINE_EVENT_KEYS, COMMON_EVENT_KEYS, MOBIUS_SOCKET_DISCONNECT_REASON, } from './Events/types';
|
|
16
|
+
export { CallDirection, CallType, CALLING_BACKEND, SORT, SORT_BY, } from './common/types';
|
|
17
|
+
export { resolveCallingBackend } from './common/Utils';
|
|
14
18
|
export { CallError, LineError } from './Errors';
|
|
15
19
|
export { TransferType } from './CallingClient/calling/types';
|
|
16
20
|
export { LOGGER } from './Logger/types';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
3
|
+
*/
|
|
4
|
+
const mobiusSocketConfig = {
|
|
5
|
+
wssResponseTimeout: 10000,
|
|
6
|
+
backoffTimeMax: 32000,
|
|
7
|
+
backoffTimeReset: 1000,
|
|
8
|
+
initialConnectionMaxRetries: 0,
|
|
9
|
+
maxRetries: 3,
|
|
10
|
+
forceCloseDelay: 2000,
|
|
11
|
+
dedupCacheMaxSize: 1000,
|
|
12
|
+
};
|
|
13
|
+
export default {
|
|
14
|
+
mobiusSocket: mobiusSocketConfig,
|
|
15
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
3
|
+
*/
|
|
4
|
+
import { Exception } from '@webex/common';
|
|
5
|
+
export class ConnectionError extends Exception {
|
|
6
|
+
static defaultMessage = 'Failed to connect to socket';
|
|
7
|
+
code;
|
|
8
|
+
reason;
|
|
9
|
+
constructor(event = {}) {
|
|
10
|
+
super(event);
|
|
11
|
+
this.code = event.code;
|
|
12
|
+
this.reason = event.reason;
|
|
13
|
+
}
|
|
14
|
+
parse(event = {}) {
|
|
15
|
+
return event.reason;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export class UnknownResponse extends ConnectionError {
|
|
19
|
+
static defaultMessage = 'UnknownResponse is produced by IE when we receive a 4XXX. You probably want to treat this like a NotFound';
|
|
20
|
+
constructor(event) {
|
|
21
|
+
super(event);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export class BadRequest extends ConnectionError {
|
|
25
|
+
static defaultMessage = 'BadRequest usually implies an attempt to use service account credentials';
|
|
26
|
+
constructor(event) {
|
|
27
|
+
super(event);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export class NotAuthorized extends ConnectionError {
|
|
31
|
+
static defaultMessage = 'Please refresh your access token';
|
|
32
|
+
constructor(event) {
|
|
33
|
+
super(event);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export class Forbidden extends ConnectionError {
|
|
37
|
+
static defaultMessage = 'Forbidden usually implies these credentials are not entitled for Webex';
|
|
38
|
+
constructor(event) {
|
|
39
|
+
super(event);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export function createWssResponseError(response, statusCode, statusMessage) {
|
|
43
|
+
const error = new Error(statusMessage || `Mobius websocket request failed with status ${statusCode || 'unknown'}`);
|
|
44
|
+
error.name = 'MobiusSocketResponseError';
|
|
45
|
+
error.statusCode = statusCode;
|
|
46
|
+
error.statusMessage = statusMessage;
|
|
47
|
+
error.response = response;
|
|
48
|
+
error.trackingId = response?.trackingId;
|
|
49
|
+
return error;
|
|
50
|
+
}
|
|
51
|
+
export function createTimeoutError(request) {
|
|
52
|
+
const errorPayload = {
|
|
53
|
+
type: 'response_event',
|
|
54
|
+
subtype: request.type,
|
|
55
|
+
trackingId: request.trackingId,
|
|
56
|
+
};
|
|
57
|
+
return createWssResponseError(errorPayload, 408, 'Mobius websocket response timed out');
|
|
58
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
3
|
+
*/
|
|
4
|
+
import '@webex/internal-plugin-device';
|
|
5
|
+
import '@webex/internal-plugin-feature';
|
|
6
|
+
import '@webex/internal-plugin-metrics';
|
|
7
|
+
import MobiusSocket from './mobius-socket';
|
|
8
|
+
import config from './config';
|
|
9
|
+
let mobiusSocketInstance;
|
|
10
|
+
export function getMobiusSocketInstance(webex, mobiusSocketConfig) {
|
|
11
|
+
if (mobiusSocketInstance) {
|
|
12
|
+
return mobiusSocketInstance;
|
|
13
|
+
}
|
|
14
|
+
mobiusSocketInstance = new MobiusSocket(webex, {
|
|
15
|
+
...config.mobiusSocket,
|
|
16
|
+
...mobiusSocketConfig,
|
|
17
|
+
});
|
|
18
|
+
return mobiusSocketInstance;
|
|
19
|
+
}
|
|
20
|
+
export function resetMobiusSocketInstance() {
|
|
21
|
+
mobiusSocketInstance = undefined;
|
|
22
|
+
}
|
|
23
|
+
export default MobiusSocket;
|
|
24
|
+
export { MobiusSocket };
|