react-jssip-kit 1.0.0 → 1.0.1

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.cts CHANGED
@@ -1,10 +1,13 @@
1
1
  import { UA } from 'jssip';
2
2
  export { WebSocketInterface } from 'jssip';
3
3
  import * as jssip_src_RTCSession from 'jssip/src/RTCSession';
4
- import { RTCSessionEventMap, TerminateOptions, AnswerOptions, DTMFOptions, ReferOptions, RTCSession } from 'jssip/src/RTCSession';
5
- export { AnswerOptions, DTMFOptions, RTCSession, RTCSessionEventMap, ReferOptions, TerminateOptions } from 'jssip/src/RTCSession';
4
+ import { RTCSessionEventMap, ExtraHeaders, TerminateOptions, AnswerOptions, DTMFOptions, ReferOptions, RenegotiateOptions, RTCSession } from 'jssip/src/RTCSession';
5
+ export { AnswerOptions, DTMFOptions, ExtraHeaders, RTCSession, RTCSessionEventMap, ReferOptions, RenegotiateOptions, TerminateOptions } from 'jssip/src/RTCSession';
6
+ import * as jssip_src_Message from 'jssip/src/Message';
7
+ import { MessageEventMap, SendMessageOptions } from 'jssip/src/Message';
8
+ export { SendMessageOptions } from 'jssip/src/Message';
6
9
  import * as jssip_src_UA from 'jssip/src/UA';
7
- import { UAEventMap, IncomingRTCSessionEvent, UAConfiguration, CallOptions, RTCSessionEvent } from 'jssip/src/UA';
10
+ import { UAEventMap, UAConfiguration, CallOptions, RTCSessionEvent } from 'jssip/src/UA';
8
11
  export { CallOptions } from 'jssip/src/UA';
9
12
  import * as react_jsx_runtime from 'react/jsx-runtime';
10
13
  import React from 'react';
@@ -40,17 +43,16 @@ interface SipState {
40
43
  sipStatus: SipStatus;
41
44
  error: string | null;
42
45
  sessions: SipSessionState[];
46
+ }
47
+ interface InternalSipState extends SipState {
43
48
  sessionsById: Record<string, SipSessionState>;
44
49
  sessionIds: string[];
45
50
  }
46
51
 
47
- type UAExtraEvents = {
48
- missed: IncomingRTCSessionEvent;
49
- };
50
- type UAEventName = keyof UAEventMap | keyof UAExtraEvents;
52
+ type UAEventName = keyof UAEventMap;
51
53
  type SessionEventName = keyof RTCSessionEventMap;
52
54
  type JsSIPEventName = UAEventName | SessionEventName;
53
- type UAEventPayload<K extends UAEventName> = K extends keyof UAEventMap ? Parameters<UAEventMap[K]>[0] : K extends keyof UAExtraEvents ? UAExtraEvents[K] : never;
55
+ type UAEventPayload<K extends UAEventName> = Parameters<UAEventMap[K]>[0];
54
56
  type SessionEventPayload<K extends SessionEventName> = K extends keyof RTCSessionEventMap ? Parameters<RTCSessionEventMap[K]>[0] : never;
55
57
  type JsSIPEventPayload<K extends JsSIPEventName> = K extends UAEventName ? UAEventPayload<K> : K extends SessionEventName ? SessionEventPayload<K> : never;
56
58
  type JsSIPEventHandler<K extends JsSIPEventName> = (payload?: JsSIPEventPayload<K>) => void;
