@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/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
- satrtConfirm: boolean;
68
+ /**
69
+ * @description reconnect timer
70
+ */
69
71
  private reconnectTimer?;
70
- private isReconnecting;
72
+ /**
73
+ * @description reconnect attempts
74
+ */
71
75
  private reconnectAttempts;
72
- private socketError;
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 resetReconnectState;
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(): Promise<void>;
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?: SocketConfig;
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(): TrackLogsConfig;
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
- currentCallId: string | null;
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 = CallKitConfig & Partial<IConfig>;
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): Promise<void>;
514
- reset(): Promise<void>;
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;