@koi-design/callkit 2.0.4 → 2.0.5-beta.10
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/CHANGELOG.md +156 -0
- package/README.md +281 -57
- package/dist/index.d.ts +78 -19
- package/dist/index.global.js +305 -235
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +305 -235
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +305 -235
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -8,9 +8,11 @@ declare class Api {
|
|
|
8
8
|
login(params: {
|
|
9
9
|
userName: string;
|
|
10
10
|
password: string;
|
|
11
|
+
timestamp: number;
|
|
11
12
|
}): Promise<any>;
|
|
12
13
|
loginOut(params: {
|
|
13
14
|
sessionId: string;
|
|
15
|
+
timestamp: number;
|
|
14
16
|
}): Promise<any>;
|
|
15
17
|
trackLogs(log: string): Promise<any>;
|
|
16
18
|
/**
|
|
@@ -61,22 +63,45 @@ interface SocketConfig {
|
|
|
61
63
|
declare class Socket {
|
|
62
64
|
private callKit;
|
|
63
65
|
private ws?;
|
|
64
|
-
private socketConfig;
|
|
65
66
|
lastPingTime: any;
|
|
66
|
-
isConnected: boolean;
|
|
67
67
|
pingTimer?: ReturnType<typeof setInterval>;
|
|
68
|
-
|
|
68
|
+
/**
|
|
69
|
+
* @description reconnect timer
|
|
70
|
+
*/
|
|
69
71
|
private reconnectTimer?;
|
|
70
|
-
|
|
72
|
+
/**
|
|
73
|
+
* @description reconnect attempts
|
|
74
|
+
*/
|
|
71
75
|
private reconnectAttempts;
|
|
72
|
-
|
|
76
|
+
/**
|
|
77
|
+
* @description connect auth state
|
|
78
|
+
* @default {
|
|
79
|
+
* startConfirm: false,
|
|
80
|
+
* isConnected: false,
|
|
81
|
+
* isReconnecting: false,
|
|
82
|
+
* isAuthenticated: false,
|
|
83
|
+
* isError: false
|
|
84
|
+
* }
|
|
85
|
+
*/
|
|
86
|
+
private connectAuthState;
|
|
87
|
+
get startConfirm(): boolean;
|
|
88
|
+
get isError(): boolean;
|
|
73
89
|
constructor(callKit: CallKit);
|
|
90
|
+
get reconnectConfig(): {
|
|
91
|
+
enabled?: boolean;
|
|
92
|
+
maxAttempts?: number;
|
|
93
|
+
delay?: number;
|
|
94
|
+
pingInterval?: number;
|
|
95
|
+
pingTimeout?: number;
|
|
96
|
+
};
|
|
74
97
|
init(): void;
|
|
98
|
+
private setConnectAuthState;
|
|
75
99
|
private handleDisconnect;
|
|
76
100
|
private clearWebSocket;
|
|
77
101
|
private connect;
|
|
78
102
|
private onOpen;
|
|
79
|
-
private
|
|
103
|
+
private cleanReconnectState;
|
|
104
|
+
private resetConnectState;
|
|
80
105
|
private onClose;
|
|
81
106
|
private onError;
|
|
82
107
|
private confirmAck;
|
|
@@ -87,7 +112,9 @@ declare class Socket {
|
|
|
87
112
|
/**
|
|
88
113
|
* reset socket connection and all states
|
|
89
114
|
*/
|
|
90
|
-
reset(
|
|
115
|
+
reset(config?: {
|
|
116
|
+
force?: boolean;
|
|
117
|
+
}): Promise<void>;
|
|
91
118
|
private attemptReconnect;
|
|
92
119
|
}
|
|
93
120
|
|
|
@@ -103,11 +130,14 @@ interface IConfig {
|
|
|
103
130
|
version: string;
|
|
104
131
|
host: string;
|
|
105
132
|
log: LoggerLevel;
|
|
106
|
-
trackLogs: TrackLogsConfig
|
|
133
|
+
trackLogs: Partial<TrackLogsConfig>;
|
|
107
134
|
audioRef?: HTMLAudioElement | (() => HTMLAudioElement);
|
|
108
135
|
constrains: WebrtcConstranis;
|
|
109
136
|
socket: string;
|
|
110
|
-
reconnect?:
|
|
137
|
+
reconnect?: {
|
|
138
|
+
sip?: Partial<SocketConfig>;
|
|
139
|
+
incall?: Partial<SocketConfig>;
|
|
140
|
+
};
|
|
111
141
|
userInfo: {
|
|
112
142
|
wsUrl: string;
|
|
113
143
|
sessionId: string;
|
|
@@ -140,7 +170,18 @@ declare class Config {
|
|
|
140
170
|
validate: () => boolean;
|
|
141
171
|
isLogin: () => boolean;
|
|
142
172
|
check(): boolean;
|
|
143
|
-
getTrackLogsConfig():
|
|
173
|
+
getTrackLogsConfig(): {
|
|
174
|
+
enabled: boolean;
|
|
175
|
+
interval: number;
|
|
176
|
+
maxSize: number;
|
|
177
|
+
};
|
|
178
|
+
getReconnectConfig(type: 'sip' | 'incall'): {
|
|
179
|
+
enabled?: boolean;
|
|
180
|
+
maxAttempts?: number;
|
|
181
|
+
delay?: number;
|
|
182
|
+
pingInterval?: number;
|
|
183
|
+
pingTimeout?: number;
|
|
184
|
+
};
|
|
144
185
|
enableTrackLogs(enabled: boolean): void;
|
|
145
186
|
}
|
|
146
187
|
|
|
@@ -351,10 +392,6 @@ declare class Call {
|
|
|
351
392
|
type CallStatusType = (typeof CallStatus)[keyof typeof CallStatus];
|
|
352
393
|
declare class Connect {
|
|
353
394
|
callKit: CallKit;
|
|
354
|
-
/**
|
|
355
|
-
*@description Reconnect config
|
|
356
|
-
*/
|
|
357
|
-
private reconnectConfig;
|
|
358
395
|
/**
|
|
359
396
|
*@description Whether muted
|
|
360
397
|
*/
|
|
@@ -392,7 +429,16 @@ declare class Connect {
|
|
|
392
429
|
*/
|
|
393
430
|
hasInvite: boolean;
|
|
394
431
|
constructor(callKit: CallKit);
|
|
395
|
-
|
|
432
|
+
get reconnectConfig(): {
|
|
433
|
+
enabled?: boolean;
|
|
434
|
+
maxAttempts?: number;
|
|
435
|
+
delay?: number;
|
|
436
|
+
pingInterval?: number;
|
|
437
|
+
pingTimeout?: number;
|
|
438
|
+
};
|
|
439
|
+
private currentCallId;
|
|
440
|
+
getCurrentCallId(): string | null;
|
|
441
|
+
setOutgoing(outgoing: boolean): void;
|
|
396
442
|
setCallId(callId: string | null): void;
|
|
397
443
|
reset(): Promise<void>;
|
|
398
444
|
private getAduioReference;
|
|
@@ -474,8 +520,12 @@ interface CallKitConfig {
|
|
|
474
520
|
socket: string;
|
|
475
521
|
constrains?: WebrtcConstranis;
|
|
476
522
|
log?: LoggerLevel;
|
|
523
|
+
reconnect?: {
|
|
524
|
+
sip?: Partial<SocketConfig>;
|
|
525
|
+
incall?: Partial<SocketConfig>;
|
|
526
|
+
};
|
|
477
527
|
}
|
|
478
|
-
type ConfigEntity =
|
|
528
|
+
type ConfigEntity = Partial<IConfig> & CallKitConfig;
|
|
479
529
|
type kitEventType = (typeof KitEvent)[keyof typeof KitEvent];
|
|
480
530
|
interface Listener {
|
|
481
531
|
event: kitEventType;
|
|
@@ -500,7 +550,6 @@ declare class CallKit {
|
|
|
500
550
|
refer(uri: string, options?: any): Promise<void>;
|
|
501
551
|
register(): Promise<void>;
|
|
502
552
|
unregister(): Promise<void>;
|
|
503
|
-
stop(): Promise<void>;
|
|
504
553
|
hangup(): Promise<void>;
|
|
505
554
|
hold(): void;
|
|
506
555
|
unhold(): void;
|
|
@@ -510,8 +559,18 @@ declare class CallKit {
|
|
|
510
559
|
* set userstatus
|
|
511
560
|
* @param status
|
|
512
561
|
*/
|
|
513
|
-
setUserStatus(status: number
|
|
514
|
-
|
|
562
|
+
setUserStatus(status: number, extra?: {
|
|
563
|
+
[key: string]: any;
|
|
564
|
+
}): Promise<void>;
|
|
565
|
+
/**
|
|
566
|
+
* reset callkit
|
|
567
|
+
* @description recover the callkit to the initial state
|
|
568
|
+
* @default force is false
|
|
569
|
+
* @param config.force is true, the callkit reset socket connection and all states
|
|
570
|
+
*/
|
|
571
|
+
reset(config?: {
|
|
572
|
+
force?: boolean;
|
|
573
|
+
}): Promise<void>;
|
|
515
574
|
on(event: kitEventType, callback: (...args: any[]) => void): void;
|
|
516
575
|
off(event: kitEventType, callback?: (...args: any[]) => void): void;
|
|
517
576
|
removeAllListeners(): void;
|