sip-connector 14.1.2-7 → 15.1.0

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.
Files changed (152) hide show
  1. package/dist/@SipConnector-BBhQzo-W.cjs +1 -0
  2. package/dist/@SipConnector-G96OmJEP.js +2248 -0
  3. package/dist/ApiManager/@ApiManager.d.ts +59 -0
  4. package/dist/ApiManager/__tests-utils__/helpers.d.ts +9 -0
  5. package/dist/ApiManager/constants.d.ts +72 -0
  6. package/dist/ApiManager/eventNames.d.ts +34 -0
  7. package/dist/ApiManager/index.d.ts +3 -0
  8. package/dist/ApiManager/types.d.ts +99 -0
  9. package/dist/CallManager/@CallManager.d.ts +26 -0
  10. package/dist/CallManager/AbstractCallStrategy.d.ts +47 -0
  11. package/dist/CallManager/MCUCallStrategy.d.ts +30 -0
  12. package/dist/CallManager/RemoteStreamsManager.d.ts +8 -0
  13. package/dist/CallManager/causes.d.ts +13 -0
  14. package/dist/CallManager/eventNames.d.ts +45 -0
  15. package/dist/CallManager/hasCanceledCallError.d.ts +2 -0
  16. package/dist/CallManager/index.d.ts +7 -0
  17. package/dist/CallManager/types.d.ts +59 -0
  18. package/dist/ConnectionManager/@ConnectionManager.d.ts +48 -0
  19. package/dist/ConnectionManager/ConfigurationManager.d.ts +60 -0
  20. package/dist/ConnectionManager/ConnectionFlow.d.ts +84 -0
  21. package/dist/ConnectionManager/ConnectionStateMachine.d.ts +61 -0
  22. package/dist/ConnectionManager/RegistrationManager.d.ts +17 -0
  23. package/dist/ConnectionManager/SipOperations.d.ts +32 -0
  24. package/dist/ConnectionManager/UAFactory.d.ts +50 -0
  25. package/dist/ConnectionManager/eventNames.d.ts +16 -0
  26. package/dist/ConnectionManager/getExtraHeadersRemoteAddress.d.ts +2 -0
  27. package/dist/ConnectionManager/index.d.ts +3 -0
  28. package/dist/IncomingCallManager/@IncomingCallManager.d.ts +37 -0
  29. package/dist/IncomingCallManager/eventNames.d.ts +13 -0
  30. package/dist/IncomingCallManager/index.d.ts +2 -0
  31. package/dist/PresentationManager/@PresentationManager.d.ts +47 -0
  32. package/dist/PresentationManager/constants.d.ts +1 -0
  33. package/dist/PresentationManager/eventNames.d.ts +11 -0
  34. package/dist/PresentationManager/index.d.ts +2 -0
  35. package/dist/PresentationManager/types.d.ts +2 -0
  36. package/dist/SipConnector/@SipConnector.d.ts +96 -0
  37. package/dist/SipConnector/eventNames.d.ts +4 -0
  38. package/dist/SipConnector/index.d.ts +2 -0
  39. package/dist/{src/SipConnectorFacade → SipConnectorFacade}/SipConnectorFacade.d.ts +19 -17
  40. package/dist/{src/__fixtures__ → __fixtures__}/BaseSession.mock.d.ts +9 -9
  41. package/dist/{src/__fixtures__ → __fixtures__}/RTCPeerConnectionMock.d.ts +7 -1
  42. package/dist/{src/__fixtures__ → __fixtures__}/RTCRtpSenderMock.d.ts +1 -0
  43. package/dist/{src/__fixtures__ → __fixtures__}/RTCSessionMock.d.ts +14 -9
  44. package/dist/{src/__fixtures__ → __fixtures__}/UA.mock.d.ts +15 -17
  45. package/dist/{src → __fixtures__}/eventNames.d.ts +1 -1
  46. package/dist/{src/__fixtures__ → __fixtures__}/index.d.ts +4 -4
  47. package/dist/{src/__fixtures__ → __fixtures__}/jssip.mock.d.ts +4 -4
  48. package/dist/doMock.cjs +1 -1
  49. package/dist/{src/doMock.d.ts → doMock.d.ts} +2 -1
  50. package/dist/doMock.js +444 -344
  51. package/dist/index.cjs +1 -1
  52. package/dist/index.d.ts +14 -0
  53. package/dist/index.js +870 -703
  54. package/dist/setParametersToSender/index.d.ts +3 -0
  55. package/dist/{src/setParametersToSender → setParametersToSender}/resolveHasNeedToUpdateItemEncoding.d.ts +1 -1
  56. package/dist/{src/videoSendingBalancer → setParametersToSender}/setEncodingsToSender.d.ts +1 -5
  57. package/dist/setParametersToSender/setMaxBitrateToSender.d.ts +2 -0
  58. package/dist/{src/setParametersToSender → setParametersToSender}/setParametersToSender.d.ts +1 -4
  59. package/dist/setParametersToSender/types.d.ts +5 -0
  60. package/dist/{src/tools → tools}/__fixtures__/connectToServer.d.ts +2 -2
  61. package/dist/{src/tools → tools}/__fixtures__/processRequest.d.ts +1 -1
  62. package/dist/{src/tools → tools}/error/getLinkError.d.ts +1 -1
  63. package/dist/{src/tools → tools}/error/getTypeFromError.d.ts +1 -1
  64. package/dist/{src/tools → tools}/error/getValuesFromError.d.ts +1 -1
  65. package/dist/{src/tools → tools}/error/index.d.ts +1 -1
  66. package/dist/{src/tools → tools}/index.d.ts +2 -2
  67. package/dist/{src/tools → tools}/prepareMediaStream.d.ts +1 -1
  68. package/dist/{src/tools → tools}/setVideoTrackContentHints.d.ts +1 -1
  69. package/dist/{src/tools/syncMediaState/index.d.ts → tools/syncMediaState/createSyncMediaState.d.ts} +1 -1
  70. package/dist/tools/syncMediaState/index.d.ts +1 -0
  71. package/dist/{src/tools → tools}/syncMediaState/resolveOnStartMainCam.d.ts +1 -1
  72. package/dist/{src/tools → tools}/syncMediaState/resolveOnStartMic.d.ts +1 -1
  73. package/dist/{src/tools → tools}/syncMediaState/resolveOnStopMainCam.d.ts +1 -1
  74. package/dist/{src/tools → tools}/syncMediaState/resolveOnStopMic.d.ts +1 -1
  75. package/dist/types.d.ts +23 -0
  76. package/dist/utils/utils.d.ts +4 -0
  77. package/dist/videoSendingBalancer/CodecProvider.d.ts +7 -0
  78. package/dist/videoSendingBalancer/ParametersSetterWithQueue.d.ts +12 -0
  79. package/dist/videoSendingBalancer/SenderBalancer.d.ts +52 -0
  80. package/dist/videoSendingBalancer/SenderFinder.d.ts +7 -0
  81. package/dist/videoSendingBalancer/TaskQueue.d.ts +20 -0
  82. package/dist/videoSendingBalancer/VideoSendingBalancer.d.ts +44 -0
  83. package/dist/videoSendingBalancer/VideoSendingEventHandler.d.ts +25 -0
  84. package/dist/videoSendingBalancer/calcBitrate/calcMaxBitrateByWidth.d.ts +4 -0
  85. package/dist/videoSendingBalancer/calcBitrate/calcMaxBitrateByWidthAndCodec.d.ts +4 -0
  86. package/dist/videoSendingBalancer/calcBitrate/index.d.ts +1 -0
  87. package/dist/videoSendingBalancer/calcResolution/calcScaleResolutionDownBy.d.ts +6 -0
  88. package/dist/videoSendingBalancer/calcResolution/index.d.ts +1 -0
  89. package/dist/videoSendingBalancer/index.d.ts +3 -0
  90. package/dist/videoSendingBalancer/types.d.ts +36 -0
  91. package/package.json +36 -43
  92. package/dist/SipConnector-BHvTGgmw.js +0 -1352
  93. package/dist/SipConnector-ChW25Tx9.cjs +0 -1
  94. package/dist/src/SipConnector.d.ts +0 -235
  95. package/dist/src/causes.d.ts +0 -23
  96. package/dist/src/getExtraHeadersRemoteAddress.d.ts +0 -2
  97. package/dist/src/headers.d.ts +0 -37
  98. package/dist/src/index.d.ts +0 -11
  99. package/dist/src/setParametersToSender/index.d.ts +0 -1
  100. package/dist/src/types.d.ts +0 -69
  101. package/dist/src/videoSendingBalancer/balance.d.ts +0 -10
  102. package/dist/src/videoSendingBalancer/getMaxBitrateByWidth.d.ts +0 -3
  103. package/dist/src/videoSendingBalancer/getMaxBitrateByWidthAndCodec.d.ts +0 -3
  104. package/dist/src/videoSendingBalancer/index.d.ts +0 -13
  105. package/dist/src/videoSendingBalancer/processSender.d.ts +0 -10
  106. package/dist/src/videoSendingBalancer/scaleBitrate.d.ts +0 -2
  107. /package/dist/{src/SipConnectorFacade → SipConnectorFacade}/index.d.ts +0 -0
  108. /package/dist/{src/__fixtures__ → __fixtures__}/Registrator.mock.d.ts +0 -0
  109. /package/dist/{src/__fixtures__ → __fixtures__}/Request.mock.d.ts +0 -0
  110. /package/dist/{src/__fixtures__ → __fixtures__}/WebSocketInterface.mock.d.ts +0 -0
  111. /package/dist/{src/__fixtures__ → __fixtures__}/accountNotify.d.ts +0 -0
  112. /package/dist/{src/__fixtures__ → __fixtures__}/channels.d.ts +0 -0
  113. /package/dist/{src/__fixtures__ → __fixtures__}/channelsNotify.d.ts +0 -0
  114. /package/dist/{src/__fixtures__ → __fixtures__}/conferenceParticipantTokenIssuedNotify.d.ts +0 -0
  115. /package/dist/{src → __fixtures__}/constants.d.ts +0 -0
  116. /package/dist/{src/__fixtures__ → __fixtures__}/delayPromise.d.ts +0 -0
  117. /package/dist/{src/__fixtures__ → __fixtures__}/enterRoom.d.ts +0 -0
  118. /package/dist/{src/__fixtures__ → __fixtures__}/mediaState.d.ts +0 -0
  119. /package/dist/{src/__fixtures__ → __fixtures__}/participantMoveRequests.d.ts +0 -0
  120. /package/dist/{src/__fixtures__ → __fixtures__}/participantNotify.d.ts +0 -0
  121. /package/dist/{src/__fixtures__ → __fixtures__}/remoteCallerData.d.ts +0 -0
  122. /package/dist/{src/__fixtures__ → __fixtures__}/utils.d.ts +0 -0
  123. /package/dist/{src/__fixtures__ → __fixtures__}/webcastNotify.d.ts +0 -0
  124. /package/dist/{src/logger.d.ts → logger.d.ts} +0 -0
  125. /package/dist/{src/setParametersToSender → setParametersToSender}/configureDegradationPreference.d.ts +0 -0
  126. /package/dist/{src/setParametersToSender → setParametersToSender}/configureEmptyEncodings.d.ts +0 -0
  127. /package/dist/{src/setParametersToSender → setParametersToSender}/configureEncodings.d.ts +0 -0
  128. /package/dist/{src/setParametersToSender → setParametersToSender}/configureMaxBitrate.d.ts +0 -0
  129. /package/dist/{src/setParametersToSender → setParametersToSender}/configureScaleResolutionDownBy.d.ts +0 -0
  130. /package/dist/{src/setParametersToSender → setParametersToSender}/hasChangedRTCRtpSendParameters.d.ts +0 -0
  131. /package/dist/{src/tools → tools}/__fixtures__/call.d.ts +0 -0
  132. /package/dist/{src/tools → tools}/__fixtures__/hasValidUri.d.ts +0 -0
  133. /package/dist/{src/tools → tools}/__fixtures__/permissions.d.ts +0 -0
  134. /package/dist/{src/tools → tools}/__tests-utils__/parseObject.d.ts +0 -0
  135. /package/dist/{src/tools → tools}/__tests-utils__/resolveParseArray.d.ts +0 -0
  136. /package/dist/{src/tools → tools}/error/stringifyMessage.d.ts +0 -0
  137. /package/dist/{src/tools → tools}/generateSimulcastEncodings.d.ts +0 -0
  138. /package/dist/{src/tools → tools}/getExtraHeaders.d.ts +0 -0
  139. /package/dist/{src/tools → tools}/getUserAgent.d.ts +0 -0
  140. /package/dist/{src/tools → tools}/hasPurgatory.d.ts +0 -0
  141. /package/dist/{src/tools → tools}/resolveUpdateTransceiver.d.ts +0 -0
  142. /package/dist/{src/videoSendingBalancer → tools}/scaleResolutionAndBitrate.d.ts +0 -0
  143. /package/dist/{src/tools/sendDTMFAccumulated.d.ts → tools/sendDtmfFAccumulated.d.ts} +0 -0
  144. /package/dist/{src/utils → utils}/errors.d.ts +0 -0
  145. /package/dist/{src/utils → utils}/findSenderByStream.d.ts +0 -0
  146. /package/dist/{src/utils → utils}/findVideoSender.d.ts +0 -0
  147. /package/dist/{src/utils → utils}/findVideoTrack.d.ts +0 -0
  148. /package/dist/{src/utils → utils}/getCodecFromSender.d.ts +0 -0
  149. /package/dist/{src/videoSendingBalancer → utils}/hasIncludesString.d.ts +0 -0
  150. /package/dist/{src/utils → utils}/replaceForbiddenSymbolsWithUnderscore.d.ts +0 -0
  151. /package/dist/{src/videoSendingBalancer → videoSendingBalancer/calcBitrate}/hasAv1Codec.d.ts +0 -0
  152. /package/dist/{src/videoSendingBalancer → videoSendingBalancer/calcBitrate}/scaleBitrateByCodec.d.ts +0 -0