@@ -64,6 +66,10 @@ interface SipEventManager {
64
66
  type JsSIPEventMap = {
65
67
  [K in JsSIPEventName]: JsSIPEventPayload<K>;
66
68
  };
69
+ type SipSendOptionsOptions = ExtraHeaders & {
70
+ contentType?: string;
71
+ eventHandlers?: Partial<MessageEventMap>;
72
+ };
67
73
  type SipConfiguration = Omit<UAConfiguration, "password" | "uri"> & {
68
74
  debug?: boolean | string;
69
75
  enableMicRecovery?: boolean;
@@ -95,26 +101,32 @@ declare class SipUserAgent {
95
101
  private clearSessionFlag;
96
102
  }
97
103
 
98
- type Listener<T = any> = (payload: T) => void;
99
- declare class EventTargetEmitter<Events extends Record<string, any> = any> {
104
+ type Listener<T = unknown> = (payload: T) => void;
105
+ declare class EventTargetEmitter<Events extends Record<string, unknown> = Record<string, unknown>> {
100
106
  private target;
101
107
  on<K extends keyof Events>(event: K, fn: Listener<Events[K]>): () => void;
102
108
  emit<K extends keyof Events>(event: K, payload?: Events[K]): void;
103
109
  }
104
110
 
105
- type SipStateListener = (state: SipState) => void;
111
+ type SipStateListener = (state: InternalSipState) => void;
112
+ type PublicSipStateListener = (state: SipState) => void;
106
113
  declare class SipStateStore {
107
114
  private state;
108
115
  private lastState;
116
+ private publicState;
109
117
  private listeners;
118
+ private publicListeners;
110
119
  private pendingState;
111
120
  private updateScheduled;
112
- getState(): SipState;
121
+ getState(): InternalSipState;
122
+ getPublicState(): SipState;
113
123
  onChange(fn: SipStateListener): () => void;
114
- subscribe(fn: SipStateListener): () => void;
115
- setState(partial: Partial<SipState>): void;
116
- batchSet(partial: Partial<SipState>): void;
117
- reset(overrides?: Partial<SipState>): void;
124
+ onPublicChange(fn: PublicSipStateListener): () => void;
125
+ subscribe(fn: PublicSipStateListener): () => void;
126
+ subscribeInternal(fn: SipStateListener): () => void;
127
+ setState(partial: Partial<InternalSipState>): void;
128
+ batchSet(partial: Partial<InternalSipState>): void;
129
+ reset(overrides?: Partial<InternalSipState>): void;
118
130
  private emit;
119
131
  }
120
132
 
@@ -141,6 +153,8 @@ declare class SipClient extends EventTargetEmitter<JsSIPEventMap> {
141
153
  registerUA(): void;
142
154
  disconnect(): void;
143
155
  call(target: string, callOptions?: CallOptions): void;
156
+ sendMessage(target: string, body: string, options?: SendMessageOptions): boolean;
157
+ sendOptions(target: string, body?: string, options?: SipSendOptionsOptions): boolean;
144
158
  hangupAll(options?: TerminateOptions): boolean;
145
159
  onChange(fn: (s: SipState) => void): () => void;
146
160
  setDebug(debug?: boolean | string): void;
@@ -152,6 +166,9 @@ declare class SipClient extends EventTargetEmitter<JsSIPEventMap> {
152
166
  toggleHoldSession(sessionId?: string): boolean;
153
167
  sendDTMFSession(sessionId: string, tones: string | number, options?: DTMFOptions): boolean;
154
168
  transferSession(sessionId: string, target: string, options?: ReferOptions): boolean;
169
+ sendInfoSession(sessionId: string, contentType: string, body?: string, options?: ExtraHeaders): boolean;
170
+ updateSession(sessionId: string, options?: RenegotiateOptions): boolean;
171
+ reinviteSession(sessionId: string, options?: RenegotiateOptions): boolean;
155
172
  setSessionMedia(sessionId: string, stream: MediaStream): void;
156
173
  getSession(sessionId: string): RTCSession | null;
157
174
  getSessionIds(): string[];
@@ -187,6 +204,8 @@ interface SipKernel {
187
204
  register: () => void;
188
205
  setDebug: (debug?: boolean | string) => void;
189
206
  call: (target: string, options?: CallOptions) => void;
207
+ sendMessage: (target: string, body: string, options?: SendMessageOptions) => boolean;
208
+ sendOptions: (target: string, body?: string, options?: SipSendOptionsOptions) => boolean;
190
209
  answer: (sessionId: string, options?: AnswerOptions) => boolean;
191
210
  hangup: (sessionId: string, options?: TerminateOptions) => boolean;
192
211
  hangupAll: (options?: TerminateOptions) => boolean;
@@ -194,6 +213,9 @@ interface SipKernel {
194
213
  toggleHold: (sessionId?: string) => boolean;
195
214
  sendDTMF: (sessionId: string, tones: string | number, options?: DTMFOptions) => boolean;
196
215
  transfer: (sessionId: string, target: string, options?: ReferOptions) => boolean;
216
+ sendInfo: (sessionId: string, contentType: string, body?: string, options?: ExtraHeaders) => boolean;
217
+ update: (sessionId: string, options?: RenegotiateOptions) => boolean;
218
+ reinvite: (sessionId: string, options?: RenegotiateOptions) => boolean;
197
219
  getSession: SipClient["getSession"];
198
220
  getSessionIds: SipClient["getSessionIds"];
199
221
  getSessions: SipClient["getSessions"];
@@ -217,6 +239,8 @@ declare function useSipActions(): {
217
239
  register: () => void;
218
240
  setDebug: (debug?: boolean | string) => void;
219
241
  call: (target: string, options?: jssip_src_UA.CallOptions) => void;
242
+ sendMessage: (target: string, body: string, options?: jssip_src_Message.SendMessageOptions) => boolean;
243
+ sendOptions: (target: string, body?: string, options?: SipSendOptionsOptions) => boolean;
220
244
  answer: (sessionId: string, options?: jssip_src_RTCSession.AnswerOptions) => boolean;
221
245
  hangup: (sessionId: string, options?: jssip_src_RTCSession.TerminateOptions) => boolean;
222
246
  hangupAll: (options?: jssip_src_RTCSession.TerminateOptions) => boolean;
@@ -224,6 +248,9 @@ declare function useSipActions(): {
224
248
  toggleHold: (sessionId?: string) => boolean;
225
249
  sendDTMF: (sessionId: string, tones: string | number, options?: jssip_src_RTCSession.DTMFOptions) => boolean;
226
250
  transfer: (sessionId: string, target: string, options?: jssip_src_RTCSession.ReferOptions) => boolean;
251
+ sendInfo: (sessionId: string, contentType: string, body?: string, options?: jssip_src_RTCSession.ExtraHeaders) => boolean;
252
+ update: (sessionId: string, options?: jssip_src_RTCSession.RenegotiateOptions) => boolean;
253
+ reinvite: (sessionId: string, options?: jssip_src_RTCSession.RenegotiateOptions) => boolean;
227
254
  getSession: (sessionId: string) => jssip_src_RTCSession.RTCSession | null;
228
255
  getSessionIds: () => string[];
229
256
  getSessions: () => {
@@ -239,8 +266,6 @@ type SipSelector<TSelected> = (state: SipState) => TSelected;
239
266
  type SipSelectorEqualityFn<TSelected> = (prev: TSelected, next: TSelected) => boolean;
240
267
  declare function useSipSelector<TSelected>(selector: SipSelector<TSelected>, equalityFn?: SipSelectorEqualityFn<TSelected>): TSelected;
241
268
 
242
- declare function useActiveSipSession(): SipSessionState | null;
243
-
244
269
  declare function useSipSession(sessionId?: string): SipSessionState | null;
245
270
 
246
271
  declare function useSipSessions(): Pick<SipState, "sessions">;
@@ -260,4 +285,4 @@ type SipProviderProps = {
260
285
  };
261
286
  declare function SipProvider(props: SipProviderProps): react_jsx_runtime.JSX.Element;
262
287
 
263
- export { type CallDirection, type CallDirection as CallDirectionType, CallPlayer, CallStatus, CallStatus as CallStatusType, type JsSIPEventMap, type JsSIPEventName, type SessionEventName, type SessionEventPayload, type SipConfiguration, type SipEventHandlers, type SipEventManager, type SipKernel, SipProvider, type SipProviderProps, type SipSessionState, type SipState, SipStatus, SipStatus as SipStatusType, type UAEventName, type UAEventPayload, createSipClientInstance, createSipEventManager, createSipKernel, useActiveSipSession, useSessionMedia, useSipActions, useSipEvent, useSipKernel, useSipSelector, useSipSession, useSipSessionEvent, useSipSessions, useSipState };
288
+ export { type CallDirection, type CallDirection as CallDirectionType, CallPlayer, CallStatus, CallStatus as CallStatusType, type JsSIPEventMap, type JsSIPEventName, type SessionEventName, type SessionEventPayload, type SipConfiguration, type SipEventHandlers, type SipEventManager, type SipKernel, SipProvider, type SipProviderProps, type SipSendOptionsOptions, type SipSessionState, type SipState, SipStatus, SipStatus as SipStatusType, type UAEventName, type UAEventPayload, createSipClientInstance, createSipEventManager, createSipKernel, useSessionMedia, useSipActions, useSipEvent, useSipKernel, useSipSelector, useSipSession, useSipSessionEvent, useSipSessions, useSipState };
package/dist/index.d.ts CHANGED
@@ -1,10 +1,13 @@
1
1
  import { UA } from 'jssip';
2
2
  export { WebSocketInterface } from 'jssip';
3
3
  import * as jssip_src_RTCSession from 'jssip/src/RTCSession';
4
- import { RTCSessionEventMap, TerminateOptions, AnswerOptions, DTMFOptions, ReferOptions, RTCSession } from 'jssip/src/RTCSession';
5
- export { AnswerOptions, DTMFOptions, RTCSession, RTCSessionEventMap, ReferOptions, TerminateOptions } from 'jssip/src/RTCSession';
4
+ import { RTCSessionEventMap, ExtraHeaders, TerminateOptions, AnswerOptions, DTMFOptions, ReferOptions, RenegotiateOptions, RTCSession } from 'jssip/src/RTCSession';
5
+ export { AnswerOptions, DTMFOptions, ExtraHeaders, RTCSession, RTCSessionEventMap, ReferOptions, RenegotiateOptions, TerminateOptions } from 'jssip/src/RTCSession';
6
+ import * as jssip_src_Message from 'jssip/src/Message';
7
+ import { MessageEventMap, SendMessageOptions } from 'jssip/src/Message';
8
+ export { SendMessageOptions } from 'jssip/src/Message';
6
9
  import * as jssip_src_UA from 'jssip/src/UA';
7
- import { UAEventMap, IncomingRTCSessionEvent, UAConfiguration, CallOptions, RTCSessionEvent } from 'jssip/src/UA';
10
+ import { UAEventMap, UAConfiguration, CallOptions, RTCSessionEvent } from 'jssip/src/UA';
8
11
  export { CallOptions } from 'jssip/src/UA';
9
12
  import * as react_jsx_runtime from 'react/jsx-runtime';
10
13
  import React from 'react';
@@ -40,17 +43,16 @@ interface SipState {
40
43
  sipStatus: SipStatus;
41
44
  error: string | null;
42
45
  sessions: SipSessionState[];
46
+ }
47
+ interface InternalSipState extends SipState {
43
48
  sessionsById: Record<string, SipSessionState>;
44
49
  sessionIds: string[];
45
50
  }
46
51
 
47
- type UAExtraEvents = {
48
- missed: IncomingRTCSessionEvent;
49
- };
50
- type UAEventName = keyof UAEventMap | keyof UAExtraEvents;
52
+ type UAEventName = keyof UAEventMap;
51
53
  type SessionEventName = keyof RTCSessionEventMap;
52
54
  type JsSIPEventName = UAEventName | SessionEventName;
53
- type UAEventPayload<K extends UAEventName> = K extends keyof UAEventMap ? Parameters<UAEventMap[K]>[0] : K extends keyof UAExtraEvents ? UAExtraEvents[K] : never;
55
+ type UAEventPayload<K extends UAEventName> = Parameters<UAEventMap[K]>[0];
54
56
  type SessionEventPayload<K extends SessionEventName> = K extends keyof RTCSessionEventMap ? Parameters<RTCSessionEventMap[K]>[0] : never;
55
57
  type JsSIPEventPayload<K extends JsSIPEventName> = K extends UAEventName ? UAEventPayload<K> : K extends SessionEventName ? SessionEventPayload<K> : never;
56
58
  type JsSIPEventHandler<K extends JsSIPEventName> = (payload?: JsSIPEventPayload<K>) => void;
@@ -64,6 +66,10 @@ interface SipEventManager {
64
66
  type JsSIPEventMap = {
65
67
  [K in JsSIPEventName]: JsSIPEventPayload<K>;
66
68
  };
69
+ type SipSendOptionsOptions = ExtraHeaders & {
70
+ contentType?: string;
71
+ eventHandlers?: Partial<MessageEventMap>;
72
+ };
67
73
  type SipConfiguration = Omit<UAConfiguration, "password" | "uri"> & {
68
74
  debug?: boolean | string;
69
75
  enableMicRecovery?: boolean;
@@ -95,26 +101,32 @@ declare class SipUserAgent {
95
101
  private clearSessionFlag;
96
102
  }
97
103
 
98
- type Listener<T = any> = (payload: T) => void;
99
- declare class EventTargetEmitter<Events extends Record<string, any> = any> {
104
+ type Listener<T = unknown> = (payload: T) => void;
105
+ declare class EventTargetEmitter<Events extends Record<string, unknown> = Record<string, unknown>> {
100
106
  private target;
101
107
  on<K extends keyof Events>(event: K, fn: Listener<Events[K]>): () => void;
102
108
  emit<K extends keyof Events>(event: K, payload?: Events[K]): void;
103
109
  }
104
110
 
105
- type SipStateListener = (state: SipState) => void;
111
+ type SipStateListener = (state: InternalSipState) => void;
112
+ type PublicSipStateListener = (state: SipState) => void;
106
113
  declare class SipStateStore {
107
114
  private state;
108
115
  private lastState;
116
+ private publicState;
109
117
  private listeners;
118
+ private publicListeners;
110
119
  private pendingState;
111
120
  private updateScheduled;
112
- getState(): SipState;
121
+ getState(): InternalSipState;
122
+ getPublicState(): SipState;
113
123
  onChange(fn: SipStateListener): () => void;
114
- subscribe(fn: SipStateListener): () => void;
115
- setState(partial: Partial<SipState>): void;
116
- batchSet(partial: Partial<SipState>): void;
117
- reset(overrides?: Partial<SipState>): void;
124
+ onPublicChange(fn: PublicSipStateListener): () => void;
125
+ subscribe(fn: PublicSipStateListener): () => void;
126
+ subscribeInternal(fn: SipStateListener): () => void;
127
+ setState(partial: Partial<InternalSipState>): void;
128
+ batchSet(partial: Partial<InternalSipState>): void;
129
+ reset(overrides?: Partial<InternalSipState>): void;
118
130
  private emit;
119
131
  }
120
132
 
@@ -141,6 +153,8 @@ declare class SipClient extends EventTargetEmitter<JsSIPEventMap> {
141
153
  registerUA(): void;
142
154
  disconnect(): void;
143
155
  call(target: string, callOptions?: CallOptions): void;
156
+ sendMessage(target: string, body: string, options?: SendMessageOptions): boolean;
157
+ sendOptions(target: string, body?: string, options?: SipSendOptionsOptions): boolean;
144
158
  hangupAll(options?: TerminateOptions): boolean;
145
159
  onChange(fn: (s: SipState) => void): () => void;
146
160
  setDebug(debug?: boolean | string): void;
@@ -152,6 +166,9 @@ declare class SipClient extends EventTargetEmitter<JsSIPEventMap> {
152
166
  toggleHoldSession(sessionId?: string): boolean;
153
167
  sendDTMFSession(sessionId: string, tones: string | number, options?: DTMFOptions): boolean;
154
168
  transferSession(sessionId: string, target: string, options?: ReferOptions): boolean;
169
+ sendInfoSession(sessionId: string, contentType: string, body?: string, options?: ExtraHeaders): boolean;
170
+ updateSession(sessionId: string, options?: RenegotiateOptions): boolean;
171
+ reinviteSession(sessionId: string, options?: RenegotiateOptions): boolean;
155
172
  setSessionMedia(sessionId: string, stream: MediaStream): void;
156
173
  getSession(sessionId: string): RTCSession | null;
157
174
  getSessionIds(): string[];
@@ -187,6 +204,8 @@ interface SipKernel {
187
204
  register: () => void;
188
205
  setDebug: (debug?: boolean | string) => void;
189
206
  call: (target: string, options?: CallOptions) => void;
207
+ sendMessage: (target: string, body: string, options?: SendMessageOptions) => boolean;
208
+ sendOptions: (target: string, body?: string, options?: SipSendOptionsOptions) => boolean;
190
209
  answer: (sessionId: string, options?: AnswerOptions) => boolean;
191
210
  hangup: (sessionId: string, options?: TerminateOptions) => boolean;
192
211
  hangupAll: (options?: TerminateOptions) => boolean;
@@ -194,6 +213,9 @@ interface SipKernel {
194
213
  toggleHold: (sessionId?: string) => boolean;
195
214
  sendDTMF: (sessionId: string, tones: string | number, options?: DTMFOptions) => boolean;
196
215
  transfer: (sessionId: string, target: string, options?: ReferOptions) => boolean;
216
+ sendInfo: (sessionId: string, contentType: string, body?: string, options?: ExtraHeaders) => boolean;
217
+ update: (sessionId: string, options?: RenegotiateOptions) => boolean;
218
+ reinvite: (sessionId: string, options?: RenegotiateOptions) => boolean;
197
219
  getSession: SipClient["getSession"];
198
220
  getSessionIds: SipClient["getSessionIds"];
199
221
  getSessions: SipClient["getSessions"];
@@ -217,6 +239,8 @@ declare function useSipActions(): {
217
239
  register: () => void;
218
240
  setDebug: (debug?: boolean | string) => void;
219
241
  call: (target: string, options?: jssip_src_UA.CallOptions) => void;
242
+ sendMessage: (target: string, body: string, options?: jssip_src_Message.SendMessageOptions) => boolean;
243
+ sendOptions: (target: string, body?: string, options?: SipSendOptionsOptions) => boolean;
220
244
  answer: (sessionId: string, options?: jssip_src_RTCSession.AnswerOptions) => boolean;
221
245
  hangup: (sessionId: string, options?: jssip_src_RTCSession.TerminateOptions) => boolean;
222
246
  hangupAll: (options?: jssip_src_RTCSession.TerminateOptions) => boolean;
@@ -224,6 +248,9 @@ declare function useSipActions(): {
224
248
  toggleHold: (sessionId?: string) => boolean;
225
249
  sendDTMF: (sessionId: string, tones: string | number, options?: jssip_src_RTCSession.DTMFOptions) => boolean;
226
250
  transfer: (sessionId: string, target: string, options?: jssip_src_RTCSession.ReferOptions) => boolean;
251
+ sendInfo: (sessionId: string, contentType: string, body?: string, options?: jssip_src_RTCSession.ExtraHeaders) => boolean;
252
+ update: (sessionId: string, options?: jssip_src_RTCSession.RenegotiateOptions) => boolean;
253
+ reinvite: (sessionId: string, options?: jssip_src_RTCSession.RenegotiateOptions) => boolean;
227
254
  getSession: (sessionId: string) => jssip_src_RTCSession.RTCSession | null;
228
255
  getSessionIds: () => string[];
229
256
  getSessions: () => {
@@ -239,8 +266,6 @@ type SipSelector<TSelected> = (state: SipState) => TSelected;
239
266
  type SipSelectorEqualityFn<TSelected> = (prev: TSelected, next: TSelected) => boolean;
240
267
  declare function useSipSelector<TSelected>(selector: SipSelector<TSelected>, equalityFn?: SipSelectorEqualityFn<TSelected>): TSelected;
241
268
 
242
- declare function useActiveSipSession(): SipSessionState | null;
243
-
244
269
  declare function useSipSession(sessionId?: string): SipSessionState | null;
245
270
 
246
271
  declare function useSipSessions(): Pick<SipState, "sessions">;
@@ -260,4 +285,4 @@ type SipProviderProps = {
260
285
  };
261
286
  declare function SipProvider(props: SipProviderProps): react_jsx_runtime.JSX.Element;
262
287
 
263
- export { type CallDirection, type CallDirection as CallDirectionType, CallPlayer, CallStatus, CallStatus as CallStatusType, type JsSIPEventMap, type JsSIPEventName, type SessionEventName, type SessionEventPayload, type SipConfiguration, type SipEventHandlers, type SipEventManager, type SipKernel, SipProvider, type SipProviderProps, type SipSessionState, type SipState, SipStatus, SipStatus as SipStatusType, type UAEventName, type UAEventPayload, createSipClientInstance, createSipEventManager, createSipKernel, useActiveSipSession, useSessionMedia, useSipActions, useSipEvent, useSipKernel, useSipSelector, useSipSession, useSipSessionEvent, useSipSessions, useSipState };
288
+ export { type CallDirection, type CallDirection as CallDirectionType, CallPlayer, CallStatus, CallStatus as CallStatusType, type JsSIPEventMap, type JsSIPEventName, type SessionEventName, type SessionEventPayload, type SipConfiguration, type SipEventHandlers, type SipEventManager, type SipKernel, SipProvider, type SipProviderProps, type SipSendOptionsOptions, type SipSessionState, type SipState, SipStatus, SipStatus as SipStatusType, type UAEventName, type UAEventPayload, createSipClientInstance, createSipEventManager, createSipKernel, useSessionMedia, useSipActions, useSipEvent, useSipKernel, useSipSelector, useSipSession, useSipSessionEvent, useSipSessions, useSipState };