react-sip-kit 0.5.20 → 0.5.21

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/manager.d.ts CHANGED
@@ -3,11 +3,17 @@ import { SipManagerConfig } from './types';
3
3
  export declare class SipManager {
4
4
  private instances;
5
5
  /**
6
- * Create and initialize a SIP session for an account
6
+ * Create and initialize a SIP session for an account.
7
+ *
8
+ * @param {SipManagerConfig} config - SIP account configuration (account, transport, registration, etc.)
9
+ * @returns {Promise<void>} Resolves when initialization is complete.
7
10
  */
8
11
  add(config: SipManagerConfig): Promise<void>;
9
12
  /**
10
- * Get an existing SIP methods by username
13
+ * Get session methods (dial, answer, hold, etc.) for a given username.
14
+ *
15
+ * @param {string} username - The SIP account username.
16
+ * @returns {ReturnType<typeof sessionMethods>} Object containing call/session methods.
11
17
  */
12
18
  methods(username: string): {
13
19
  receiveSession: (invitation: import("./store/types").SipInvitationType) => void;
@@ -19,44 +25,77 @@ export declare class SipManager {
19
25
  toggleShareScreen: (lineNumber: LineType["lineNumber"]) => Promise<void>;
20
26
  rejectSession: (lineNumber: LineType["lineNumber"]) => void;
21
27
  dialByNumber: (type: Extract<import("./types").CallType, "audio" | "video">, dialNumber: string, extraHeaders?: Array<string>) => void;
22
- makeConferenceSession: (lineObj: LineType, extraHeaders?: Array<string>) => void;
23
28
  endSession: (lineNumber: LineType["lineNumber"]) => void;
24
29
  recordSession: (lineNumber: LineType["lineNumber"]) => {
25
30
  start: () => Promise<void>;
26
31
  stop: () => void;
27
32
  };
28
33
  toggleMuteSession: (lineNumber: LineType["lineNumber"]) => void;
29
- toggleHoldSession: (lineNumber: LineType["lineNumber"], forcedValue?: boolean) => Promise<void>;
34
+ toggleHoldSession: (lineNumber: LineType["lineNumber"], forcedValue?: boolean) => void;
35
+ makeTransferSession: (lineNumber: LineType["lineNumber"], transferLineNumber: LineType["lineNumber"]) => void;
36
+ cancelTransferSession: (lineNumber: LineType["lineNumber"], transferLineNumber: LineType["lineNumber"]) => void;
30
37
  cancelSession: (lineNumber: LineType["lineNumber"]) => void;
31
- startTransferSession: (lineNumber: LineType["lineNumber"]) => void;
32
- cancelTransferSession: (lineNumber: LineType["lineNumber"]) => void;
33
- attendedTransferSession: (baseLine: LineType, transferLineNumber: LineType["lineNumber"]) => void;
34
- cancelAttendedTransferSession: (baseLine: LineType, transferLineNumber: LineType["lineNumber"]) => void;
35
38
  teardownSession: typeof import("./methods/session").teardownSession;
36
39
  };
37
40
  /**
38
- * Get an existing SIP by username
41
+ * Get SIP account state by username.
42
+ *
43
+ * @param {string} username - The SIP account username.
44
+ * @returns {{
45
+ * status: SipUserAgentStatus;
46
+ * lines: LineType[];
47
+ * watch: ReturnType<typeof useSipManager>;
48
+ * }} An object with account status, active lines, and a reactive watcher hook.
39
49
  */
40
50
  get(username: string): {
41
51
  status: SipUserAgentStatus;
42
52
  lines: LineType[];
43
53
  watch: () => {
44
- status: SipUserAgentStatus | undefined;
54
+ status: SipUserAgentStatus;
45
55
  lines: LineType[];
46
56
  };
47
57
  };
48
58
  /**
49
- * Check the existance of SIP instance by username
59
+ * Check if a SIP instance already exists for the username.
60
+ *
61
+ * @param {string} username - The SIP account username.
62
+ * @returns {boolean} True if the instance exists, false otherwise.
50
63
  */
51
64
  has(username: string): boolean;
52
65
  /**
53
- * Stop and remove a SIP session
66
+ * Attempt to reconnect the SIP transport for a given username.
67
+ *
68
+ * @param {string} username - The SIP account username.
69
+ * @returns {void}
70
+ */
71
+ reconnect(username: string): void;
72
+ /**
73
+ * Stop and remove a SIP session for a username.
74
+ * Also cleans up from the global store.
75
+ *
76
+ * @param {string} username - The SIP account username.
77
+ * @returns {Promise<void>} Resolves when the session is stopped and removed.
54
78
  */
55
79
  stop(username: string): Promise<void>;
56
80
  /**
57
- * Stop and clear all SIP sessions
81
+ * Stop and clear ALL SIP sessions.
82
+ * Useful on logout or app shutdown.
83
+ *
84
+ * @returns {Promise<void>} Resolves when all sessions are stopped and cleared.
58
85
  */
59
86
  stopAll(): Promise<void>;
87
+ /**
88
+ * Find the username associated with a specific line number.
89
+ *
90
+ * @param {LineType['lineNumber']} lineNumber - The line number to look up.
91
+ * @returns {string | undefined} The username if found, otherwise undefined.
92
+ */
60
93
  getUsernameByNumber(lineNumber: LineType['lineNumber']): string | null;
94
+ /**
95
+ * Find the SIP session associated with a specific line number.
96
+ *
97
+ * @param {LineType['lineNumber']} lineNumber - The line number to look up.
98
+ * @returns {any} The SIP session object if found, otherwise undefined.
99
+ */
61
100
  getSessionByNumber(lineNumber: LineType['lineNumber']): import("./store/types").SipInvitationType | import("./store/types").SipInviterType | null;
62
101
  }
@@ -14,19 +14,16 @@ export declare const sessionMethods: ({ username }: {
14
14
  toggleShareScreen: (lineNumber: LineType["lineNumber"]) => Promise<void>;
15
15
  rejectSession: (lineNumber: LineType["lineNumber"]) => void;
16
16
  dialByNumber: (type: Extract<CallType, "audio" | "video">, dialNumber: string, extraHeaders?: Array<string>) => void;
17
- makeConferenceSession: (lineObj: LineType, extraHeaders?: Array<string>) => void;
18
17
  endSession: (lineNumber: LineType["lineNumber"]) => void;
19
18
  recordSession: (lineNumber: LineType["lineNumber"]) => {
20
19
  start: () => Promise<void>;
21
20
  stop: () => void;
22
21
  };
23
22
  toggleMuteSession: (lineNumber: LineType["lineNumber"]) => void;
24
- toggleHoldSession: (lineNumber: LineType["lineNumber"], forcedValue?: boolean) => Promise<void>;
23
+ toggleHoldSession: (lineNumber: LineType["lineNumber"], forcedValue?: boolean) => void;
24
+ makeTransferSession: (lineNumber: LineType["lineNumber"], transferLineNumber: LineType["lineNumber"]) => void;
25
+ cancelTransferSession: (lineNumber: LineType["lineNumber"], transferLineNumber: LineType["lineNumber"]) => void;
25
26
  cancelSession: (lineNumber: LineType["lineNumber"]) => void;
26
- startTransferSession: (lineNumber: LineType["lineNumber"]) => void;
27
- cancelTransferSession: (lineNumber: LineType["lineNumber"]) => void;
28
- attendedTransferSession: (baseLine: LineType, transferLineNumber: LineType["lineNumber"]) => void;
29
- cancelAttendedTransferSession: (baseLine: LineType, transferLineNumber: LineType["lineNumber"]) => void;
30
27
  teardownSession: typeof teardownSession;
31
28
  };
32
29
  /**
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-sip-kit",
3
3
  "private": false,
4
- "version": "0.5.20",
4
+ "version": "0.5.21",
5
5
  "type": "module",
6
6
  "author": {
7
7
  "name": "Shervin Ghajar",