@@ -0,0 +1,84 @@
1
+ import { UA, WebSocketInterface } from '@krivega/jssip';
2
+ import { Events } from 'events-constructor';
3
+ import { TGetServerUrl } from '../CallManager';
4
+ import { TJsSIP } from '../types';
5
+ import { default as ConnectionStateMachine } from './ConnectionStateMachine';
6
+ import { EVENT_NAMES } from './eventNames';
7
+ import { default as RegistrationManager } from './RegistrationManager';
8
+ import { default as UAFactory } from './UAFactory';
9
+ export type TOptionsExtraHeaders = {
10
+ extraHeaders?: string[];
11
+ };
12
+ export type TParametersConnection = TOptionsExtraHeaders & {
13
+ displayName?: string;
14
+ user?: string;
15
+ password?: string;
16
+ register?: boolean;
17
+ sipServerUrl: string;
18
+ sipWebSocketServerURL: string;
19
+ remoteAddress?: string;
20
+ sessionTimers?: boolean;
21
+ registerExpires?: number;
22
+ connectionRecoveryMinInterval?: number;
23
+ connectionRecoveryMaxInterval?: number;
24
+ userAgent?: string;
25
+ };
26
+ export type TConnect = (parameters: TParametersConnection, options?: {
27
+ callLimit?: number;
28
+ }) => Promise<UA>;
29
+ export type TSet = (parameters: {
30
+ displayName?: string;
31
+ }) => Promise<boolean>;
32
+ interface IDependencies {
33
+ JsSIP: TJsSIP;
34
+ events: Events<typeof EVENT_NAMES>;
35
+ uaFactory: UAFactory;
36
+ stateMachine: ConnectionStateMachine;
37
+ registrationManager: RegistrationManager;
38
+ getUa: () => UA | undefined;
39
+ setUa: (ua: UA | undefined) => void;
40
+ getConnectionConfiguration: () => {
41
+ sipServerUrl?: string;
42
+ displayName?: string;
43
+ register?: boolean;
44
+ user?: string;
45
+ password?: string;
46
+ };
47
+ setConnectionConfiguration: (config: {
48
+ sipServerUrl?: string;
49
+ displayName?: string;
50
+ register?: boolean;
51
+ user?: string;
52
+ password?: string;
53
+ }) => void;
54
+ updateConnectionConfiguration: (key: 'displayName', value: string) => void;
55
+ setSipServerUrl: (getSipServerUrl: TGetServerUrl) => void;
56
+ setSocket: (socket: WebSocketInterface) => void;
57
+ }
58
+ export default class ConnectionFlow {
59
+ private cancelableConnectWithRepeatedCalls;
60
+ private readonly JsSIP;
61
+ private readonly events;
62
+ private readonly uaFactory;
63
+ private readonly stateMachine;
64
+ private readonly registrationManager;
65
+ private readonly getUa;
66
+ private readonly setUa;
67
+ private readonly getConnectionConfiguration;
68
+ private readonly setConnectionConfiguration;
69
+ private readonly updateConnectionConfiguration;
70
+ private readonly setSipServerUrl;
71
+ private readonly setSocket;
72
+ constructor(dependencies: IDependencies);
73
+ connect: TConnect;
74
+ set: TSet;
75
+ disconnect: () => Promise<void>;
76
+ cancelRequests(): void;
77
+ private readonly connectWithDuplicatedCalls;
78
+ private hasEqualConnectionConfiguration;
79
+ private readonly connectInner;
80
+ private readonly initUa;
81
+ private readonly start;
82
+ private cancelConnectWithRepeatedCalls;
83
+ }
84
+ export {};
@@ -0,0 +1,61 @@
1
+ import { Events } from 'events-constructor';
2
+ import { EVENT_NAMES } from './eventNames';
3
+ export declare enum EEvents {
4
+ START_CONNECT = "START_CONNECT",
5
+ START_INIT_UA = "START_INIT_UA",
6
+ UA_CONNECTED = "UA_CONNECTED",
7
+ UA_REGISTERED = "UA_REGISTERED",
8
+ UA_UNREGISTERED = "UA_UNREGISTERED",
9
+ UA_DISCONNECTED = "UA_DISCONNECTED",
10
+ CONNECTION_FAILED = "CONNECTION_FAILED",
11
+ RESET = "RESET"
12
+ }
13
+ type TConnectionMachineEvent = `${EEvents}`;
14
+ export declare enum EState {
15
+ IDLE = "idle",
16
+ CONNECTING = "connecting",
17
+ INITIALIZING = "initializing",
18
+ CONNECTED = "connected",
19
+ REGISTERED = "registered",
20
+ DISCONNECTED = "disconnected",
21
+ FAILED = "failed"
22
+ }
23
+ export default class ConnectionStateMachine {
24
+ private readonly actor;
25
+ private readonly stateChangeListeners;
26
+ private readonly events;
27
+ private unsubscribeFromEvents?;
28
+ private readonly actorSubscription?;
29
+ constructor(events: Events<typeof EVENT_NAMES>);
30
+ get state(): EState;
31
+ get isIdle(): boolean;
32
+ get isConnecting(): boolean;
33
+ get isInitializing(): boolean;
34
+ get isConnected(): boolean;
35
+ get isRegistered(): boolean;
36
+ get isDisconnected(): boolean;
37
+ get isFailed(): boolean;
38
+ get isPending(): boolean;
39
+ get isPendingConnect(): boolean;
40
+ get isPendingInitUa(): boolean;
41
+ get isActiveConnection(): boolean;
42
+ startConnect(): void;
43
+ startInitUa(): void;
44
+ reset(): void;
45
+ destroy(): void;
46
+ onStateChange(listener: (state: EState) => void): () => void;
47
+ canTransition(event: TConnectionMachineEvent): boolean;
48
+ getValidEvents(): TConnectionMachineEvent[];
49
+ private hasState;
50
+ private sendEvent;
51
+ private readonly toStartConnect;
52
+ private readonly toStartInitUa;
53
+ private readonly toConnected;
54
+ private readonly toRegistered;
55
+ private readonly toUnregistered;
56
+ private readonly toDisconnected;
57
+ private readonly toFailed;
58
+ private readonly toIdle;
59
+ private subscribeToEvents;
60
+ }
61
+ export {};
@@ -0,0 +1,17 @@
1
+ import { RegisteredEvent, UA, UnRegisteredEvent } from '@krivega/jssip';
2
+ import { Events } from 'events-constructor';
3
+ import { EVENT_NAMES } from './eventNames';
4
+ interface IDependencies {
5
+ events: Events<typeof EVENT_NAMES>;
6
+ getUaProtected: () => UA;
7
+ }
8
+ export default class RegistrationManager {
9
+ private readonly events;
10
+ private readonly getUaProtected;
11
+ constructor(dependencies: IDependencies);
12
+ register(): Promise<RegisteredEvent>;
13
+ unregister(): Promise<UnRegisteredEvent>;
14
+ tryRegister(): Promise<RegisteredEvent>;
15
+ subscribeToStartEvents(onSuccess: () => void, onError: (error: Error) => void): () => void;
16
+ }
17
+ export {};
@@ -0,0 +1,32 @@
1
+ import { UA, URI } from '@krivega/jssip';
2
+ import { default as UAFactory } from './UAFactory';
3
+ export type TParametersCheckTelephony = {
4
+ displayName: string;
5
+ sipServerUrl: string;
6
+ sipWebSocketServerURL: string;
7
+ userAgent?: string;
8
+ remoteAddress?: string;
9
+ extraHeaders?: string[];
10
+ };
11
+ interface IDependencies {
12
+ uaFactory: UAFactory;
13
+ getUaProtected: () => UA;
14
+ }
15
+ export default class SipOperations {
16
+ private readonly uaFactory;
17
+ private readonly getUaProtected;
18
+ constructor(dependencies: IDependencies);
19
+ /**
20
+ * Отправляет SIP OPTIONS запрос к указанному адресу
21
+ */
22
+ sendOptions(target: URI | string, body?: string, extraHeaders?: string[]): Promise<void>;
23
+ /**
24
+ * Отправляет SIP OPTIONS запрос к собственному URI (ping)
25
+ */
26
+ ping(body?: string, extraHeaders?: string[]): Promise<void>;
27
+ /**
28
+ * Проверяет доступность телефонии, создавая временное соединение
29
+ */
30
+ checkTelephony({ userAgent, displayName, sipServerUrl, sipWebSocketServerURL, remoteAddress, extraHeaders, }: TParametersCheckTelephony): Promise<void>;
31
+ }
32
+ export {};
@@ -0,0 +1,50 @@
1
+ import { UA, UAConfigurationParams, WebSocketInterface } from '@krivega/jssip';
2
+ import { TJsSIP } from '../types';
3
+ export type TUAConfiguration = {
4
+ configuration: UAConfigurationParams;
5
+ helpers: {
6
+ socket: WebSocketInterface;
7
+ getSipServerUrl: (id: string) => string;
8
+ };
9
+ };
10
+ export type TCreateUAParameters = UAConfigurationParams & {
11
+ remoteAddress?: string;
12
+ extraHeaders?: string[];
13
+ };
14
+ type TParametersCreateUaConfiguration = {
15
+ sipWebSocketServerURL: string;
16
+ displayName?: string;
17
+ sipServerUrl: string;
18
+ user?: string;
19
+ register?: boolean;
20
+ password?: string;
21
+ sessionTimers?: boolean;
22
+ registerExpires?: number;
23
+ connectionRecoveryMinInterval?: number;
24
+ connectionRecoveryMaxInterval?: number;
25
+ userAgent?: string;
26
+ };
27
+ export default class UAFactory {
28
+ private readonly JsSIP;
29
+ constructor(JsSIP: TJsSIP);
30
+ static isRegisteredUA(ua?: UA): boolean;
31
+ private static validateConfiguration;
32
+ private static resolveAuthorizationUser;
33
+ private static buildExtraHeaders;
34
+ createConfiguration({ user, password, sipWebSocketServerURL, displayName, sipServerUrl, register, sessionTimers, registerExpires, // 5 minutes in sec
35
+ connectionRecoveryMinInterval, connectionRecoveryMaxInterval, userAgent, }: TParametersCreateUaConfiguration): TUAConfiguration;
36
+ createUA({ remoteAddress, extraHeaders, ...parameters }: TCreateUAParameters): UA;
37
+ /**
38
+ * Создает UA с полным жизненным циклом - конфигурация + создание + настройка событий
39
+ */
40
+ createUAWithConfiguration(parameters: TParametersCreateUaConfiguration & {
41
+ remoteAddress?: string;
42
+ extraHeaders?: string[];
43
+ }, events: {
44
+ eachTriggers: (callback: (trigger: (...args: unknown[]) => void, eventName: string) => void) => void;
45
+ }): {
46
+ ua: UA;
47
+ helpers: TUAConfiguration['helpers'];
48
+ };
49
+ }
50
+ export {};
@@ -0,0 +1,16 @@
1
+ import { Events } from 'events-constructor';
2
+ export declare enum EEvent {
3
+ CONNECTING = "connecting",
4
+ CONNECTED = "connected",
5
+ DISCONNECTED = "disconnected",
6
+ NEW_RTC_SESSION = "newRTCSession",
7
+ REGISTERED = "registered",
8
+ UNREGISTERED = "unregistered",
9
+ REGISTRATION_FAILED = "registrationFailed",
10
+ NEW_MESSAGE = "newMessage",
11
+ SIP_EVENT = "sipEvent"
12
+ }
13
+ export declare const UA_EVENT_NAMES: readonly ["connecting", "connected", "disconnected", "newRTCSession", "registered", "unregistered", "registrationFailed", "newMessage", "sipEvent"];
14
+ export declare const EVENT_NAMES: ("connecting" | "connected" | "disconnected" | "newRTCSession" | "registered" | "unregistered" | "registrationFailed" | "newMessage" | "sipEvent")[];
15
+ export type TEvent = (typeof EVENT_NAMES)[number];
16
+ export type TEvents = Events<typeof EVENT_NAMES>;
@@ -0,0 +1,2 @@
1
+ declare const getExtraHeadersRemoteAddress: (remoteAddress?: string) => string[];
2
+ export default getExtraHeadersRemoteAddress;
@@ -0,0 +1,3 @@
1
+ export { default as ConnectionManager } from './@ConnectionManager';
2
+ export { EVENT_NAMES as CONNECTION_MANAGER_EVENT_NAMES, EEvent as EConnectionManagerEvent, } from './eventNames';
3
+ export type { TEvent as TConnectionManagerEvent, TEvents as TConnectionManagerEvents, } from './eventNames';
@@ -0,0 +1,37 @@
1
+ import { Events } from 'events-constructor';
2
+ import { EVENT_NAMES, TEvent } from './eventNames';
3
+ import { RTCSession } from '@krivega/jssip';
4
+ import { ConnectionManager } from '../ConnectionManager';
5
+ type TRemoteCallerData = {
6
+ displayName?: string;
7
+ host?: string;
8
+ incomingNumber?: string;
9
+ rtcSession?: RTCSession;
10
+ };
11
+ export default class IncomingCallManager {
12
+ readonly events: Events<typeof EVENT_NAMES>;
13
+ private incomingRTCSession?;
14
+ private readonly connectionManager;
15
+ constructor(connectionManager: ConnectionManager);
16
+ get remoteCallerData(): TRemoteCallerData;
17
+ get isAvailableIncomingCall(): boolean;
18
+ start(): void;
19
+ stop(): void;
20
+ getIncomingRTCSession: () => RTCSession;
21
+ extractIncomingRTCSession: () => RTCSession;
22
+ declineToIncomingCall({ statusCode, }?: {
23
+ statusCode?: number;
24
+ }): Promise<void>;
25
+ busyIncomingCall(): Promise<void>;
26
+ on<T>(eventName: TEvent, handler: (data: T) => void): () => void;
27
+ once<T>(eventName: TEvent, handler: (data: T) => void): () => void;
28
+ onceRace<T>(eventNames: TEvent[], handler: (data: T, eventName: string) => void): () => void;
29
+ wait<T>(eventName: TEvent): Promise<T>;
30
+ off<T>(eventName: TEvent, handler: (data: T) => void): void;
31
+ private subscribe;
32
+ private unsubscribe;
33
+ private readonly handleNewRTCSession;
34
+ private setIncomingSession;
35
+ private removeIncomingSession;
36
+ }
37
+ export {};
@@ -0,0 +1,13 @@
1
+ export declare enum EEvent {
2
+ INCOMING_CALL = "incomingCall",
3
+ DECLINED_INCOMING_CALL = "declinedIncomingCall",
4
+ TERMINATED_INCOMING_CALL = "terminatedIncomingCall",
5
+ FAILED_INCOMING_CALL = "failedIncomingCall"
6
+ }
7
+ export declare enum Originator {
8
+ LOCAL = "local",
9
+ REMOTE = "remote",
10
+ SYSTEM = "system"
11
+ }
12
+ export declare const EVENT_NAMES: readonly ["incomingCall", "declinedIncomingCall", "terminatedIncomingCall", "failedIncomingCall"];
13
+ export type TEvent = (typeof EVENT_NAMES)[number];
@@ -0,0 +1,2 @@
1
+ export { default as IncomingCallManager } from './@IncomingCallManager';
2
+ export type { TEvent as TIncomingCallEvent } from './eventNames';
@@ -0,0 +1,47 @@
1
+ import { CallManager } from '../CallManager';
2
+ import { TEvent, TEvents } from './eventNames';
3
+ import { TContentHint, TOnAddedTransceiver } from './types';
4
+ export declare const hasCanceledStartPresentationError: (error: unknown) => error is import('repeated-calls').TCanceledError<unknown>;
5
+ declare class PresentationManager {
6
+ readonly events: TEvents;
7
+ promisePendingStartPresentation?: Promise<MediaStream>;
8
+ promisePendingStopPresentation?: Promise<MediaStream | undefined>;
9
+ streamPresentationCurrent?: MediaStream;
10
+ private cancelableSendPresentationWithRepeatedCalls;
11
+ private readonly callManager;
12
+ constructor({ callManager }: {
13
+ callManager: CallManager;
14
+ });
15
+ get isPendingPresentation(): boolean;
16
+ startPresentation(beforeStartPresentation: () => Promise<void>, stream: MediaStream, { isNeedReinvite, maxBitrate, contentHint, sendEncodings, onAddedTransceiver, }?: {
17
+ isNeedReinvite?: boolean;
18
+ maxBitrate?: number;
19
+ contentHint?: TContentHint;
20
+ sendEncodings?: RTCRtpEncodingParameters[];
21
+ onAddedTransceiver?: TOnAddedTransceiver;
22
+ }, options?: {
23
+ callLimit: number;
24
+ }): Promise<MediaStream>;
25
+ stopPresentation(beforeStopPresentation: () => Promise<void>): Promise<MediaStream | undefined>;
26
+ updatePresentation(beforeStartPresentation: () => Promise<void>, stream: MediaStream, { contentHint, sendEncodings, onAddedTransceiver, }?: {
27
+ isP2P?: boolean;
28
+ contentHint?: TContentHint;
29
+ sendEncodings?: RTCRtpEncodingParameters[];
30
+ onAddedTransceiver?: TOnAddedTransceiver;
31
+ }): Promise<MediaStream | undefined>;
32
+ cancelSendPresentationWithRepeatedCalls(): void;
33
+ on<T>(eventName: TEvent, handler: (data: T) => void): () => void;
34
+ once<T>(eventName: TEvent, handler: (data: T) => void): () => void;
35
+ onceRace<T>(eventNames: TEvent[], handler: (data: T, eventName: string) => void): () => void;
36
+ wait<T>(eventName: TEvent): Promise<T>;
37
+ off<T>(eventName: TEvent, handler: (data: T) => void): void;
38
+ private subscribe;
39
+ private sendPresentationWithDuplicatedCalls;
40
+ private sendPresentation;
41
+ private readonly getRtcSessionProtected;
42
+ private readonly handleEnded;
43
+ private reset;
44
+ private resetPresentation;
45
+ private removeStreamPresentationCurrent;
46
+ }
47
+ export default PresentationManager;
@@ -0,0 +1 @@
1
+ export declare const ONE_MEGABIT_IN_BITS = 1000000;
@@ -0,0 +1,11 @@
1
+ import { Events } from 'events-constructor';
2
+ export declare enum EEvent {
3
+ START_PRESENTATION = "presentation:start",
4
+ STARTED_PRESENTATION = "presentation:started",
5
+ END_PRESENTATION = "presentation:end",
6
+ ENDED_PRESENTATION = "presentation:ended",
7
+ FAILED_PRESENTATION = "presentation:failed"
8
+ }
9
+ export declare const EVENT_NAMES: readonly ["presentation:start", "presentation:started", "presentation:end", "presentation:ended", "presentation:failed"];
10
+ export type TEvent = (typeof EVENT_NAMES)[number];
11
+ export type TEvents = Events<typeof EVENT_NAMES>;
@@ -0,0 +1,2 @@
1
+ export { hasCanceledStartPresentationError, default as PresentationManager, } from './@PresentationManager';
2
+ export type { TContentHint } from './types';
@@ -0,0 +1,2 @@
1
+ export type TOnAddedTransceiver = (transceiver: RTCRtpTransceiver, track: MediaStreamTrack, stream: MediaStream) => Promise<void>;
2
+ export type TContentHint = 'motion' | 'detail' | 'text' | 'none';
@@ -0,0 +1,96 @@
1
+ import { Events } from 'events-constructor';
2
+ import { ApiManager } from '../ApiManager';
3
+ import { CallManager, TGetServerUrl } from '../CallManager';
4
+ import { ConnectionManager } from '../ConnectionManager';
5
+ import { IncomingCallManager } from '../IncomingCallManager';
6
+ import { PresentationManager } from '../PresentationManager';
7
+ import { EVENT_NAMES, TEvent } from './eventNames';
8
+ import { TContentHint, TOnAddedTransceiver } from '../PresentationManager/types';
9
+ import { TJsSIP } from '../types';
10
+ declare class SipConnector {
11
+ readonly events: Events<typeof EVENT_NAMES>;
12
+ readonly connectionManager: ConnectionManager;
13
+ readonly callManager: CallManager;
14
+ readonly apiManager: ApiManager;
15
+ readonly incomingCallManager: IncomingCallManager;
16
+ readonly presentationManager: PresentationManager;
17
+ constructor({ JsSIP }: {
18
+ JsSIP: TJsSIP;
19
+ });
20
+ get requestedConnection(): boolean;
21
+ get isPendingConnect(): boolean;
22
+ get isPendingInitUa(): boolean;
23
+ get connectionState(): import('../ConnectionManager/ConnectionStateMachine').EState;
24
+ get isRegistered(): boolean;
25
+ get isRegisterConfig(): boolean;
26
+ get socket(): import('@krivega/jssip').WebSocketInterface | undefined;
27
+ get requestedCall(): boolean;
28
+ get connection(): RTCPeerConnection | undefined;
29
+ get establishedRTCSession(): import('@krivega/jssip').RTCSession | undefined;
30
+ get isCallActive(): boolean;
31
+ get remoteCallerData(): IncomingCallManager['remoteCallerData'];
32
+ get isAvailableIncomingCall(): IncomingCallManager['isAvailableIncomingCall'];
33
+ on<T>(eventName: TEvent, handler: (data: T) => void): () => void;
34
+ once<T>(eventName: TEvent, handler: (data: T) => void): () => void;
35
+ onceRace<T>(eventNames: TEvent[], handler: (data: T, eventName: string) => void): () => void;
36
+ wait<T>(eventName: TEvent): Promise<T>;
37
+ off<T>(eventName: TEvent, handler: (data: T) => void): void;
38
+ connect: ConnectionManager['connect'];
39
+ set: ConnectionManager['set'];
40
+ disconnect: () => Promise<void>;
41
+ register: () => Promise<import('@krivega/jssip').RegisteredEvent>;
42
+ unregister: () => Promise<import('@krivega/jssip').UnRegisteredEvent>;
43
+ tryRegister: () => Promise<import('@krivega/jssip').RegisteredEvent>;
44
+ sendOptions: (target: Parameters<ConnectionManager["sendOptions"]>[0], body?: Parameters<ConnectionManager["sendOptions"]>[1], extraHeaders?: Parameters<ConnectionManager["sendOptions"]>[2]) => Promise<void>;
45
+ ping: (body?: Parameters<ConnectionManager["ping"]>[0], extraHeaders?: Parameters<ConnectionManager["ping"]>[1]) => Promise<void>;
46
+ checkTelephony: ConnectionManager['checkTelephony'];
47
+ isConfigured: () => boolean;
48
+ getConnectionConfiguration: () => import('../ConnectionManager/ConfigurationManager').IConnectionConfiguration;
49
+ getSipServerUrl: TGetServerUrl;
50
+ call: (params: Parameters<CallManager["startCall"]>[2]) => Promise<RTCPeerConnection>;
51
+ hangUp: CallManager['endCall'];
52
+ answerToIncomingCall: (params: Parameters<CallManager["answerToIncomingCall"]>[1]) => Promise<RTCPeerConnection>;
53
+ declineToIncomingCall: IncomingCallManager['declineToIncomingCall'];
54
+ getEstablishedRTCSession: CallManager['getEstablishedRTCSession'];
55
+ getCallConfiguration: CallManager['getCallConfiguration'];
56
+ getRemoteStreams: CallManager['getRemoteStreams'];
57
+ replaceMediaStream: CallManager['replaceMediaStream'];
58
+ startPresentation(stream: MediaStream, options?: {
59
+ isP2P?: boolean;
60
+ isNeedReinvite?: boolean;
61
+ maxBitrate?: number;
62
+ contentHint?: TContentHint;
63
+ sendEncodings?: RTCRtpEncodingParameters[];
64
+ onAddedTransceiver?: TOnAddedTransceiver;
65
+ callLimit?: number;
66
+ }): Promise<MediaStream>;
67
+ stopPresentation(options?: {
68
+ isP2P?: boolean;
69
+ }): Promise<MediaStream | undefined>;
70
+ updatePresentation(stream: MediaStream, options?: {
71
+ isP2P?: boolean;
72
+ isNeedReinvite?: boolean;
73
+ maxBitrate?: number;
74
+ contentHint?: TContentHint;
75
+ sendEncodings?: RTCRtpEncodingParameters[];
76
+ onAddedTransceiver?: TOnAddedTransceiver;
77
+ }): Promise<MediaStream | undefined>;
78
+ waitChannels(...args: Parameters<ApiManager['waitChannels']>): Promise<import('../ApiManager/types').TChannels>;
79
+ waitSyncMediaState(...args: Parameters<ApiManager['waitSyncMediaState']>): Promise<{
80
+ isSyncForced: boolean;
81
+ }>;
82
+ sendDTMF(...args: Parameters<ApiManager['sendDTMF']>): Promise<void>;
83
+ sendChannels(...args: Parameters<ApiManager['sendChannels']>): Promise<void>;
84
+ sendMediaState(...args: Parameters<ApiManager['sendMediaState']>): Promise<void>;
85
+ sendRefusalToTurnOn(...args: Parameters<ApiManager['sendRefusalToTurnOn']>): Promise<void>;
86
+ sendRefusalToTurnOnMic(...args: Parameters<ApiManager['sendRefusalToTurnOnMic']>): Promise<void>;
87
+ sendRefusalToTurnOnCam(...args: Parameters<ApiManager['sendRefusalToTurnOnCam']>): Promise<void>;
88
+ sendMustStopPresentationP2P(...args: Parameters<ApiManager['sendMustStopPresentationP2P']>): Promise<void>;
89
+ sendStoppedPresentationP2P(...args: Parameters<ApiManager['sendStoppedPresentationP2P']>): Promise<void>;
90
+ sendStoppedPresentation(...args: Parameters<ApiManager['sendStoppedPresentation']>): Promise<void>;
91
+ askPermissionToStartPresentationP2P(...args: Parameters<ApiManager['askPermissionToStartPresentationP2P']>): Promise<void>;
92
+ askPermissionToStartPresentation(...args: Parameters<ApiManager['askPermissionToStartPresentation']>): Promise<void>;
93
+ askPermissionToEnableCam(...args: Parameters<ApiManager['askPermissionToEnableCam']>): Promise<void>;
94
+ private subscribe;
95
+ }
96
+ export default SipConnector;
@@ -0,0 +1,4 @@
1
+ import { Events } from 'events-constructor';
2
+ export declare const EVENT_NAMES: readonly ("connection:connecting" | "connection:connected" | "connection:disconnected" | "connection:newRTCSession" | "connection:registered" | "connection:unregistered" | "connection:registrationFailed" | "connection:newMessage" | "connection:sipEvent" | "call:peerconnection" | "call:connecting" | "call:sending" | "call:progress" | "call:accepted" | "call:confirmed" | "call:ended" | "call:failed" | "call:newDTMF" | "call:newInfo" | "call:reinvite" | "call:update" | "call:refer" | "call:replaces" | "call:sdp" | "call:icecandidate" | "call:getusermediafailed" | "call:peerconnection:createofferfailed" | "call:peerconnection:createanswerfailed" | "call:peerconnection:setlocaldescriptionfailed" | "call:peerconnection:setremotedescriptionfailed" | "call:presentation:start" | "call:presentation:started" | "call:presentation:end" | "call:presentation:ended" | "call:presentation:failed" | "call:peerconnection:confirmed" | "call:peerconnection:ontrack" | "call:ended:fromserver" | "api:newDTMF" | "api:channels:notify" | "api:participant:added-to-list-moderators" | "api:participant:removed-from-list-moderators" | "api:participant:move-request-to-stream" | "api:participant:move-request-to-spectators" | "api:participant:move-request-to-participants" | "api:participant:move-request-to-spectators-over-sfu" | "api:participation:accepting-word-request" | "api:participation:cancelling-word-request" | "api:webcast:started" | "api:webcast:stopped" | "api:account:changed" | "api:account:deleted" | "api:conference:participant-token-issued" | "api:channels" | "api:enterRoom" | "api:shareState" | "api:main-cam-control" | "api:useLicense" | "api:admin-start-main-cam" | "api:admin-stop-main-cam" | "api:admin-start-mic" | "api:admin-stop-mic" | "api:admin-force-sync-media-state" | "api:availableSecondRemoteStream" | "api:notAvailableSecondRemoteStream" | "api:mustStopPresentation" | "incoming-call:incomingCall" | "incoming-call:declinedIncomingCall" | "incoming-call:terminatedIncomingCall" | "incoming-call:failedIncomingCall" | "presentation:presentation:start" | "presentation:presentation:started" | "presentation:presentation:end" | "presentation:presentation:ended" | "presentation:presentation:failed")[];
3
+ export type TEvent = (typeof EVENT_NAMES)[number];
4
+ export type TEvents = Events<typeof EVENT_NAMES>;
@@ -0,0 +1,2 @@
1
+ export { default as SipConnector } from './@SipConnector';
2
+ export type { TEvent, TEvents } from './eventNames';
@@ -1,17 +1,25 @@
1
1
  import { UA } from '@krivega/jssip';
