@voicenter-team/events-sdk 0.0.67 → 0.0.69
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/voicenter-events-sdk.cjs.js +8 -8
- package/dist/voicenter-events-sdk.cjs.js.map +1 -1
- package/dist/voicenter-events-sdk.d.ts +846 -324
- package/dist/voicenter-events-sdk.es.js +1078 -1061
- package/dist/voicenter-events-sdk.es.js.map +1 -1
- package/dist/voicenter-events-sdk.iife.js +8 -8
- package/dist/voicenter-events-sdk.iife.js.map +1 -1
- package/dist/voicenter-events-sdk.umd.js +8 -8
- package/dist/voicenter-events-sdk.umd.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,34 +1,82 @@
|
|
|
1
|
-
import { DebouncedFuncLeading } from 'lodash';
|
|
2
1
|
import { io } from 'socket.io-client';
|
|
2
|
+
import type { LoggerDataPartial } from '@voicenter-team/socketio-storage-logger';
|
|
3
|
+
import { LoggerOptions } from '@voicenter-team/socketio-storage-logger';
|
|
3
4
|
import { Socket as Socket_2 } from 'socket.io-client';
|
|
5
|
+
import StorageLogger from '@voicenter-team/socketio-storage-logger';
|
|
4
6
|
|
|
5
7
|
export declare type ActiveRoomListener = (event: number | undefined) => void
|
|
6
8
|
|
|
7
9
|
export declare type addRoomListener = (value: string) => void
|
|
8
10
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
11
|
+
declare type AllDialersStatusEvent = {
|
|
12
|
+
dialers: Array<Dialer>;
|
|
13
|
+
/**
|
|
14
|
+
* 0 - Connection was establishing successfully.
|
|
15
|
+
*/
|
|
16
|
+
errorCode?: number;
|
|
17
|
+
/**
|
|
18
|
+
* “Ok” - Connection was establishing successfully.
|
|
19
|
+
*/
|
|
20
|
+
errorDesc?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Server time at the moment of the event
|
|
23
|
+
*/
|
|
24
|
+
serverTime: number;
|
|
25
|
+
/**
|
|
26
|
+
* Difference in time between server and client
|
|
27
|
+
*/
|
|
28
|
+
serverTimeOffset: number;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export declare type AllDialersStatusEventSDK = EventTypeData<EventsEnum.ALL_DIALER_STATUS>
|
|
32
|
+
|
|
33
|
+
declare type AllExtensionStatusEvent = {
|
|
34
|
+
/**
|
|
35
|
+
* 0 - Connection was establishing successfully.
|
|
36
|
+
*/
|
|
37
|
+
errorCode?: number;
|
|
38
|
+
/**
|
|
39
|
+
* “Ok” - Connection was establishing successfully.
|
|
40
|
+
*/
|
|
41
|
+
errorDesc?: string;
|
|
42
|
+
extensions: Array<Extension>;
|
|
43
|
+
/**
|
|
44
|
+
* Server time at the moment of the event
|
|
45
|
+
*/
|
|
46
|
+
servertime: number;
|
|
47
|
+
/**
|
|
48
|
+
* Difference in time between server and client
|
|
49
|
+
*/
|
|
50
|
+
servertimeoffset: number;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
declare interface AllExtensionStatusEventExtended extends Omit<AllExtensionStatusEvent, 'extensions'> {
|
|
54
|
+
extensions: Array<ExtensionSDK>
|
|
23
55
|
}
|
|
24
56
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
57
|
+
export declare type AllExtensionStatusEventSDK = EventTypeData<EventsEnum.ALL_EXTENSION_STATUS>
|
|
58
|
+
|
|
59
|
+
declare type AllUsersStatusEvent = {
|
|
60
|
+
users: Array<User>;
|
|
61
|
+
/**
|
|
62
|
+
* 0 - Connection was establishing successfully.
|
|
63
|
+
*/
|
|
64
|
+
errorCode?: number;
|
|
65
|
+
/**
|
|
66
|
+
* “Ok” - Connection was establishing successfully.
|
|
67
|
+
*/
|
|
68
|
+
errorDesc?: string;
|
|
69
|
+
/**
|
|
70
|
+
* Server time at the moment of the event
|
|
71
|
+
*/
|
|
72
|
+
serverTime: number;
|
|
73
|
+
/**
|
|
74
|
+
* Difference in time between server and client
|
|
75
|
+
*/
|
|
76
|
+
serverTimeOffset: number;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export declare type AllUsersStatusEventSDK = EventTypeData<EventsEnum.ALL_USERS_STATUS>
|
|
32
80
|
|
|
33
81
|
declare class AuthClass {
|
|
34
82
|
private readonly eventsSdkClass;
|
|
@@ -36,30 +84,33 @@ declare class AuthClass {
|
|
|
36
84
|
private delay;
|
|
37
85
|
lastLoginTimestamp: number | undefined;
|
|
38
86
|
token: string | undefined;
|
|
87
|
+
private refreshToken;
|
|
88
|
+
private tokenExpiry;
|
|
39
89
|
private storageKey;
|
|
40
|
-
login(
|
|
90
|
+
login(): Promise<Partial<LoginSessionData> | undefined>;
|
|
41
91
|
updateLastLoginTimestamp(): void;
|
|
42
92
|
private checkLoginStatus;
|
|
43
93
|
private userLoginFunction;
|
|
44
|
-
|
|
94
|
+
onLoginResponse(loginSessionData: Partial<LoginSessionData>): void;
|
|
45
95
|
handleTokenExpiry(): void;
|
|
46
96
|
private externalLogin;
|
|
47
97
|
private getSettings;
|
|
48
|
-
private
|
|
98
|
+
private externalRefreshToken;
|
|
99
|
+
private normalizeLoginType;
|
|
49
100
|
}
|
|
50
101
|
|
|
51
102
|
export declare type CallAddingProgressListener = (callId: string | undefined) => void
|
|
52
103
|
|
|
53
|
-
declare enum CallStatusEnum {
|
|
54
|
-
RINGING =
|
|
55
|
-
TALKING =
|
|
56
|
-
DIALING =
|
|
57
|
-
HOLD =
|
|
104
|
+
export declare enum CallStatusEnum {
|
|
105
|
+
RINGING = 'Ringing',
|
|
106
|
+
TALKING = 'Talking',
|
|
107
|
+
DIALING = 'Dialing',
|
|
108
|
+
HOLD = 'Hold',
|
|
58
109
|
}
|
|
59
110
|
|
|
60
|
-
declare enum CallTypeEnum {
|
|
61
|
-
INCOMING =
|
|
62
|
-
OUTGOING =
|
|
111
|
+
export declare enum CallTypeEnum {
|
|
112
|
+
INCOMING = 'Incoming',
|
|
113
|
+
OUTGOING = 'Outgoing',
|
|
63
114
|
}
|
|
64
115
|
|
|
65
116
|
export declare type changeActiveCallsListener = (event: { [key: string]: string }) => void
|
|
@@ -76,67 +127,129 @@ export declare type changeIsMutedListener = (value: boolean) => void
|
|
|
76
127
|
|
|
77
128
|
export declare type changeMuteWhenJoinListener = (value: boolean) => void
|
|
78
129
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
// Error code, 0 indicates no error
|
|
84
|
-
errorCode?: number
|
|
85
|
-
// Description of the error, "Ok" indicates successful connection
|
|
86
|
-
errorDesc?: string
|
|
87
|
-
// Server time at the moment of the event
|
|
88
|
-
serverTime: number
|
|
89
|
-
// Difference in time between server and client
|
|
90
|
-
serverTimeOffset: number
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
export declare interface CustomData {
|
|
94
|
-
DoNotCallMeStatus?: string,
|
|
95
|
-
DoNotCallMeStatusCode?: DoNotCallMeStatusCodeEnum,
|
|
96
|
-
DoNotCallMeTokenName?: string,
|
|
97
|
-
DoNotCallMetransactionId?: string,
|
|
98
|
-
IsDoNotCallMe?: string
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
export declare interface Dialer {
|
|
102
|
-
campaignID: number,
|
|
103
|
-
name: string,
|
|
104
|
-
typeID: number,
|
|
105
|
-
type: DialerType,
|
|
106
|
-
code: string,
|
|
107
|
-
calls: unknown,
|
|
108
|
-
statistics: unknown
|
|
130
|
+
export declare enum ConnectionStatusEnum {
|
|
131
|
+
CONNECTED = 'connected',
|
|
132
|
+
DISCONNECTED = 'disconnected',
|
|
133
|
+
TRYING_TO_CONNECT = 'tryingToConnect',
|
|
109
134
|
}
|
|
110
135
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
136
|
+
declare interface CurrentCallEnded extends CurrentCallUTCExtended {
|
|
137
|
+
duration: number
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
declare interface CurrentCallUTCExtended extends ExtensionCall {
|
|
141
|
+
callStarted_UTC: number
|
|
142
|
+
callStarted_UTC_CLIENT: number
|
|
143
|
+
callAnswered_UTC: number
|
|
144
|
+
callAnswered_UTC_CLIENT: number
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
declare type CustomData = {
|
|
148
|
+
/**
|
|
149
|
+
* Is do not call me
|
|
150
|
+
*/
|
|
151
|
+
IsDoNotCallMe?: string;
|
|
152
|
+
/**
|
|
153
|
+
* Do not call me status
|
|
154
|
+
*/
|
|
155
|
+
DoNotCallMeStatus?: string;
|
|
156
|
+
/**
|
|
157
|
+
* Do not call me token name
|
|
158
|
+
*/
|
|
159
|
+
DoNotCallMeTokenName?: string;
|
|
160
|
+
DoNotCallMeStatusCode?: DoNotCallMeStatusCodeEnum;
|
|
161
|
+
/**
|
|
162
|
+
* Do not call me transaction id
|
|
163
|
+
*/
|
|
164
|
+
DoNotCallMetransactionId?: string;
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
export declare type CustomDataSDK = CustomData
|
|
168
|
+
|
|
169
|
+
declare type Dialer = {
|
|
170
|
+
/**
|
|
171
|
+
* Code
|
|
172
|
+
*/
|
|
173
|
+
code: string;
|
|
174
|
+
/**
|
|
175
|
+
* Name
|
|
176
|
+
*/
|
|
177
|
+
name: string;
|
|
178
|
+
type: DialerTypeEnum;
|
|
179
|
+
/**
|
|
180
|
+
* Calls
|
|
181
|
+
*/
|
|
182
|
+
calls: string;
|
|
183
|
+
/**
|
|
184
|
+
* Type id
|
|
185
|
+
*/
|
|
186
|
+
typeID: number;
|
|
187
|
+
/**
|
|
188
|
+
* Campaign id
|
|
189
|
+
*/
|
|
190
|
+
campaignID: number;
|
|
191
|
+
/**
|
|
192
|
+
* Statistics
|
|
193
|
+
*/
|
|
194
|
+
statistics: string;
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
declare type DialerEvent = {
|
|
198
|
+
data: Dialer;
|
|
199
|
+
/**
|
|
200
|
+
* callerID
|
|
201
|
+
*/
|
|
202
|
+
callerID?: string;
|
|
203
|
+
/**
|
|
204
|
+
* Event name (dialer)
|
|
205
|
+
*/
|
|
206
|
+
eventName: string;
|
|
207
|
+
/**
|
|
208
|
+
* dialStatus
|
|
209
|
+
*/
|
|
210
|
+
dialStatus?: string;
|
|
211
|
+
/**
|
|
212
|
+
* ivrUniqueId
|
|
213
|
+
*/
|
|
214
|
+
ivrUniqueId?: string;
|
|
215
|
+
/**
|
|
216
|
+
* TelephonyServerTime
|
|
217
|
+
*/
|
|
218
|
+
telephonyServerTime?: number;
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
export declare type DialerEventSDK = EventTypeData<EventsEnum.DIALER_EVENT>
|
|
222
|
+
|
|
223
|
+
export declare type DialerSDK = Dialer
|
|
224
|
+
|
|
225
|
+
export declare enum DialerTypeEnum {
|
|
226
|
+
AUTOMATIC = 'Automatic',
|
|
227
|
+
IVR = 'IVR',
|
|
123
228
|
}
|
|
124
229
|
|
|
125
|
-
declare enum
|
|
126
|
-
|
|
127
|
-
|
|
230
|
+
export declare enum DirectionEnum {
|
|
231
|
+
INCOMINC = 'Incoming',
|
|
232
|
+
OUTGOING = 'Outgoing',
|
|
233
|
+
SPY = 'Spy',
|
|
234
|
+
CLICK2CALL = 'Click2Call',
|
|
128
235
|
}
|
|
129
236
|
|
|
130
|
-
declare enum
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
SPY = "Spy",
|
|
134
|
-
CLICK2CALL = "Click2call"
|
|
237
|
+
export declare enum DoNotCallMeStatusCodeEnum {
|
|
238
|
+
RESPONSE_FROM_API_VALID = 'RESPONSE_FROM_API_VALID',
|
|
239
|
+
RESPONSE_FROM_API_INVALID = 'RESPONSE_FROM_API_INVALID',
|
|
135
240
|
}
|
|
136
241
|
|
|
137
|
-
declare
|
|
138
|
-
|
|
139
|
-
|
|
242
|
+
declare type Error_2 = {
|
|
243
|
+
};
|
|
244
|
+
|
|
245
|
+
export declare type ErrorSDK = Error_2
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* This type defines a map where each key is an event name, and the value is an array of callback functions associated with that event.
|
|
249
|
+
* This structure is used to manage event listeners for different events
|
|
250
|
+
*/
|
|
251
|
+
export declare type EventCallbackListenersMap = {
|
|
252
|
+
[K in EventTypeNames]: Array<EventSpecificCallback<K>>
|
|
140
253
|
}
|
|
141
254
|
|
|
142
255
|
/**
|
|
@@ -144,14 +257,17 @@ declare enum DoNotCallMeStatusCodeEnum {
|
|
|
144
257
|
* Each key is an event type name, and the value is a function that takes the specific event data type as an argument.
|
|
145
258
|
* This registry is used to manage and invoke event-specific callbacks.
|
|
146
259
|
*/
|
|
147
|
-
declare type EventCallbackRegistry = {
|
|
260
|
+
export declare type EventCallbackRegistry = {
|
|
148
261
|
[K in EventTypeNames]: (data: EventDataMap[K]) => void
|
|
149
262
|
}
|
|
150
263
|
|
|
264
|
+
export declare type EventData = EventDataMapExtended[EventsEnum]
|
|
265
|
+
|
|
151
266
|
/**
|
|
152
267
|
* Mapping of event names to their respective data structures.
|
|
268
|
+
* The data structures that socket io will send us
|
|
153
269
|
*/
|
|
154
|
-
declare interface EventDataMap {
|
|
270
|
+
export declare interface EventDataMap {
|
|
155
271
|
[EventsEnum.ALL_EXTENSION_STATUS]: AllExtensionStatusEvent
|
|
156
272
|
[EventsEnum.ALL_DIALER_STATUS]: AllDialersStatusEvent
|
|
157
273
|
[EventsEnum.ALL_USERS_STATUS]: AllUsersStatusEvent
|
|
@@ -162,112 +278,145 @@ declare interface EventDataMap {
|
|
|
162
278
|
[EventsEnum.LOGIN_STATUS]: LoginStatusEvent
|
|
163
279
|
[EventsEnum.KEEP_ALIVE_RESPONSE]: KeepAliveResponseEvent
|
|
164
280
|
[EventsEnum.ONLINE_STATUS_EVENT]: OnlineStatusEvent
|
|
281
|
+
[EventsEnum.EXTENSIONS_UPDATED]: ExtensionsUpdated
|
|
165
282
|
}
|
|
166
283
|
|
|
167
284
|
/**
|
|
168
|
-
*
|
|
285
|
+
* Mapping of event names to their respective data structures.
|
|
286
|
+
* The data structures that we will send to the end user, here we can modify the type of events data
|
|
169
287
|
*/
|
|
170
|
-
declare
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
288
|
+
export declare interface EventDataMapExtended extends EventDataMap {
|
|
289
|
+
[EventsEnum.EXTENSION_EVENT]: ExtensionEventExtended
|
|
290
|
+
[EventsEnum.ALL_EXTENSION_STATUS]: AllExtensionStatusEventExtended
|
|
291
|
+
[EventsEnum.QUEUE_EVENT]: QueueEventUTCExtended
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
declare class EventEmitterClass {
|
|
295
|
+
private readonly eventsSdkClass;
|
|
296
|
+
private listeners;
|
|
297
|
+
private allListeners;
|
|
298
|
+
constructor(eventsSdkClass: EventsSdkClass);
|
|
299
|
+
on(event: unknown, callback: unknown): void;
|
|
300
|
+
off<T extends EventTypeNames>(event: T, callback: EventSpecificCallback<T>): void;
|
|
301
|
+
off(event: '*', callback: (data: GenericEventWrapper) => void): void;
|
|
302
|
+
emit<T extends EventTypeNames>(event: T, data: EventTypeData<T>): void;
|
|
174
303
|
}
|
|
175
304
|
|
|
176
|
-
/**
|
|
177
|
-
* All events that can be received from the server.
|
|
178
|
-
*/
|
|
179
305
|
export declare enum EventsEnum {
|
|
180
|
-
ALL_DIALER_STATUS =
|
|
181
|
-
ALL_EXTENSION_STATUS =
|
|
182
|
-
ALL_USERS_STATUS =
|
|
183
|
-
CONNECT =
|
|
184
|
-
DISCONNECT =
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
306
|
+
ALL_DIALER_STATUS = 'AllDialersStatus',
|
|
307
|
+
ALL_EXTENSION_STATUS = 'AllExtensionsStatus',
|
|
308
|
+
ALL_USERS_STATUS = 'AllUsersStatus',
|
|
309
|
+
CONNECT = 'connect',
|
|
310
|
+
DISCONNECT = 'disconnect',
|
|
311
|
+
CONNECT_ERROR_EVENT = 'connect_error',
|
|
312
|
+
EXTENSION_EVENT = 'ExtensionEvent',
|
|
313
|
+
KEEP_ALIVE = 'keepalive',
|
|
314
|
+
KEEP_ALIVE_RESPONSE = 'keepaliveResponse',
|
|
315
|
+
LOGIN_STATUS = 'loginStatus',
|
|
316
|
+
LOGIN_SUCCESS = 'loginSuccess',
|
|
317
|
+
QUEUE_EVENT = 'QueueEvent',
|
|
318
|
+
ONLINE_STATUS_EVENT = 'onlineStatusEvent',
|
|
319
|
+
DIALER_EVENT = 'DialerEvent',
|
|
320
|
+
EXTENSIONS_UPDATED = 'ExtensionsUpdated',
|
|
193
321
|
}
|
|
194
322
|
|
|
195
323
|
/**
|
|
196
324
|
* This is a generic type for callback functions used in event handling.
|
|
197
325
|
* It takes a generic event name and defines a callback function that receives wrapped socket event data for that specific event.
|
|
198
326
|
*/
|
|
199
|
-
declare type EventSpecificCallback<T extends EventTypeNames> = (data: WrappedSocketEvent<T>) => void
|
|
327
|
+
export declare type EventSpecificCallback<T extends EventTypeNames> = (data: WrappedSocketEvent<T>) => void
|
|
200
328
|
|
|
201
329
|
declare class EventsSdkClass {
|
|
202
|
-
|
|
203
|
-
private argumentOptions;
|
|
204
|
-
readonly options: EventsSdkOptions;
|
|
330
|
+
readonly options: EventsSdkOptionsMain & EventsSdkOptionsBase;
|
|
205
331
|
servers: Server[];
|
|
206
|
-
|
|
207
|
-
|
|
332
|
+
URLList: string[];
|
|
333
|
+
server: Server | undefined;
|
|
334
|
+
URL: string | undefined;
|
|
335
|
+
socket: SocketTyped | undefined;
|
|
336
|
+
private mainServer;
|
|
337
|
+
private alreadyAttemptedOtherServers;
|
|
208
338
|
authClass: AuthClass;
|
|
209
339
|
socketIoClass: SocketIoClass;
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
private allListeners;
|
|
340
|
+
loggerClass: LoggerClass;
|
|
341
|
+
eventEmitterClass: EventEmitterClass;
|
|
342
|
+
constructor(options: EventsSdkOptionsClient);
|
|
214
343
|
on<T extends EventTypeNames>(event: T, callback: EventSpecificCallback<T>): void;
|
|
215
344
|
on(event: '*', callback: (data: GenericEventWrapper) => void): void;
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
emit<T extends EventTypeNames>(event: T, data: EventTypeData<T>): void;
|
|
219
|
-
connect(server?: ServerParameter, skipLogin?: boolean): void;
|
|
345
|
+
emit<T extends ServerEmitEventTypeNames>(event: T, ...args: Parameters<ServerEmitEventCallbackRegistry[T]>): void;
|
|
346
|
+
connect(serverParameter: ServerParameter): void;
|
|
220
347
|
disconnect(): void;
|
|
221
348
|
clearKeepAliveInterval(): void;
|
|
222
|
-
private
|
|
223
|
-
private
|
|
224
|
-
private findMaxPriorityServer;
|
|
225
|
-
private findMinPriorityServer;
|
|
226
|
-
getServerWithHighestPriority(servers: Server[]): Server;
|
|
349
|
+
private findMainServer;
|
|
350
|
+
private findNextServer;
|
|
227
351
|
init(): Promise<boolean>;
|
|
228
|
-
|
|
352
|
+
getCircularReplacer: () => (key: string, value: object) => object | undefined;
|
|
353
|
+
getCurrentMonitorServer(): Server | undefined;
|
|
229
354
|
}
|
|
230
355
|
export default EventsSdkClass;
|
|
231
356
|
|
|
232
|
-
export declare interface
|
|
233
|
-
isNewStack?: boolean;
|
|
234
|
-
servers: Server[];
|
|
235
|
-
loginUrl: string;
|
|
236
|
-
fallbackServer: Server;
|
|
237
|
-
refreshTokenUrl: string;
|
|
238
|
-
refreshToken?: string;
|
|
239
|
-
token: string;
|
|
240
|
-
tokenExpiry?: Date;
|
|
357
|
+
export declare interface EventsSdkOptionsBase {
|
|
241
358
|
loginType: LoginType;
|
|
359
|
+
isNewStack?: boolean;
|
|
242
360
|
forceNew?: boolean;
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
maxReconnectAttempts: number;
|
|
361
|
+
servers?: Server[];
|
|
362
|
+
reconnectionDelay?: number;
|
|
246
363
|
timeout?: number;
|
|
247
|
-
keepAliveTimeout
|
|
248
|
-
|
|
249
|
-
protocol: string;
|
|
250
|
-
transports?: string[];
|
|
251
|
-
upgrade?: boolean;
|
|
252
|
-
serverFetchStrategy?: string;
|
|
253
|
-
serverType?: number;
|
|
364
|
+
keepAliveTimeout?: number;
|
|
365
|
+
protocol?: string;
|
|
254
366
|
useLogger?: boolean;
|
|
255
|
-
loggerSocketConnection?:
|
|
367
|
+
loggerSocketConnection?: Socket_2;
|
|
256
368
|
loggerServer?: string;
|
|
257
|
-
loggerConfig?:
|
|
369
|
+
loggerConfig?: LoggerOptions;
|
|
370
|
+
loggerConnectOptions?: LoggerConnectOptions;
|
|
371
|
+
storageLoggerInstance?: StorageLogger;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
export declare type EventsSdkOptionsClient = EventsSdkOptionsUserLogin | EventsSdkOptionsTokenLogin | EventsSdkOptionsOldStack | EventsSdkOptionsNewStack;
|
|
375
|
+
|
|
376
|
+
export declare type EventsSdkOptionsMain = Required<Pick<EventsSdkOptionsOldStack | EventsSdkOptionsNewStack, 'isNewStack' | 'loginUrl' | 'refreshTokenUrl' | 'forceNew' | 'protocol' | 'timeout' | 'loggerConfig' | 'keepAliveTimeout' | 'reconnectionDelay' | 'loggerServer' | 'useLogger'>> & {
|
|
377
|
+
getSettingsUrl?: string;
|
|
378
|
+
token?: string;
|
|
379
|
+
email?: string;
|
|
380
|
+
password?: string;
|
|
381
|
+
storageLoggerInstance?: StorageLogger;
|
|
258
382
|
loggerConnectOptions?: LoggerConnectOptions;
|
|
383
|
+
loggerSocketConnection?: Socket_2;
|
|
384
|
+
};
|
|
385
|
+
|
|
386
|
+
declare type EventsSdkOptionsNewStack = EventsSdkOptionsBase & {
|
|
387
|
+
isNewStack: true;
|
|
388
|
+
loginUrl?: string;
|
|
389
|
+
refreshTokenUrl?: string;
|
|
390
|
+
getSettingsUrl: string;
|
|
391
|
+
};
|
|
392
|
+
|
|
393
|
+
declare type EventsSdkOptionsOldStack = EventsSdkOptionsBase & {
|
|
394
|
+
isNewStack?: false;
|
|
395
|
+
loginUrl?: string;
|
|
396
|
+
refreshTokenUrl?: string;
|
|
397
|
+
};
|
|
398
|
+
|
|
399
|
+
declare type EventsSdkOptionsTokenLogin = EventsSdkOptionsBase & {
|
|
400
|
+
loginType: LoginType.TOKEN;
|
|
401
|
+
token: string;
|
|
402
|
+
};
|
|
403
|
+
|
|
404
|
+
declare type EventsSdkOptionsUserLogin = EventsSdkOptionsBase & {
|
|
405
|
+
loginType: LoginType.USER;
|
|
259
406
|
email: string;
|
|
260
407
|
password: string;
|
|
261
|
-
|
|
262
|
-
}
|
|
408
|
+
};
|
|
263
409
|
|
|
264
|
-
|
|
410
|
+
/**
|
|
411
|
+
* The structure of event data for a specific event type.
|
|
412
|
+
*/
|
|
413
|
+
export declare type EventTypeData<T extends EventsEnum> = EventDataMapExtended[T]
|
|
265
414
|
|
|
266
415
|
/**
|
|
267
416
|
* Represents the set of all possible event type names as keys from the EventDataMap.
|
|
268
417
|
* This type is used to define event listeners and handlers.
|
|
269
418
|
*/
|
|
270
|
-
declare type EventTypeNames = keyof EventDataMap
|
|
419
|
+
export declare type EventTypeNames = keyof EventDataMap
|
|
271
420
|
|
|
272
421
|
/**
|
|
273
422
|
* Represents Event Types in Enum
|
|
@@ -308,96 +457,267 @@ export declare enum EventTypesEnum {
|
|
|
308
457
|
* This type represents a mapping of listener event names to their corresponding wrapped socket event data structures.
|
|
309
458
|
* Each key is an event name, and the value is the wrapped socket event data for that event
|
|
310
459
|
*/
|
|
311
|
-
declare type EventWrappedSocketDataMap = {
|
|
460
|
+
export declare type EventWrappedSocketDataMap = {
|
|
312
461
|
[K in EventTypeNames]: WrappedSocketEvent<K>
|
|
313
462
|
}
|
|
314
463
|
|
|
315
|
-
|
|
316
|
-
calls: ExtensionCall
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
464
|
+
declare type Extension = {
|
|
465
|
+
calls: Array<ExtensionCall>;
|
|
466
|
+
/**
|
|
467
|
+
* Number
|
|
468
|
+
*/
|
|
469
|
+
number: number;
|
|
470
|
+
/**
|
|
471
|
+
* User id
|
|
472
|
+
*/
|
|
473
|
+
userID: number;
|
|
474
|
+
summery: Summery;
|
|
475
|
+
/**
|
|
476
|
+
* User name
|
|
477
|
+
*/
|
|
478
|
+
userName: string;
|
|
479
|
+
/**
|
|
480
|
+
* Account id
|
|
481
|
+
*/
|
|
482
|
+
accountID: number;
|
|
483
|
+
/**
|
|
484
|
+
* Exten user
|
|
485
|
+
*/
|
|
486
|
+
extenUser: string;
|
|
487
|
+
/**
|
|
488
|
+
* Peer status
|
|
489
|
+
*/
|
|
490
|
+
peerStatus: string;
|
|
491
|
+
currentCall?: ExtensionCall;
|
|
492
|
+
/**
|
|
493
|
+
* Online user id
|
|
494
|
+
*/
|
|
495
|
+
onlineUserID: number;
|
|
496
|
+
/**
|
|
497
|
+
* Top account id
|
|
498
|
+
*/
|
|
499
|
+
topAccountID: number;
|
|
500
|
+
/**
|
|
501
|
+
* Representative
|
|
502
|
+
*/
|
|
503
|
+
representative: number;
|
|
504
|
+
/**
|
|
505
|
+
* Last call event epoch
|
|
506
|
+
*/
|
|
507
|
+
lastCallEventEpoch: number;
|
|
508
|
+
/**
|
|
509
|
+
* Last hangup call epoch
|
|
510
|
+
*/
|
|
511
|
+
lastHangupCallEpoch: number;
|
|
512
|
+
/**
|
|
513
|
+
* Representative status
|
|
514
|
+
*/
|
|
515
|
+
representativeStatus: number;
|
|
516
|
+
/**
|
|
517
|
+
* Representative updated
|
|
518
|
+
*/
|
|
519
|
+
representativeUpdated: number;
|
|
520
|
+
/**
|
|
521
|
+
* Last answered call event epoch
|
|
522
|
+
*/
|
|
523
|
+
lastAnsweredCallEventEpoch: number;
|
|
524
|
+
};
|
|
525
|
+
|
|
526
|
+
declare type ExtensionCall = {
|
|
527
|
+
/**
|
|
528
|
+
* Ip
|
|
529
|
+
*/
|
|
530
|
+
ip: string;
|
|
531
|
+
/**
|
|
532
|
+
* Did
|
|
533
|
+
*/
|
|
534
|
+
did: string;
|
|
535
|
+
/**
|
|
536
|
+
* Ivr id
|
|
537
|
+
*/
|
|
538
|
+
ivrid: string;
|
|
539
|
+
/**
|
|
540
|
+
* Channel
|
|
541
|
+
*/
|
|
542
|
+
channel: string;
|
|
543
|
+
/**
|
|
544
|
+
* Is spyed
|
|
545
|
+
*/
|
|
546
|
+
isSpyed?: boolean;
|
|
547
|
+
/**
|
|
548
|
+
* Queue id
|
|
549
|
+
*/
|
|
550
|
+
queueID?: number;
|
|
551
|
+
/**
|
|
552
|
+
* Answered
|
|
553
|
+
*/
|
|
554
|
+
answered: number;
|
|
555
|
+
callType?: CallTypeEnum;
|
|
556
|
+
/**
|
|
557
|
+
* Channel 2
|
|
558
|
+
*/
|
|
559
|
+
'channel 2': string;
|
|
560
|
+
direction: DirectionEnum;
|
|
561
|
+
recording: Recording;
|
|
562
|
+
/**
|
|
563
|
+
* Caller name
|
|
564
|
+
*/
|
|
565
|
+
callername: string;
|
|
566
|
+
callstatus: CallStatusEnum;
|
|
567
|
+
customdata: CustomData;
|
|
568
|
+
/**
|
|
569
|
+
* Is internal
|
|
570
|
+
*/
|
|
571
|
+
isInternal: boolean;
|
|
572
|
+
/**
|
|
573
|
+
* Is opensips
|
|
574
|
+
*/
|
|
575
|
+
isOpensips: boolean;
|
|
576
|
+
/**
|
|
577
|
+
* Blc server id
|
|
578
|
+
*/
|
|
579
|
+
blcServerID: number;
|
|
580
|
+
/**
|
|
581
|
+
* Blc server id
|
|
582
|
+
*/
|
|
583
|
+
blcServerId?: number;
|
|
584
|
+
/**
|
|
585
|
+
* Call started
|
|
586
|
+
*/
|
|
587
|
+
callStarted: number;
|
|
588
|
+
/**
|
|
589
|
+
* Caller phone
|
|
590
|
+
*/
|
|
591
|
+
callerphone: string;
|
|
592
|
+
/**
|
|
593
|
+
* Call answered
|
|
594
|
+
*/
|
|
595
|
+
callAnswered: number;
|
|
596
|
+
/**
|
|
597
|
+
* Original caller id
|
|
598
|
+
*/
|
|
599
|
+
originalCallerID?: string;
|
|
600
|
+
/**
|
|
601
|
+
* Actual dialed number
|
|
602
|
+
*/
|
|
603
|
+
actualDialedNumber?: number;
|
|
604
|
+
/**
|
|
605
|
+
* Original caller name
|
|
606
|
+
*/
|
|
607
|
+
originalCallerName?: string;
|
|
608
|
+
/**
|
|
609
|
+
* Outgoing caller name
|
|
610
|
+
*/
|
|
611
|
+
outgoingcallername?: string;
|
|
612
|
+
/**
|
|
613
|
+
* Outgoing caller phone
|
|
614
|
+
*/
|
|
615
|
+
outgoingcallerphone?: string;
|
|
616
|
+
/**
|
|
617
|
+
* Related ivr unique ids
|
|
618
|
+
*/
|
|
619
|
+
relatedIvrUniqueIDs?: Array<string>;
|
|
620
|
+
/**
|
|
621
|
+
* Call duration interval
|
|
622
|
+
*/
|
|
623
|
+
calldurationinterval: number;
|
|
624
|
+
};
|
|
625
|
+
|
|
626
|
+
export declare type ExtensionCallSDK = CurrentCallUTCExtended | CurrentCallEnded
|
|
627
|
+
|
|
628
|
+
declare interface ExtensionCallsEnded extends ExtensionUTCExtended {
|
|
629
|
+
currentCall?: CurrentCallEnded
|
|
630
|
+
calls?: Array<CurrentCallUTCExtended>
|
|
364
631
|
}
|
|
365
632
|
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
declare interface ExtensionEvent extends CommonEventProperties {
|
|
370
|
-
data: Extension
|
|
371
|
-
eventName: EventNameEnum.EXTENSION
|
|
372
|
-
reason: ExtensionEventReasonEnum
|
|
373
|
-
telephonyServerTime?: number
|
|
374
|
-
callerID?: string
|
|
375
|
-
ivrUniqueId?: string
|
|
376
|
-
dialStatus?: string
|
|
377
|
-
cause?: ExtensionHangupCauseEnum
|
|
633
|
+
declare interface ExtensionCallsUTCExtended extends ExtensionUTCExtended {
|
|
634
|
+
currentCall?: CurrentCallUTCExtended
|
|
635
|
+
calls?: Array<CurrentCallUTCExtended>
|
|
378
636
|
}
|
|
379
637
|
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
638
|
+
declare type ExtensionEvent = {
|
|
639
|
+
data: Extension;
|
|
640
|
+
cause?: ExtensionHangupCauseEnum;
|
|
641
|
+
reason: ExtensionEventReasonEnum;
|
|
642
|
+
/**
|
|
643
|
+
* Caller id
|
|
644
|
+
*/
|
|
645
|
+
callerID?: string;
|
|
646
|
+
/**
|
|
647
|
+
* Event name (extension)
|
|
648
|
+
*/
|
|
649
|
+
eventName: string;
|
|
650
|
+
/**
|
|
651
|
+
* Dial status
|
|
652
|
+
*/
|
|
653
|
+
dialStatus?: string;
|
|
654
|
+
/**
|
|
655
|
+
* Server time
|
|
656
|
+
*/
|
|
657
|
+
servertime: number;
|
|
658
|
+
/**
|
|
659
|
+
* Ivr unique id
|
|
660
|
+
*/
|
|
661
|
+
ivrUniqueId?: string;
|
|
662
|
+
/**
|
|
663
|
+
* Server time offset
|
|
664
|
+
*/
|
|
665
|
+
servertimeoffset: number;
|
|
666
|
+
/**
|
|
667
|
+
* Telephony server time
|
|
668
|
+
*/
|
|
669
|
+
telephonyServerTime?: number;
|
|
670
|
+
};
|
|
671
|
+
|
|
672
|
+
declare interface ExtensionEventEnded extends Omit<ExtensionEvent, 'reason' | 'data'> {
|
|
673
|
+
reason: ExtensionEventReasonEnum.HANGUP
|
|
674
|
+
data: ExtensionCallsEnded
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
declare type ExtensionEventExtended = ExtensionEventUTCExtended | ExtensionEventEnded
|
|
678
|
+
|
|
679
|
+
export declare enum ExtensionEventReasonEnum {
|
|
680
|
+
NEWCALL = 'NEWCALL',
|
|
681
|
+
ANSWER = 'ANSWER',
|
|
682
|
+
HOLD = 'HOLD',
|
|
683
|
+
UNHOLD = 'UNHOLD',
|
|
684
|
+
HANGUP = 'HANGUP',
|
|
685
|
+
USER_STATUS_UPDATE = 'userStatusUpdate',
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
export declare type ExtensionEventSDK = EventTypeData<EventsEnum.EXTENSION_EVENT>
|
|
689
|
+
|
|
690
|
+
declare interface ExtensionEventUTCExtended extends Omit<ExtensionEvent, 'reason' | 'data'> {
|
|
691
|
+
reason: Exclude<ExtensionEventReasonEnum, ExtensionEventReasonEnum.HANGUP>
|
|
692
|
+
data: ExtensionCallsUTCExtended
|
|
693
|
+
}
|
|
694
|
+
|
|
695
|
+
export declare enum ExtensionHangupCauseEnum {
|
|
696
|
+
NORMAL_HANGUP = 'Normal hangup',
|
|
697
|
+
USER_BUSY = 'User busy',
|
|
698
|
+
CALL_REJECTED = 'Call Rejected',
|
|
699
|
+
UNALLOCATED_NUMBER = 'Unallocated (unassigned) number',
|
|
700
|
+
UNKNOWN = 'Unknown',
|
|
701
|
+
NO_USER_RESPONDING = 'No user responding',
|
|
702
|
+
USER_ALERTING = 'User alerting, no answer',
|
|
703
|
+
ANSWERED_ELSEWHERE = 'Answered elsewhere',
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
export declare type ExtensionSDK = ExtensionCallsUTCExtended | ExtensionCallsEnded
|
|
707
|
+
|
|
708
|
+
declare type ExtensionsUpdated = string;
|
|
709
|
+
|
|
710
|
+
export declare type ExtensionsUpdatedSDK = EventTypeData<EventsEnum.EXTENSIONS_UPDATED>
|
|
711
|
+
|
|
712
|
+
declare interface ExtensionUTCExtended extends Extension {
|
|
713
|
+
lastAnsweredCallEventEpoch_UTC: number
|
|
714
|
+
lastAnsweredCallEventEpoch_UTC_CLIENT: number
|
|
715
|
+
lastCallEventEpoch_UTC: number
|
|
716
|
+
lastCallEventEpoch_UTC_CLIENT: number
|
|
717
|
+
lastHangupCallEpoch_UTC: number
|
|
718
|
+
lastHangupCallEpoch_UTC_CLIENT: number
|
|
719
|
+
representativeUpdated_UTC: number
|
|
720
|
+
representativeUpdated_UTC_CLIENT: number
|
|
401
721
|
}
|
|
402
722
|
|
|
403
723
|
export declare interface ExternalLoginNewStackResponseData {
|
|
@@ -426,14 +746,32 @@ export declare interface ExternalLoginResponse<T> {
|
|
|
426
746
|
* A generic type that represents the structure of any event data wrapped in a socket event format.
|
|
427
747
|
* This type is used in the handling of all event types, providing a consistent structure for event data processing.
|
|
428
748
|
*/
|
|
429
|
-
declare type GenericEventWrapper = EventWrappedSocketDataMap[EventTypeNames]
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
isOk: boolean
|
|
436
|
-
|
|
749
|
+
export declare type GenericEventWrapper = EventWrappedSocketDataMap[EventTypeNames]
|
|
750
|
+
|
|
751
|
+
declare type KeepAliveResponseEvent = {
|
|
752
|
+
/**
|
|
753
|
+
* Is ok
|
|
754
|
+
*/
|
|
755
|
+
isOk: boolean;
|
|
756
|
+
/**
|
|
757
|
+
* 0 - Connection was establishing successfully.
|
|
758
|
+
*/
|
|
759
|
+
errorCode?: number;
|
|
760
|
+
/**
|
|
761
|
+
* “Ok” - Connection was establishing successfully.
|
|
762
|
+
*/
|
|
763
|
+
errorDesc?: string;
|
|
764
|
+
/**
|
|
765
|
+
* Server time at the moment of the event
|
|
766
|
+
*/
|
|
767
|
+
serverTime: number;
|
|
768
|
+
/**
|
|
769
|
+
* Difference in time between server and client
|
|
770
|
+
*/
|
|
771
|
+
serverTimeOffset: number;
|
|
772
|
+
};
|
|
773
|
+
|
|
774
|
+
export declare type KeepAliveResponseEventSDK = EventTypeData<EventsEnum.KEEP_ALIVE_RESPONSE>
|
|
437
775
|
|
|
438
776
|
export declare type ListenerCallbackFnType<T extends ListenersKeyType> = OpenSIPSEventMap[T]
|
|
439
777
|
|
|
@@ -441,10 +779,20 @@ export declare type ListenersCallbackFnType = OpenSIPSEventMap[ListenersKeyType]
|
|
|
441
779
|
|
|
442
780
|
export declare type ListenersKeyType = keyof OpenSIPSEventMap
|
|
443
781
|
|
|
782
|
+
declare class LoggerClass {
|
|
783
|
+
private readonly eventsSdkClass;
|
|
784
|
+
constructor(eventsSdkClass: EventsSdkClass);
|
|
785
|
+
private storageLogger;
|
|
786
|
+
init(): void;
|
|
787
|
+
stop(): void;
|
|
788
|
+
log(data: LoggerDataPartial): void;
|
|
789
|
+
sdkInitializedLog(): void;
|
|
790
|
+
}
|
|
791
|
+
|
|
444
792
|
export declare interface LoggerConfig {
|
|
445
793
|
logToConsole?: boolean;
|
|
446
794
|
overloadGlobalConsole?: boolean;
|
|
447
|
-
|
|
795
|
+
system: string;
|
|
448
796
|
socketEmitInterval?: number;
|
|
449
797
|
}
|
|
450
798
|
|
|
@@ -452,7 +800,9 @@ export declare interface LoggerConnectOptions {
|
|
|
452
800
|
reconnection?: boolean;
|
|
453
801
|
reconnectionDelay?: number;
|
|
454
802
|
reconnectionAttempts?: number;
|
|
455
|
-
perMessageDeflate?:
|
|
803
|
+
perMessageDeflate?: {
|
|
804
|
+
threshold: number;
|
|
805
|
+
};
|
|
456
806
|
upgrade?: boolean;
|
|
457
807
|
transports?: string[];
|
|
458
808
|
debug?: boolean;
|
|
@@ -461,29 +811,68 @@ export declare interface LoggerConnectOptions {
|
|
|
461
811
|
export declare interface LoginSessionData extends Settings, ExternalLoginNewStackResponseData, Socket {}
|
|
462
812
|
|
|
463
813
|
export declare interface LoginSessionPayload {
|
|
464
|
-
token
|
|
465
|
-
email
|
|
466
|
-
password
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
/**
|
|
470
|
-
* Data structure for login status event.
|
|
471
|
-
*/
|
|
472
|
-
declare interface LoginStatusEvent extends CommonEventProperties {
|
|
473
|
-
// Array of Queue objects
|
|
474
|
-
queues: Queue[]
|
|
814
|
+
token?: string,
|
|
815
|
+
email?: string,
|
|
816
|
+
password?: string
|
|
475
817
|
}
|
|
476
818
|
|
|
477
|
-
declare type
|
|
478
|
-
|
|
479
|
-
|
|
819
|
+
declare type LoginStatusEvent = {
|
|
820
|
+
queues: Array<Queue>;
|
|
821
|
+
/**
|
|
822
|
+
* 0 - Connection was establishing successfully.
|
|
823
|
+
*/
|
|
824
|
+
errorCode?: number;
|
|
825
|
+
/**
|
|
826
|
+
* “Ok” - Connection was establishing successfully.
|
|
827
|
+
*/
|
|
828
|
+
errorDesc?: string;
|
|
829
|
+
/**
|
|
830
|
+
* Server time at the moment of the event
|
|
831
|
+
*/
|
|
832
|
+
serverTime: number;
|
|
833
|
+
/**
|
|
834
|
+
* Difference in time between server and client
|
|
835
|
+
*/
|
|
836
|
+
serverTimeOffset: number;
|
|
837
|
+
};
|
|
838
|
+
|
|
839
|
+
export declare type LoginStatusEventSDK = EventTypeData<EventsEnum.LOGIN_STATUS>
|
|
840
|
+
|
|
841
|
+
declare type LoginSuccessEvent = {
|
|
842
|
+
/**
|
|
843
|
+
* 0 - Connection was establishing successfully.
|
|
844
|
+
*/
|
|
845
|
+
errorCode?: number;
|
|
846
|
+
/**
|
|
847
|
+
* “Ok” - Connection was establishing successfully.
|
|
848
|
+
*/
|
|
849
|
+
errorDesc?: string;
|
|
850
|
+
/**
|
|
851
|
+
* Server time at the moment of the event
|
|
852
|
+
*/
|
|
853
|
+
serverTime: number;
|
|
854
|
+
/**
|
|
855
|
+
* Difference in time between server and client
|
|
856
|
+
*/
|
|
857
|
+
serverTimeOffset: number;
|
|
858
|
+
};
|
|
859
|
+
|
|
860
|
+
export declare type LoginSuccessEventSDK = EventTypeData<EventsEnum.LOGIN_SUCCESS>
|
|
861
|
+
|
|
862
|
+
export declare enum LoginType {
|
|
480
863
|
USER = "User",
|
|
481
864
|
TOKEN = "Token"
|
|
482
865
|
}
|
|
483
866
|
|
|
484
|
-
declare
|
|
485
|
-
|
|
486
|
-
|
|
867
|
+
declare type OnlineStatusEvent = {
|
|
868
|
+
/**
|
|
869
|
+
* which server sdk trying to connect
|
|
870
|
+
*/
|
|
871
|
+
attemptToConnect?: string;
|
|
872
|
+
connectionStatus: ConnectionStatusEnum;
|
|
873
|
+
};
|
|
874
|
+
|
|
875
|
+
export declare type OnlineStatusEventSDK = EventTypeData<EventsEnum.ONLINE_STATUS_EVENT>
|
|
487
876
|
|
|
488
877
|
export declare interface OpenSIPSEventMap {
|
|
489
878
|
ready: readyListener
|
|
@@ -503,63 +892,142 @@ export declare interface OpenSIPSEventMap {
|
|
|
503
892
|
changeCallStatus: changeCallStatusListener
|
|
504
893
|
}
|
|
505
894
|
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
895
|
+
declare type Queue = {
|
|
896
|
+
Calls: Array<QueueCall>;
|
|
897
|
+
/**
|
|
898
|
+
* User id
|
|
899
|
+
*/
|
|
900
|
+
UserId?: number;
|
|
901
|
+
/**
|
|
902
|
+
* Queue id
|
|
903
|
+
*/
|
|
904
|
+
QueueID: number;
|
|
905
|
+
/**
|
|
906
|
+
* Queue name
|
|
907
|
+
*/
|
|
908
|
+
QueueName: string;
|
|
909
|
+
/**
|
|
910
|
+
* Answered agent
|
|
911
|
+
*/
|
|
912
|
+
AnsweredAgent?: string;
|
|
913
|
+
/**
|
|
914
|
+
* Distributor id
|
|
915
|
+
*/
|
|
916
|
+
DistributorID?: number;
|
|
917
|
+
/**
|
|
918
|
+
* Is distributed queue
|
|
919
|
+
*/
|
|
920
|
+
IsDistributedQueue?: boolean;
|
|
921
|
+
};
|
|
922
|
+
|
|
923
|
+
declare type QueueCall = {
|
|
924
|
+
/**
|
|
925
|
+
* Ivr id
|
|
926
|
+
*/
|
|
927
|
+
ivrid: string;
|
|
928
|
+
/**
|
|
929
|
+
* Caller id
|
|
930
|
+
*/
|
|
931
|
+
CallerId: string;
|
|
932
|
+
/**
|
|
933
|
+
* Caller name
|
|
934
|
+
*/
|
|
935
|
+
CallerNme: string;
|
|
936
|
+
/**
|
|
937
|
+
* Ivr unique id
|
|
938
|
+
*/
|
|
939
|
+
IvrUniqueID: string;
|
|
940
|
+
/**
|
|
941
|
+
* Join timestamp
|
|
942
|
+
*/
|
|
943
|
+
JoinTimeStamp: number;
|
|
944
|
+
/**
|
|
945
|
+
* Is distributed queue
|
|
946
|
+
*/
|
|
947
|
+
isDistributedQueue?: boolean;
|
|
948
|
+
/**
|
|
949
|
+
* Call duration interval
|
|
950
|
+
*/
|
|
951
|
+
calldurationinterval: number;
|
|
952
|
+
};
|
|
953
|
+
|
|
954
|
+
export declare interface QueueCallSDK extends QueueCall {
|
|
955
|
+
JoinTimeStamp_UTC: number
|
|
956
|
+
JoinTimeStamp_UTC_CLIENT: number
|
|
514
957
|
}
|
|
515
958
|
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
959
|
+
declare type QueueEvent = {
|
|
960
|
+
data: Queue;
|
|
961
|
+
reason: QueueEventReasonEnum;
|
|
962
|
+
/**
|
|
963
|
+
* Event name (queue)
|
|
964
|
+
*/
|
|
965
|
+
eventName: string;
|
|
966
|
+
/**
|
|
967
|
+
* Server time
|
|
968
|
+
*/
|
|
969
|
+
servertime: number;
|
|
970
|
+
/**
|
|
971
|
+
* Ivr unique id
|
|
972
|
+
*/
|
|
973
|
+
ivrUniqueId: string;
|
|
974
|
+
/**
|
|
975
|
+
* Server time offset
|
|
976
|
+
*/
|
|
977
|
+
servertimeoffset: number;
|
|
978
|
+
/**
|
|
979
|
+
* Telephony server time
|
|
980
|
+
*/
|
|
981
|
+
telephonyServerTime: number;
|
|
982
|
+
};
|
|
983
|
+
|
|
984
|
+
export declare enum QueueEventReasonEnum {
|
|
985
|
+
ANSWER = 'ANSWER',
|
|
986
|
+
ABANDONED = 'ABANDONED',
|
|
987
|
+
EXIT = 'EXIT',
|
|
988
|
+
JOIN = 'JOIN',
|
|
524
989
|
}
|
|
525
990
|
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
eventName: EventNameEnum.QUEUE,
|
|
531
|
-
reason: QueueEventReasonEnum,
|
|
532
|
-
telephonyServerTime: number,
|
|
533
|
-
ivrUniqueId: string,
|
|
534
|
-
data: Queue
|
|
991
|
+
export declare type QueueEventSDK = EventTypeData<EventsEnum.QUEUE_EVENT>
|
|
992
|
+
|
|
993
|
+
declare interface QueueEventUTCExtended extends Omit<QueueEvent, 'data'> {
|
|
994
|
+
data: QueueSDK
|
|
535
995
|
}
|
|
536
996
|
|
|
537
|
-
declare
|
|
538
|
-
|
|
539
|
-
ABANDONED = "ABANDONED",
|
|
540
|
-
EXIT = "EXIT",
|
|
541
|
-
JOIN = "JOIN"
|
|
997
|
+
export declare interface QueueSDK extends Omit<Queue, 'Calls'> {
|
|
998
|
+
Calls?: Array<QueueCallSDK>
|
|
542
999
|
}
|
|
543
1000
|
|
|
544
1001
|
export declare type readyListener = (value: boolean) => void
|
|
545
1002
|
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
1003
|
+
declare type Recording = {
|
|
1004
|
+
/**
|
|
1005
|
+
* Is muted
|
|
1006
|
+
*/
|
|
1007
|
+
IsMuted: number;
|
|
1008
|
+
/**
|
|
1009
|
+
* Options
|
|
1010
|
+
*/
|
|
1011
|
+
Options: string;
|
|
1012
|
+
/**
|
|
1013
|
+
* Filename
|
|
1014
|
+
*/
|
|
1015
|
+
Filename: string;
|
|
1016
|
+
/**
|
|
1017
|
+
* Approximate url
|
|
1018
|
+
*/
|
|
1019
|
+
ApproximateURL: string;
|
|
1020
|
+
};
|
|
1021
|
+
|
|
1022
|
+
export declare type RecordingSDK = Recording
|
|
560
1023
|
|
|
561
1024
|
export declare type removeRoomListener = (value: string) => void
|
|
562
1025
|
|
|
1026
|
+
declare type Response_2 = {
|
|
1027
|
+
};
|
|
1028
|
+
|
|
1029
|
+
export declare type ResponseSDK = Response_2
|
|
1030
|
+
|
|
563
1031
|
export declare type RoomDeletedListener = (roomId: number) => void
|
|
564
1032
|
|
|
565
1033
|
export declare interface Server {
|
|
@@ -569,10 +1037,33 @@ export declare interface Server {
|
|
|
569
1037
|
Version: string;
|
|
570
1038
|
}
|
|
571
1039
|
|
|
1040
|
+
export declare type ServerEmitEventCallbackRegistry = {
|
|
1041
|
+
[K in ServerEmitEventTypeNames]: (data: ServerEmitEventDataMap[K]) => void
|
|
1042
|
+
}
|
|
1043
|
+
|
|
1044
|
+
/**
|
|
1045
|
+
* Mapping of event names to their respective data structures.
|
|
1046
|
+
* The data structures that we can send to the server
|
|
1047
|
+
*/
|
|
1048
|
+
export declare interface ServerEmitEventDataMap {
|
|
1049
|
+
[ServerListenerEventsEnum.UPDATE_MONITORED_EXTENSIONS]: UpdateMonitoredExtensionsPayload
|
|
1050
|
+
[ServerListenerEventsEnum.KEEP_ALIVE]: string
|
|
1051
|
+
}
|
|
1052
|
+
|
|
1053
|
+
/**
|
|
1054
|
+
* Represents the set of all possible event type names as keys from the ServerEmitEventDataMap.
|
|
1055
|
+
* This type is used to define event emitters and data.
|
|
1056
|
+
*/
|
|
1057
|
+
export declare type ServerEmitEventTypeNames = keyof ServerEmitEventDataMap
|
|
1058
|
+
|
|
1059
|
+
export declare enum ServerListenerEventsEnum {
|
|
1060
|
+
UPDATE_MONITORED_EXTENSIONS = "updateMonitoredExtensions",
|
|
1061
|
+
KEEP_ALIVE = "keepAlive"
|
|
1062
|
+
}
|
|
1063
|
+
|
|
572
1064
|
export declare enum ServerParameter {
|
|
573
|
-
|
|
574
|
-
NEXT = "next"
|
|
575
|
-
PREVIOUS = "previous"
|
|
1065
|
+
MAIN = "main",
|
|
1066
|
+
NEXT = "next"
|
|
576
1067
|
}
|
|
577
1068
|
|
|
578
1069
|
export declare enum ServerTypesEnum {
|
|
@@ -613,37 +1104,68 @@ declare class SocketIoClass {
|
|
|
613
1104
|
private connected;
|
|
614
1105
|
getSocketIoFunction(Client: string): void;
|
|
615
1106
|
initSocketConnection(): void;
|
|
616
|
-
initSocketEvents(): void;
|
|
617
1107
|
clearKeepAliveInterval(): void;
|
|
618
1108
|
initKeepAlive(): void;
|
|
619
1109
|
closeAllConnections(): void;
|
|
1110
|
+
initSocketEvents(): void;
|
|
1111
|
+
private onLoginSuccessEvent;
|
|
1112
|
+
private onQueueEvent;
|
|
1113
|
+
private onExtensionEvent;
|
|
1114
|
+
private onDialerEvent;
|
|
1115
|
+
private onLoginStatusEvent;
|
|
1116
|
+
private onAllExtensionStatus;
|
|
1117
|
+
private onAllDialerStatus;
|
|
620
1118
|
private onKeepAliveResponse;
|
|
1119
|
+
private onExtensionsUpdatedEvent;
|
|
621
1120
|
private onConnect;
|
|
622
1121
|
private onDisconnect;
|
|
1122
|
+
private onConnectError;
|
|
623
1123
|
}
|
|
624
1124
|
|
|
625
|
-
export declare type SocketTyped = Socket_2<EventCallbackRegistry,
|
|
1125
|
+
export declare type SocketTyped = Socket_2<EventCallbackRegistry, ServerEmitEventCallbackRegistry>
|
|
626
1126
|
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
1127
|
+
declare type Summery = {
|
|
1128
|
+
/**
|
|
1129
|
+
* Representative
|
|
1130
|
+
*/
|
|
1131
|
+
representative: string;
|
|
1132
|
+
};
|
|
1133
|
+
|
|
1134
|
+
export declare type SummerySDK = Summery
|
|
630
1135
|
|
|
631
1136
|
export declare type TestEventListener = (event: { test: string }) => void
|
|
632
1137
|
|
|
633
1138
|
declare type TypedSocketIo = (...args: Parameters<typeof io>) => SocketTyped;
|
|
634
1139
|
|
|
635
|
-
export declare
|
|
1140
|
+
export declare interface UpdateMonitoredExtensionsPayload {
|
|
1141
|
+
extensionsString: string
|
|
1142
|
+
}
|
|
636
1143
|
|
|
637
|
-
export declare
|
|
638
|
-
userID: number,
|
|
639
|
-
userName: string,
|
|
640
|
-
accountID: number
|
|
1144
|
+
export declare type updateRoomListener = (value: string) => void
|
|
641
1145
|
|
|
642
|
-
|
|
1146
|
+
declare type User = {
|
|
1147
|
+
/**
|
|
1148
|
+
* User id
|
|
1149
|
+
*/
|
|
1150
|
+
userID: number;
|
|
1151
|
+
/**
|
|
1152
|
+
* User name
|
|
1153
|
+
*/
|
|
1154
|
+
userName: string;
|
|
1155
|
+
/**
|
|
1156
|
+
* Account id
|
|
1157
|
+
*/
|
|
1158
|
+
accountID: number;
|
|
1159
|
+
};
|
|
1160
|
+
|
|
1161
|
+
export declare type UserSDK = User
|
|
643
1162
|
|
|
644
|
-
|
|
1163
|
+
/**
|
|
1164
|
+
* The structure of received socket events.
|
|
1165
|
+
*/
|
|
1166
|
+
export declare type WrappedSocketEvent<T extends EventsEnum> = {
|
|
645
1167
|
name: T
|
|
646
|
-
data:
|
|
1168
|
+
data: EventDataMapExtended[T]
|
|
647
1169
|
}
|
|
648
1170
|
|
|
649
1171
|
export { }
|