@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
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { MOBIUS_EVENT_KEYS, RECORDING_EVENT_SUBTYPE, RECORDING_EVENT_TYPE, } from '../Events/types';
|
|
2
|
+
import { RecordingStatus } from './types';
|
|
3
|
+
export const CALL_SESSION_ID = 'a1b2c3d4-1111-2222-3333-444455556666';
|
|
4
|
+
export const RECORDING_ONE = {
|
|
5
|
+
id: '11111111-aaaa-bbbb-cccc-222222222222',
|
|
6
|
+
topic: 'Call with Alice',
|
|
7
|
+
createTime: '2024-05-01T10:01:05.000Z',
|
|
8
|
+
timeRecorded: '2024-05-01T10:00:00.000Z',
|
|
9
|
+
format: 'MP3',
|
|
10
|
+
serviceType: 'calling',
|
|
11
|
+
durationSeconds: 65,
|
|
12
|
+
sizeBytes: 1048576,
|
|
13
|
+
status: RecordingStatus.AVAILABLE,
|
|
14
|
+
ownerId: '8a67806f-fc4d-446b-a131-31e71ea5b0e9',
|
|
15
|
+
ownerEmail: 'owner@cisco.com',
|
|
16
|
+
ownerType: 'user',
|
|
17
|
+
storageRegion: 'US',
|
|
18
|
+
serviceData: {
|
|
19
|
+
locationId: 'loc-1',
|
|
20
|
+
callSessionId: CALL_SESSION_ID,
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
export const RECORDING_TWO = {
|
|
24
|
+
id: '33333333-dddd-eeee-ffff-444444444444',
|
|
25
|
+
topic: 'Call with Bob',
|
|
26
|
+
createTime: '2024-05-02T11:02:05.000Z',
|
|
27
|
+
timeRecorded: '2024-05-02T11:00:00.000Z',
|
|
28
|
+
format: 'MP3',
|
|
29
|
+
serviceType: 'calling',
|
|
30
|
+
durationSeconds: 120,
|
|
31
|
+
sizeBytes: 2097152,
|
|
32
|
+
status: RecordingStatus.AVAILABLE,
|
|
33
|
+
ownerId: '8a67806f-fc4d-446b-a131-31e71ea5b0e9',
|
|
34
|
+
ownerEmail: 'owner@cisco.com',
|
|
35
|
+
ownerType: 'user',
|
|
36
|
+
storageRegion: 'US',
|
|
37
|
+
serviceData: {
|
|
38
|
+
locationId: 'loc-1',
|
|
39
|
+
callSessionId: 'ffffffff-9999-8888-7777-666666666666',
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
export const MOCK_RECORDING_LIST_BODY = {
|
|
43
|
+
statusCode: 200,
|
|
44
|
+
body: {
|
|
45
|
+
items: [RECORDING_ONE, RECORDING_TWO],
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
export const MOCK_EMPTY_RECORDING_LIST_BODY = {
|
|
49
|
+
statusCode: 200,
|
|
50
|
+
body: {
|
|
51
|
+
items: [],
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
export const MOCK_RECORDING_BODY = {
|
|
55
|
+
statusCode: 200,
|
|
56
|
+
body: RECORDING_ONE,
|
|
57
|
+
};
|
|
58
|
+
export const RECORDING_OWNER_ID = '8a67806f-fc4d-446b-a131-31e71ea5b0e9';
|
|
59
|
+
export const RECORDING_REMOTE_PARTY_ID = '0fea4a63-4e27-46ee-99c3-2472cb12bf68';
|
|
60
|
+
export const MOCK_RECORDING_METADATA = {
|
|
61
|
+
id: RECORDING_ONE.id,
|
|
62
|
+
callSessionId: CALL_SESSION_ID,
|
|
63
|
+
owner: {
|
|
64
|
+
ownerID: RECORDING_OWNER_ID,
|
|
65
|
+
ownerEmail: 'owner@cisco.com',
|
|
66
|
+
ownerName: 'Mark',
|
|
67
|
+
orgID: '1704d30d-a131-4bc7-9449-948487643793',
|
|
68
|
+
},
|
|
69
|
+
participants: [
|
|
70
|
+
{ id: RECORDING_OWNER_ID, name: 'Mark', email: 'owner@cisco.com' },
|
|
71
|
+
{ id: RECORDING_REMOTE_PARTY_ID, name: 'Alice', email: 'alice@cisco.com' },
|
|
72
|
+
],
|
|
73
|
+
mediaStreams: [{ streamId: 'audio-1', type: 'audio', codec: 'opus', durationMS: 65000 }],
|
|
74
|
+
extensionData: {
|
|
75
|
+
callData: { direction: 'OUTGOING' },
|
|
76
|
+
acd: {},
|
|
77
|
+
redirectInfo: {},
|
|
78
|
+
},
|
|
79
|
+
serviceData: {
|
|
80
|
+
callRecordingId: RECORDING_ONE.id,
|
|
81
|
+
locationId: 'loc-1',
|
|
82
|
+
callSessionId: CALL_SESSION_ID,
|
|
83
|
+
personality: 'originator',
|
|
84
|
+
callingParty: {
|
|
85
|
+
actor: { type: 'USER', id: RECORDING_OWNER_ID, email: 'owner@cisco.com' },
|
|
86
|
+
number: '9902',
|
|
87
|
+
name: 'Mark',
|
|
88
|
+
},
|
|
89
|
+
calledParty: {
|
|
90
|
+
actor: { type: 'USER', id: RECORDING_REMOTE_PARTY_ID, email: 'alice@cisco.com' },
|
|
91
|
+
number: '9903',
|
|
92
|
+
name: 'Alice',
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
};
|
|
96
|
+
export const MOCK_RECORDING_METADATA_BODY = {
|
|
97
|
+
statusCode: 200,
|
|
98
|
+
body: MOCK_RECORDING_METADATA,
|
|
99
|
+
};
|
|
100
|
+
export const ERROR_DETAILS_400 = {
|
|
101
|
+
statusCode: 400,
|
|
102
|
+
data: {
|
|
103
|
+
error: '400 Bad request',
|
|
104
|
+
},
|
|
105
|
+
message: 'FAILURE',
|
|
106
|
+
};
|
|
107
|
+
export const ERROR_DETAILS_401 = {
|
|
108
|
+
statusCode: 401,
|
|
109
|
+
data: {
|
|
110
|
+
error: 'User is unauthorised, possible token expiry',
|
|
111
|
+
},
|
|
112
|
+
message: 'FAILURE',
|
|
113
|
+
};
|
|
114
|
+
export const ERROR_DETAILS_404 = {
|
|
115
|
+
statusCode: 404,
|
|
116
|
+
data: {
|
|
117
|
+
error: 'User info not found',
|
|
118
|
+
},
|
|
119
|
+
message: 'FAILURE',
|
|
120
|
+
};
|
|
121
|
+
const RECORDING_ACTIVITY = {
|
|
122
|
+
id: 'activity-1',
|
|
123
|
+
objectType: 'activity',
|
|
124
|
+
verb: 'add',
|
|
125
|
+
published: '2024-05-01T10:01:05.000Z',
|
|
126
|
+
actor: {
|
|
127
|
+
id: '8a67806f-fc4d-446b-a131-31e71ea5b0e9',
|
|
128
|
+
objectType: 'person',
|
|
129
|
+
emailAddress: 'owner@cisco.com',
|
|
130
|
+
},
|
|
131
|
+
object: {
|
|
132
|
+
id: RECORDING_ONE.id,
|
|
133
|
+
objectType: 'wxCallingCallRecording',
|
|
134
|
+
callSessionId: CALL_SESSION_ID,
|
|
135
|
+
durationSeconds: 65,
|
|
136
|
+
sizeBytes: 1048576,
|
|
137
|
+
},
|
|
138
|
+
};
|
|
139
|
+
export const MOCK_RECORDING_CREATED_EVENT = {
|
|
140
|
+
id: 'event-created',
|
|
141
|
+
data: {
|
|
142
|
+
activity: RECORDING_ACTIVITY,
|
|
143
|
+
eventType: RECORDING_EVENT_TYPE.CREATED,
|
|
144
|
+
},
|
|
145
|
+
timestamp: 12345,
|
|
146
|
+
trackingId: 'tracking-id',
|
|
147
|
+
};
|
|
148
|
+
export const MOCK_RECORDING_UPDATED_EVENT = {
|
|
149
|
+
id: 'event-updated',
|
|
150
|
+
data: {
|
|
151
|
+
activity: RECORDING_ACTIVITY,
|
|
152
|
+
eventType: RECORDING_EVENT_TYPE.UPDATED,
|
|
153
|
+
eventSubType: RECORDING_EVENT_SUBTYPE.SUMMARY_CREATE,
|
|
154
|
+
},
|
|
155
|
+
timestamp: 12346,
|
|
156
|
+
trackingId: 'tracking-id',
|
|
157
|
+
};
|
|
158
|
+
export const MOCK_RECORDING_DELETED_EVENT = {
|
|
159
|
+
id: 'event-deleted',
|
|
160
|
+
data: {
|
|
161
|
+
activity: RECORDING_ACTIVITY,
|
|
162
|
+
eventType: RECORDING_EVENT_TYPE.DELETED,
|
|
163
|
+
},
|
|
164
|
+
timestamp: 12347,
|
|
165
|
+
trackingId: 'tracking-id',
|
|
166
|
+
};
|
|
167
|
+
export const MOCK_RECORDING_TRASH_EVENT = {
|
|
168
|
+
id: 'event-trash',
|
|
169
|
+
data: {
|
|
170
|
+
activity: RECORDING_ACTIVITY,
|
|
171
|
+
eventType: RECORDING_EVENT_TYPE.UPDATED,
|
|
172
|
+
eventSubType: RECORDING_EVENT_SUBTYPE.TRASH,
|
|
173
|
+
},
|
|
174
|
+
timestamp: 12348,
|
|
175
|
+
trackingId: 'tracking-id',
|
|
176
|
+
};
|
|
177
|
+
export const MOCK_RECORDING_PURGE_EVENT = {
|
|
178
|
+
id: 'event-purge',
|
|
179
|
+
data: {
|
|
180
|
+
activity: RECORDING_ACTIVITY,
|
|
181
|
+
eventType: RECORDING_EVENT_TYPE.UPDATED,
|
|
182
|
+
eventSubType: RECORDING_EVENT_SUBTYPE.PURGE,
|
|
183
|
+
},
|
|
184
|
+
timestamp: 12349,
|
|
185
|
+
trackingId: 'tracking-id',
|
|
186
|
+
};
|
|
187
|
+
export const MOCK_RECORDING_RESTORE_EVENT = {
|
|
188
|
+
id: 'event-restore',
|
|
189
|
+
data: {
|
|
190
|
+
activity: RECORDING_ACTIVITY,
|
|
191
|
+
eventType: RECORDING_EVENT_TYPE.UPDATED,
|
|
192
|
+
eventSubType: RECORDING_EVENT_SUBTYPE.RESTORE,
|
|
193
|
+
},
|
|
194
|
+
timestamp: 12350,
|
|
195
|
+
trackingId: 'tracking-id',
|
|
196
|
+
};
|
|
197
|
+
export const RECORDING_MERCURY_KEYS = {
|
|
198
|
+
CREATED: MOBIUS_EVENT_KEYS.RECORDING_EVENT_CREATED,
|
|
199
|
+
UPDATED: MOBIUS_EVENT_KEYS.RECORDING_EVENT_UPDATED,
|
|
200
|
+
DELETED: MOBIUS_EVENT_KEYS.RECORDING_EVENT_DELETED,
|
|
201
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export const CALL_RECORDING_FILE = 'CallRecording';
|
|
2
|
+
export const CONVERGED_RECORDINGS = 'convergedRecordings';
|
|
3
|
+
export const METADATA = 'metadata';
|
|
4
|
+
export const FROM = 'from';
|
|
5
|
+
export const TO = 'to';
|
|
6
|
+
export const STATUS = 'status';
|
|
7
|
+
export const MAX = 'max';
|
|
8
|
+
export const SERVICE_TYPE = 'serviceType';
|
|
9
|
+
export const FORMAT = 'format';
|
|
10
|
+
export const OWNER_TYPE = 'ownerType';
|
|
11
|
+
export const STORAGE_REGION = 'storageRegion';
|
|
12
|
+
export const LOCATION_ID = 'locationId';
|
|
13
|
+
export const TOPIC = 'topic';
|
|
14
|
+
export const DEFAULT_STATUS = 'available';
|
|
15
|
+
export const DEFAULT_MAX = 30;
|
|
16
|
+
export const DEFAULT_NUMBER_OF_DAYS = 30;
|
|
17
|
+
export const WEBEX_USER_REQUEST_HEADER = 'WebexUserRequest';
|
|
18
|
+
export const RECORDING_NOT_FOUND_MESSAGE = 'No recordings found for the given call session id.';
|
|
19
|
+
export const METHODS = {
|
|
20
|
+
INITIALIZE_BACKEND_CONNECTOR: 'initializeBackendConnector',
|
|
21
|
+
GET_CALL_RECORDING: 'getCallRecording',
|
|
22
|
+
GET_RECORDINGS: 'getRecordings',
|
|
23
|
+
GET_RECORDING: 'getRecording',
|
|
24
|
+
GET_RECORDINGS_BY_CALL_SESSION_ID: 'getRecordingsByCallSessionId',
|
|
25
|
+
GET_RECORDING_METADATA: 'getRecordingMetadata',
|
|
26
|
+
DELETE_RECORDING: 'deleteRecording',
|
|
27
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export var RecordingStatus;
|
|
2
|
+
(function (RecordingStatus) {
|
|
3
|
+
RecordingStatus["AVAILABLE"] = "available";
|
|
4
|
+
RecordingStatus["DELETED"] = "deleted";
|
|
5
|
+
})(RecordingStatus || (RecordingStatus = {}));
|
|
6
|
+
export var AiGenerationStatus;
|
|
7
|
+
(function (AiGenerationStatus) {
|
|
8
|
+
AiGenerationStatus["NOT_STARTED"] = "NOT_STARTED";
|
|
9
|
+
AiGenerationStatus["IN_PROGRESS"] = "IN_PROGRESS";
|
|
10
|
+
AiGenerationStatus["COMPLETED"] = "COMPLETED";
|
|
11
|
+
AiGenerationStatus["FAILED"] = "FAILED";
|
|
12
|
+
})(AiGenerationStatus || (AiGenerationStatus = {}));
|
|
13
|
+
export var RecordingRequestType;
|
|
14
|
+
(function (RecordingRequestType) {
|
|
15
|
+
RecordingRequestType["LIST"] = "list";
|
|
16
|
+
RecordingRequestType["DETAIL"] = "detail";
|
|
17
|
+
RecordingRequestType["METADATA"] = "metadata";
|
|
18
|
+
RecordingRequestType["BY_CALL_SESSION"] = "byCallSession";
|
|
19
|
+
})(RecordingRequestType || (RecordingRequestType = {}));
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export const getRemoteParty = (serviceData) => {
|
|
2
|
+
if (!serviceData) {
|
|
3
|
+
return undefined;
|
|
4
|
+
}
|
|
5
|
+
const { personality, callingParty, calledParty } = serviceData;
|
|
6
|
+
switch (personality) {
|
|
7
|
+
case 'originator':
|
|
8
|
+
return calledParty;
|
|
9
|
+
case 'terminator':
|
|
10
|
+
return callingParty;
|
|
11
|
+
default:
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import * as Media from '@webex/internal-media-core';
|
|
2
2
|
import { Mutex } from 'async-mutex';
|
|
3
3
|
import { METHOD_START_MESSAGE } from '../common/constants';
|
|
4
|
-
import { filterMobiusUris, handleCallingClientErrors, uploadLogs, validateServiceData, } from '../common/Utils';
|
|
4
|
+
import { filterMobiusUris, handleCallingClientErrors, normalizeMobiusUris, isValidServiceDomain, uploadLogs, validateServiceData, } from '../common/Utils';
|
|
5
5
|
import { LOGGER } from '../Logger/types';
|
|
6
6
|
import SDKConnector from '../SDKConnector';
|
|
7
7
|
import { Eventing } from '../Events/impl';
|
|
8
8
|
import { MOBIUS_EVENT_KEYS, SessionType, CALLING_CLIENT_EVENT_KEYS, } from '../Events/types';
|
|
9
9
|
import { ServiceIndicator, ALLOWED_SERVICES, HTTP_METHODS, RegistrationStatus, } from '../common/types';
|
|
10
|
+
import { MobiusEventType } from './calling/types';
|
|
10
11
|
import log from '../Logger';
|
|
11
12
|
import { getCallManager } from './calling/callManager';
|
|
12
|
-
import { CALLING_CLIENT_FILE, CALLS_CLEARED_HANDLER_UTIL, CALLING_USER_AGENT, CISCO_DEVICE_URL, DISCOVERY_URL, GET_MOBIUS_SERVERS_UTIL, SPARK_USER_AGENT, URL_ENDPOINT, API_V1, METHODS, NETWORK_FLAP_TIMEOUT, DEVICES_ENDPOINT_RESOURCE, } from './constants';
|
|
13
|
+
import { CALLING_CLIENT_FILE, CALLS_CLEARED_HANDLER_UTIL, CALLING_USER_AGENT, CISCO_DEVICE_URL, DISCOVERY_URL, GET_MOBIUS_SERVERS_UTIL, SPARK_USER_AGENT, URL_ENDPOINT, API_V1, METHODS, NETWORK_FLAP_TIMEOUT, DEVICES_ENDPOINT_RESOURCE, WCC_CALLING_RTMS_DOMAIN, } from './constants';
|
|
13
14
|
import Line from './line';
|
|
14
|
-
import { METRIC_EVENT, REG_ACTION, METRIC_TYPE, CONNECTION_ACTION, MOBIUS_SERVER_ACTION, } from '../Metrics/types';
|
|
15
|
+
import { METRIC_EVENT, REG_ACTION, METRIC_TYPE, CONNECTION_ACTION, MOBIUS_SERVER_ACTION, MOBIUS_SOCKET_ACTION, } from '../Metrics/types';
|
|
15
16
|
import { getMetricManager } from '../Metrics';
|
|
16
17
|
import windowsChromiumIceWarmup from './windowsChromiumIceWarmupUtils';
|
|
18
|
+
import { APIRequest } from './utils/request';
|
|
17
19
|
export class CallingClient extends Eventing {
|
|
18
20
|
sdkConnector;
|
|
19
21
|
webex;
|
|
@@ -21,12 +23,16 @@ export class CallingClient extends Eventing {
|
|
|
21
23
|
callManager;
|
|
22
24
|
metricManager;
|
|
23
25
|
sdkConfig;
|
|
26
|
+
serviceData;
|
|
24
27
|
primaryMobiusUris;
|
|
25
28
|
backupMobiusUris;
|
|
29
|
+
primaryWssMobiusUris;
|
|
30
|
+
backupWssMobiusUris;
|
|
26
31
|
mobiusClusters;
|
|
27
32
|
mobiusHost;
|
|
28
33
|
mediaEngine;
|
|
29
34
|
lineDict = {};
|
|
35
|
+
apiRequest;
|
|
30
36
|
isNetworkDown = false;
|
|
31
37
|
networkDownTimestamp = '';
|
|
32
38
|
networkUpTimestamp = '';
|
|
@@ -45,14 +51,14 @@ export class CallingClient extends Eventing {
|
|
|
45
51
|
this.mutex = new Mutex();
|
|
46
52
|
this.webex = this.sdkConnector.getWebex();
|
|
47
53
|
this.sdkConfig = config;
|
|
48
|
-
|
|
54
|
+
this.serviceData = this.sdkConfig?.serviceData?.indicator
|
|
49
55
|
? this.sdkConfig.serviceData
|
|
50
56
|
: { indicator: ServiceIndicator.CALLING, domain: '' };
|
|
51
57
|
const logLevel = this.sdkConfig?.logger?.level ? this.sdkConfig.logger.level : LOGGER.ERROR;
|
|
52
58
|
log.setLogger(logLevel, CALLING_CLIENT_FILE);
|
|
53
|
-
validateServiceData(serviceData);
|
|
54
|
-
this.callManager = getCallManager(this.webex, serviceData.indicator);
|
|
55
|
-
this.metricManager = getMetricManager(this.webex, serviceData.indicator);
|
|
59
|
+
validateServiceData(this.serviceData);
|
|
60
|
+
this.callManager = getCallManager(this.webex, this.serviceData.indicator);
|
|
61
|
+
this.metricManager = getMetricManager(this.webex, this.serviceData.indicator);
|
|
56
62
|
this.mediaEngine = Media;
|
|
57
63
|
const adaptedLogger = {
|
|
58
64
|
log: (...args) => webex.logger.log(args.join(' : ')),
|
|
@@ -65,12 +71,20 @@ export class CallingClient extends Eventing {
|
|
|
65
71
|
this.mediaEngine.setLogger(adaptedLogger);
|
|
66
72
|
this.primaryMobiusUris = [];
|
|
67
73
|
this.backupMobiusUris = [];
|
|
74
|
+
this.primaryWssMobiusUris = [];
|
|
75
|
+
this.backupWssMobiusUris = [];
|
|
68
76
|
this.mobiusClusters = this.webex.internal.services.getMobiusClusters();
|
|
69
77
|
this.mobiusHost = '';
|
|
78
|
+
this.apiRequest = APIRequest.getInstance({ webex: this.webex });
|
|
70
79
|
this.registerSessionsListener();
|
|
71
80
|
this.registerCallsClearedListener();
|
|
72
81
|
}
|
|
73
82
|
async init() {
|
|
83
|
+
const loggerContext = {
|
|
84
|
+
file: CALLING_CLIENT_FILE,
|
|
85
|
+
method: METHODS.INIT,
|
|
86
|
+
};
|
|
87
|
+
log.info(METHOD_START_MESSAGE, loggerContext);
|
|
74
88
|
if (typeof window !== 'undefined' && window?.navigator?.userAgent) {
|
|
75
89
|
const ua = window.navigator.userAgent;
|
|
76
90
|
if (ua.toLowerCase().includes('windows')) {
|
|
@@ -97,8 +111,50 @@ export class CallingClient extends Eventing {
|
|
|
97
111
|
}
|
|
98
112
|
}
|
|
99
113
|
await this.getMobiusServers();
|
|
114
|
+
if (this.apiRequest.isSocketEnabled()) {
|
|
115
|
+
this.apiRequest.registerMobiusSocketConnectionListener({
|
|
116
|
+
onConnected: () => this.emit(CALLING_CLIENT_EVENT_KEYS.MOBIUS_SOCKET_CONNECTED),
|
|
117
|
+
onDisconnected: (reason) => this.emit(CALLING_CLIENT_EVENT_KEYS.MOBIUS_SOCKET_DISCONNECTED, { reason }),
|
|
118
|
+
});
|
|
119
|
+
await this.connectToMobiusSocket();
|
|
120
|
+
this.apiRequest.registerMobiusSocketListener(this.handleMobiusAsyncEvent);
|
|
121
|
+
}
|
|
122
|
+
if (this.serviceData.indicator === ServiceIndicator.CONTACT_CENTER &&
|
|
123
|
+
!this.serviceData.domain) {
|
|
124
|
+
const rtmsDomain = this.getRTMSDomain();
|
|
125
|
+
this.serviceData.domain = rtmsDomain;
|
|
126
|
+
if (this.sdkConfig?.serviceData) {
|
|
127
|
+
this.sdkConfig.serviceData.domain = this.serviceData.domain;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (!isValidServiceDomain(this.serviceData)) {
|
|
131
|
+
throw new Error('Invalid service domain.');
|
|
132
|
+
}
|
|
100
133
|
await this.createLine();
|
|
101
134
|
this.setupNetworkEventListeners();
|
|
135
|
+
log.log('CallingClient initialization complete', loggerContext);
|
|
136
|
+
}
|
|
137
|
+
getRTMSDomain() {
|
|
138
|
+
log.info('Fetching RTMS domain from service catalog', {
|
|
139
|
+
file: CALLING_CLIENT_FILE,
|
|
140
|
+
method: METHODS.GET_RTMS_DOMAIN,
|
|
141
|
+
});
|
|
142
|
+
try {
|
|
143
|
+
const rtmsURL = this.webex.internal.services.get(WCC_CALLING_RTMS_DOMAIN);
|
|
144
|
+
const url = new URL(rtmsURL);
|
|
145
|
+
log.info(`RTMS domain resolved from catalog: ${url.hostname}`, {
|
|
146
|
+
file: CALLING_CLIENT_FILE,
|
|
147
|
+
method: METHODS.GET_RTMS_DOMAIN,
|
|
148
|
+
});
|
|
149
|
+
return url.hostname;
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
log.warn(`Failed to fetch RTMS domain from service catalog: ${error}`, {
|
|
153
|
+
file: CALLING_CLIENT_FILE,
|
|
154
|
+
method: METHODS.GET_RTMS_DOMAIN,
|
|
155
|
+
});
|
|
156
|
+
return '';
|
|
157
|
+
}
|
|
102
158
|
}
|
|
103
159
|
async checkNetworkReachability() {
|
|
104
160
|
try {
|
|
@@ -311,6 +367,8 @@ export class CallingClient extends Eventing {
|
|
|
311
367
|
const mobiusUris = filterMobiusUris(mobiusServers, this.mobiusHost);
|
|
312
368
|
this.primaryMobiusUris = mobiusUris.primary;
|
|
313
369
|
this.backupMobiusUris = mobiusUris.backup;
|
|
370
|
+
this.primaryWssMobiusUris = mobiusUris.primaryWss;
|
|
371
|
+
this.backupWssMobiusUris = mobiusUris.backupWss;
|
|
314
372
|
log.log(`Final list of Mobius Servers, primary: ${mobiusUris.primary} and backup: ${mobiusUris.backup}`, {
|
|
315
373
|
file: CALLING_CLIENT_FILE,
|
|
316
374
|
method: GET_MOBIUS_SERVERS_UTIL,
|
|
@@ -346,6 +404,54 @@ export class CallingClient extends Eventing {
|
|
|
346
404
|
this.primaryMobiusUris = [`${this.mobiusHost}${URL_ENDPOINT}`];
|
|
347
405
|
}
|
|
348
406
|
}
|
|
407
|
+
async connectToMobiusSocket() {
|
|
408
|
+
const loggerContext = {
|
|
409
|
+
file: CALLING_CLIENT_FILE,
|
|
410
|
+
method: METHODS.CONNECT_TO_MOBIUS_SOCKET,
|
|
411
|
+
};
|
|
412
|
+
log.info(METHOD_START_MESSAGE, loggerContext);
|
|
413
|
+
if (!this.primaryWssMobiusUris.length) {
|
|
414
|
+
log.warn('No WSS URIs available from Mobius discovery for primary, skipping socket connection', loggerContext);
|
|
415
|
+
return;
|
|
416
|
+
}
|
|
417
|
+
for (const wssUri of this.primaryWssMobiusUris) {
|
|
418
|
+
try {
|
|
419
|
+
log.log(`Trying primary WSS URI: ${wssUri}`, loggerContext);
|
|
420
|
+
await this.apiRequest.connectToMobiusSocket(wssUri);
|
|
421
|
+
log.log(`Successfully connected to Mobius socket on primary WSS URI: ${wssUri}`, loggerContext);
|
|
422
|
+
return;
|
|
423
|
+
}
|
|
424
|
+
catch (err) {
|
|
425
|
+
log.warn(`Primary WSS URI connection failed for ${wssUri}: ${err}`, loggerContext);
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
log.warn('All primary WSS URI connection attempts failed', loggerContext);
|
|
429
|
+
}
|
|
430
|
+
handleMobiusAsyncEvent = async (event) => {
|
|
431
|
+
const loggerContext = {
|
|
432
|
+
file: CALLING_CLIENT_FILE,
|
|
433
|
+
method: METHODS.HANDLE_MOBIUS_ASYNC_EVENT,
|
|
434
|
+
};
|
|
435
|
+
const eventType = event?.data.eventType;
|
|
436
|
+
log.trace(`Mobius async event received - eventType: ${eventType ?? 'undefined'}`, loggerContext);
|
|
437
|
+
if (!eventType) {
|
|
438
|
+
log.warn('Dropping unsupported mobius socket payload', loggerContext);
|
|
439
|
+
return;
|
|
440
|
+
}
|
|
441
|
+
if (eventType === MobiusEventType.REGISTRATION_DOWN) {
|
|
442
|
+
log.warn(`Received ${eventType} event from Mobius.`, loggerContext);
|
|
443
|
+
const line = Object.values(this.lineDict)[0];
|
|
444
|
+
if (!line) {
|
|
445
|
+
log.warn('No line found, skipping registration down event', loggerContext);
|
|
446
|
+
return;
|
|
447
|
+
}
|
|
448
|
+
await line.registration.handleRegistrationDownEvent(event);
|
|
449
|
+
this.metricManager.submitMobiusSocketMetric(METRIC_EVENT.MOBIUS_SOCKET_ERROR, MOBIUS_SOCKET_ACTION.REGISTRATION_DOWN, METRIC_TYPE.BEHAVIORAL, undefined, event?.trackingId, undefined, eventType);
|
|
450
|
+
return;
|
|
451
|
+
}
|
|
452
|
+
this.callManager.dequeueWsEvents(event);
|
|
453
|
+
log.trace(`Mobius async event dispatched to CallManager - eventType: ${eventType}`, loggerContext);
|
|
454
|
+
};
|
|
349
455
|
registerCallsClearedListener() {
|
|
350
456
|
log.info(METHOD_START_MESSAGE, {
|
|
351
457
|
file: CALLING_CLIENT_FILE,
|
|
@@ -404,7 +510,14 @@ export class CallingClient extends Eventing {
|
|
|
404
510
|
file: CALLING_CLIENT_FILE,
|
|
405
511
|
method: METHODS.CREATE_LINE,
|
|
406
512
|
});
|
|
407
|
-
const
|
|
513
|
+
const socketEnabled = this.apiRequest.isSocketEnabled();
|
|
514
|
+
const primaryUris = socketEnabled && this.primaryWssMobiusUris.length
|
|
515
|
+
? normalizeMobiusUris(this.primaryWssMobiusUris)
|
|
516
|
+
: this.primaryMobiusUris;
|
|
517
|
+
const backupUris = socketEnabled && this.backupWssMobiusUris.length
|
|
518
|
+
? normalizeMobiusUris(this.backupWssMobiusUris)
|
|
519
|
+
: this.backupMobiusUris;
|
|
520
|
+
const line = new Line(this.webex.internal.device.userId, this.webex.internal.device.url, this.mutex, primaryUris, backupUris, this.getLoggingLevel(), this.serviceData, this.sdkConfig?.jwe);
|
|
408
521
|
this.lineDict[line.lineId] = line;
|
|
409
522
|
}
|
|
410
523
|
getLines() {
|
|
@@ -425,7 +538,7 @@ export class CallingClient extends Eventing {
|
|
|
425
538
|
const normalizedMobiusUrl = mobiusUrl.replace(/\/+$/, '/');
|
|
426
539
|
const uri = `${normalizedMobiusUrl}${DEVICES_ENDPOINT_RESOURCE}?userid=${encodeURIComponent(userid)}`;
|
|
427
540
|
try {
|
|
428
|
-
const response = await this.webex.request({
|
|
541
|
+
const response = (await this.webex.request({
|
|
429
542
|
uri,
|
|
430
543
|
method: HTTP_METHODS.GET,
|
|
431
544
|
service: ALLOWED_SERVICES.MOBIUS,
|
|
@@ -433,7 +546,7 @@ export class CallingClient extends Eventing {
|
|
|
433
546
|
[CISCO_DEVICE_URL]: this.webex.internal.device.url,
|
|
434
547
|
[SPARK_USER_AGENT]: CALLING_USER_AGENT,
|
|
435
548
|
},
|
|
436
|
-
});
|
|
549
|
+
}));
|
|
437
550
|
if (response.statusCode !== 200) {
|
|
438
551
|
throw new Error(`API call failed with ${response.statusCode}`);
|
|
439
552
|
}
|
|
@@ -474,6 +587,9 @@ export class CallingClient extends Eventing {
|
|
|
474
587
|
});
|
|
475
588
|
return connectCall;
|
|
476
589
|
}
|
|
590
|
+
isMobiusSocketConnected() {
|
|
591
|
+
return this.apiRequest.isSocketEnabled() && this.apiRequest.isSocketConnected();
|
|
592
|
+
}
|
|
477
593
|
async uploadLogs() {
|
|
478
594
|
const result = await uploadLogs({}, true);
|
|
479
595
|
if (!result) {
|