2
- import { default as SipConnector } from '../SipConnector';
3
- import { EUseLicense, TContentHint, TSimulcastEncoding } from '../types';
2
+ import { EUseLicense } from '../ApiManager';
3
+ import { TContentHint } from '../PresentationManager';
4
+ import { SipConnector } from '../SipConnector';
5
+ import { TSimulcastEncoding } from '../types';
6
+ type TEnterRoomHandlers = {
7
+ onEnterPurgatory?: () => void;
8
+ onEnterConference?: (parameters_: {
9
+ isSuccessProgressCall: boolean;
10
+ }) => void;
11
+ };
12
+ export declare const TEST_HOOKS: {
13
+ handleEnterRoomEvent: (room: string, isSuccessProgressCall: boolean, { onEnterPurgatory, onEnterConference }: TEnterRoomHandlers) => void;
14
+ handleOnceRaceEvent: (unsubscribeEnterConference: () => void, onEndedCall?: () => void) => void;
15
+ handleFailProgressEvent: (onFailProgressCall: (() => void) | undefined, unsubscribeEnterConference: () => void, error: Error) => never;
16
+ };
4
17
  interface IProxyMethods {
5
18
  on: SipConnector['on'];
6
19
  once: SipConnector['once'];
7
20
  onceRace: SipConnector['onceRace'];
8
21
  wait: SipConnector['wait'];
9
22
  off: SipConnector['off'];
10
- onSession: SipConnector['onSession'];
11
- onceSession: SipConnector['onceSession'];
12
- onceRaceSession: SipConnector['onceRaceSession'];
13
- waitSession: SipConnector['waitSession'];
14
- offSession: SipConnector['offSession'];
15
23
  sendDTMF: SipConnector['sendDTMF'];
16
24
  hangUp: SipConnector['hangUp'];
17
25
  declineToIncomingCall: SipConnector['declineToIncomingCall'];
@@ -29,11 +37,6 @@ declare class SipConnectorFacade implements IProxyMethods {
29
37
  onceRace: IProxyMethods['onceRace'];
30
38
  wait: IProxyMethods['wait'];
31
39
  off: IProxyMethods['off'];
32
- onSession: IProxyMethods['onSession'];
33
- onceSession: IProxyMethods['onceSession'];
34
- onceRaceSession: IProxyMethods['onceRaceSession'];
35
- waitSession: IProxyMethods['waitSession'];
36
- offSession: IProxyMethods['offSession'];
37
40
  sendDTMF: IProxyMethods['sendDTMF'];
38
41
  hangUp: IProxyMethods['hangUp'];
39
42
  declineToIncomingCall: IProxyMethods['declineToIncomingCall'];
@@ -94,7 +97,7 @@ declare class SipConnectorFacade implements IProxyMethods {
94
97
  disconnectFromServer: () => Promise<{
95
98
  isSuccessful: boolean;
96
99
  }>;
97
- answerIncomingCall: (parameters: {
100
+ answerToIncomingCall: (parameters: {
98
101
  mediaStream: MediaStream;
99
102
  extraHeaders?: string[] | undefined;
100
103
  iceServers?: RTCIceServer[];
@@ -130,7 +133,7 @@ declare class SipConnectorFacade implements IProxyMethods {
130
133
  preferredMimeTypesVideoCodecs?: string[];
131
134
  excludeMimeTypesVideoCodecs?: string[];
132
135
  }) => Promise<MediaStream | undefined>;
133
- startPresentation: ({ mediaStream, isP2P, maxBitrate, contentHint, simulcastEncodings, degradationPreference, sendEncodings, preferredMimeTypesVideoCodecs, excludeMimeTypesVideoCodecs, }: {
136
+ startPresentation: ({ mediaStream, isP2P, maxBitrate, contentHint, simulcastEncodings, degradationPreference, sendEncodings, preferredMimeTypesVideoCodecs, excludeMimeTypesVideoCodecs, callLimit, }: {
134
137
  mediaStream: MediaStream;
135
138
  isP2P: boolean;
136
139
  maxBitrate?: number;
@@ -140,8 +143,7 @@ declare class SipConnectorFacade implements IProxyMethods {
140
143
  sendEncodings?: RTCRtpEncodingParameters[];
141
144
  preferredMimeTypesVideoCodecs?: string[];
142
145
  excludeMimeTypesVideoCodecs?: string[];
143
- }, options?: {
144
- callLimit: number;
146
+ callLimit?: number;
145
147
  }) => Promise<MediaStream | undefined>;
146
148
  stopShareSipConnector: ({ isP2P }?: {
147
149
  isP2P?: boolean;
@@ -152,7 +154,7 @@ declare class SipConnectorFacade implements IProxyMethods {
152
154
  isEnabledCam: boolean;
153
155
  isEnabledMic: boolean;
154
156
  }) => Promise<void>;
155
- replaceMediaStream: (mediaStream: MediaStream, { deleteExisting, addMissing, forceRenegotiation, contentHint, simulcastEncodings, degradationPreference, sendEncodings, }?: {
157
+ replaceMediaStream: (mediaStream: MediaStream, { deleteExisting, addMissing, forceRenegotiation, contentHint, simulcastEncodings, degradationPreference, sendEncodings, }: {
156
158
  deleteExisting?: boolean;
157
159
  addMissing?: boolean;
158
160
  forceRenegotiation?: boolean;
@@ -1,19 +1,20 @@
1
+ import { Events } from 'events-constructor';
2
+ import { SESSION_JSSIP_EVENT_NAMES } from './eventNames';
1
3
  import { AnswerOptions, ExtraHeaders, HoldOptions, MediaStreamTypes, NameAddrHeader, OnHoldResult, RTCPeerConnectionDeprecated, RTCSession, ReferOptions, RenegotiateOptions, SessionDirection, SessionStatus, TerminateOptions, URI, C as constants } from '@krivega/jssip';
2
- import { default as Events } from 'events-constructor';
3
- import { TEventSession, SESSION_EVENT_NAMES } from '../eventNames';
4
4
  export type TEventHandlers = Record<string, (data: unknown) => void>;
5
5
  declare class BaseSession implements RTCSession {
6
6
  originator: string;
7
7
  connection: RTCPeerConnectionDeprecated;
8
- events: Events<typeof SESSION_EVENT_NAMES>;
8
+ events: Events<typeof SESSION_JSSIP_EVENT_NAMES>;
9
9
  remote_identity: NameAddrHeader;
10
10
  mutedOptions: {
11
11
  audio: boolean;
12
12
  video: boolean;
13
13
  };
14
- constructor({ originator, eventHandlers, }: {
14
+ constructor({ originator, eventHandlers, remoteIdentity, }: {
15
15
  originator?: string;
16
16
  eventHandlers: TEventHandlers;
17
+ remoteIdentity: NameAddrHeader;
17
18
  });
18
19
  get contact(): string;
19
20
  get direction(): SessionDirection;
@@ -48,7 +49,7 @@ declare class BaseSession implements RTCSession {
48
49
  addListener(_event: string | symbol, _listener: (...arguments_: unknown[]) => void): this;
49
50
  once(_event: string | symbol, _listener: (...arguments_: unknown[]) => void): this;
50
51
  removeListener(_event: string | symbol, _listener: (...arguments_: unknown[]) => void): this;
51
- off(_event: string | symbol, _listener: (...arguments_: unknown[]) => void): this;
52
+ off(eventName: string | symbol, _listener: (...arguments_: unknown[]) => void): this;
52
53
  removeAllListeners(_event?: string | symbol): this;
53
54
  setMaxListeners(_n: number): this;
54
55
  getMaxListeners(): number;
@@ -59,9 +60,9 @@ declare class BaseSession implements RTCSession {
59
60
  prependListener(_event: string | symbol, _listener: (...arguments_: unknown[]) => void): this;
60
61
  prependOnceListener(_event: string | symbol, _listener: (...arguments_: unknown[]) => void): this;
61
62
  eventNames(): (string | symbol)[];
62
- initEvents(eventHandlers: TEventHandlers): void;
63
- on<T>(eventName: string, handler: (data: T) => void): this;
64
- trigger(eventName: TEventSession, data?: unknown): void;
63
+ initEvents(eventHandlers?: TEventHandlers): void;
64
+ on<T>(eventName: (typeof SESSION_JSSIP_EVENT_NAMES)[number], handler: (data: T) => void): this;
65
+ trigger(eventName: (typeof SESSION_JSSIP_EVENT_NAMES)[number], data?: unknown): void;
65
66
  /**
66
67
  * sendDTMF
67
68
  *
@@ -71,7 +72,6 @@ declare class BaseSession implements RTCSession {
71
72
  */
72
73
  sendDTMF(): void;
73
74
  startPresentation(stream: MediaStream): Promise<MediaStream>;
74
- updatePresentation(stream: MediaStream): Promise<MediaStream>;
75
75
  stopPresentation(stream: MediaStream): Promise<MediaStream>;
76
76
  isEstablished(): boolean;
77
77
  }