sip-connector 14.0.0 → 14.1.0-alpha.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 (130) hide show
  1. package/dist/SipConnector-CK3GgjXE.js +2492 -0
  2. package/dist/SipConnector-CwI8aFEA.cjs +1 -0
  3. package/dist/doMock.cjs +1 -1
  4. package/dist/doMock.js +439 -419
  5. package/dist/index.cjs +1 -1
  6. package/dist/index.js +708 -623
  7. package/dist/src/ApiManager/@ApiManager.d.ts +58 -0
  8. package/dist/src/ApiManager/constants.d.ts +71 -0
  9. package/dist/src/ApiManager/eventNames.d.ts +33 -0
  10. package/dist/src/ApiManager/index.d.ts +2 -0
  11. package/dist/src/ApiManager/types.d.ts +99 -0
  12. package/dist/src/CallManager/@CallManager.d.ts +26 -0
  13. package/dist/src/CallManager/AbstractCallStrategy.d.ts +47 -0
  14. package/dist/src/CallManager/MCUCallStrategy.d.ts +30 -0
  15. package/dist/src/CallManager/RemoteStreamsManager.d.ts +8 -0
  16. package/dist/src/CallManager/causes.d.ts +12 -0
  17. package/dist/src/CallManager/eventNames.d.ts +45 -0
  18. package/dist/src/CallManager/hasCanceledCallError.d.ts +2 -0
  19. package/dist/src/CallManager/index.d.ts +5 -0
  20. package/dist/src/CallManager/types.d.ts +59 -0
  21. package/dist/src/ConnectionManager/@ConnectionManager.d.ts +47 -0
  22. package/dist/src/ConnectionManager/ConfigurationManager.d.ts +60 -0
  23. package/dist/src/ConnectionManager/ConnectionFlow.d.ts +83 -0
  24. package/dist/src/ConnectionManager/ConnectionStateMachine.d.ts +61 -0
  25. package/dist/src/ConnectionManager/RegistrationManager.d.ts +17 -0
  26. package/dist/src/ConnectionManager/SipOperations.d.ts +32 -0
  27. package/dist/src/ConnectionManager/UAFactory.d.ts +50 -0
  28. package/dist/src/ConnectionManager/eventNames.d.ts +16 -0
  29. package/dist/src/ConnectionManager/index.d.ts +3 -0
  30. package/dist/src/IncomingCallManager/@IncomingCallManager.d.ts +36 -0
  31. package/dist/src/IncomingCallManager/eventNames.d.ts +13 -0
  32. package/dist/src/IncomingCallManager/index.d.ts +2 -0
  33. package/dist/src/PresentationManager/@PresentationManager.d.ts +47 -0
  34. package/dist/src/PresentationManager/constants.d.ts +1 -0
  35. package/dist/src/PresentationManager/eventNames.d.ts +11 -0
  36. package/dist/src/PresentationManager/index.d.ts +1 -0
  37. package/dist/src/PresentationManager/types.d.ts +2 -0
  38. package/dist/src/SipConnector.d.ts +107 -0
  39. package/dist/{SipConnectorFacade → src/SipConnectorFacade}/SipConnectorFacade.d.ts +34 -25
  40. package/dist/{__fixtures__ → src/__fixtures__}/BaseSession.mock.d.ts +23 -35
  41. package/dist/{__fixtures__ → src/__fixtures__}/RTCPeerConnectionMock.d.ts +15 -15
  42. package/dist/{__fixtures__ → src/__fixtures__}/RTCRtpSenderMock.d.ts +2 -2
  43. package/dist/src/__fixtures__/RTCSessionMock.d.ts +79 -0
  44. package/dist/src/__fixtures__/UA.mock.d.ts +82 -0
  45. package/dist/{__fixtures__ → src/__fixtures__}/channelsNotify.d.ts +2 -2
  46. package/dist/{__fixtures__ → src/__fixtures__}/index.d.ts +4 -4
  47. package/dist/{__fixtures__ → src/__fixtures__}/jssip.mock.d.ts +4 -4
  48. package/dist/{__fixtures__ → src/__fixtures__}/participantNotify.d.ts +2 -2
  49. package/dist/{constants.d.ts → src/constants.d.ts} +5 -0
  50. package/dist/{doMock.d.ts → src/doMock.d.ts} +1 -0
  51. package/dist/{index.d.ts → src/index.d.ts} +3 -1
  52. package/dist/{tools → src/tools}/__fixtures__/connectToServer.d.ts +2 -2
  53. package/dist/{tools → src/tools}/index.d.ts +2 -2
  54. package/dist/{tools/sendDTMFAccumulated.d.ts → src/tools/sendDtmfFAccumulated.d.ts} +2 -2
  55. package/dist/{types.d.ts → src/types.d.ts} +2 -1
  56. package/package.json +40 -37
  57. package/dist/SipConnector-Cc1z-VjV.js +0 -1335
  58. package/dist/SipConnector-K7IHfEEm.cjs +0 -1
  59. package/dist/SipConnector.d.ts +0 -314
  60. package/dist/__fixtures__/RTCSessionMock.d.ts +0 -78
  61. package/dist/__fixtures__/UA.mock.d.ts +0 -103
  62. package/dist/utils.d.ts +0 -4
  63. /package/dist/{SipConnectorFacade → src/SipConnectorFacade}/index.d.ts +0 -0
  64. /package/dist/{__fixtures__ → src/__fixtures__}/Registrator.mock.d.ts +0 -0
  65. /package/dist/{__fixtures__ → src/__fixtures__}/Request.mock.d.ts +0 -0
  66. /package/dist/{__fixtures__ → src/__fixtures__}/WebSocketInterface.mock.d.ts +0 -0
  67. /package/dist/{__fixtures__ → src/__fixtures__}/accountNotify.d.ts +0 -0
  68. /package/dist/{__fixtures__ → src/__fixtures__}/channels.d.ts +0 -0
  69. /package/dist/{__fixtures__ → src/__fixtures__}/conferenceParticipantTokenIssuedNotify.d.ts +0 -0
  70. /package/dist/{__fixtures__ → src/__fixtures__}/delayPromise.d.ts +0 -0
  71. /package/dist/{__fixtures__ → src/__fixtures__}/enterRoom.d.ts +0 -0
  72. /package/dist/{__fixtures__ → src/__fixtures__}/mediaState.d.ts +0 -0
  73. /package/dist/{__fixtures__ → src/__fixtures__}/participantMoveRequests.d.ts +0 -0
  74. /package/dist/{__fixtures__ → src/__fixtures__}/remoteCallerData.d.ts +0 -0
  75. /package/dist/{__fixtures__ → src/__fixtures__}/utils.d.ts +0 -0
  76. /package/dist/{__fixtures__ → src/__fixtures__}/webcastNotify.d.ts +0 -0
  77. /package/dist/{causes.d.ts → src/causes.d.ts} +0 -0
  78. /package/dist/{eventNames.d.ts → src/eventNames.d.ts} +0 -0
  79. /package/dist/{getExtraHeadersRemoteAddress.d.ts → src/getExtraHeadersRemoteAddress.d.ts} +0 -0
  80. /package/dist/{headers.d.ts → src/headers.d.ts} +0 -0
  81. /package/dist/{logger.d.ts → src/logger.d.ts} +0 -0
  82. /package/dist/{setParametersToSender → src/setParametersToSender}/configureDegradationPreference.d.ts +0 -0
  83. /package/dist/{setParametersToSender → src/setParametersToSender}/configureEmptyEncodings.d.ts +0 -0
  84. /package/dist/{setParametersToSender → src/setParametersToSender}/configureEncodings.d.ts +0 -0
  85. /package/dist/{setParametersToSender → src/setParametersToSender}/configureMaxBitrate.d.ts +0 -0
  86. /package/dist/{setParametersToSender → src/setParametersToSender}/configureScaleResolutionDownBy.d.ts +0 -0
  87. /package/dist/{setParametersToSender → src/setParametersToSender}/hasChangedRTCRtpSendParameters.d.ts +0 -0
  88. /package/dist/{setParametersToSender → src/setParametersToSender}/index.d.ts +0 -0
  89. /package/dist/{setParametersToSender → src/setParametersToSender}/resolveHasNeedToUpdateItemEncoding.d.ts +0 -0
  90. /package/dist/{setParametersToSender → src/setParametersToSender}/setParametersToSender.d.ts +0 -0
  91. /package/dist/{tools → src/tools}/__fixtures__/call.d.ts +0 -0
  92. /package/dist/{tools → src/tools}/__fixtures__/hasValidUri.d.ts +0 -0
  93. /package/dist/{tools → src/tools}/__fixtures__/permissions.d.ts +0 -0
  94. /package/dist/{tools → src/tools}/__fixtures__/processRequest.d.ts +0 -0
  95. /package/dist/{tools → src/tools}/__tests-utils__/parseObject.d.ts +0 -0
  96. /package/dist/{tools → src/tools}/__tests-utils__/resolveParseArray.d.ts +0 -0
  97. /package/dist/{tools → src/tools}/error/getLinkError.d.ts +0 -0
  98. /package/dist/{tools → src/tools}/error/getTypeFromError.d.ts +0 -0
  99. /package/dist/{tools → src/tools}/error/getValuesFromError.d.ts +0 -0
  100. /package/dist/{tools → src/tools}/error/index.d.ts +0 -0
  101. /package/dist/{tools → src/tools}/error/stringifyMessage.d.ts +0 -0
  102. /package/dist/{tools → src/tools}/generateSimulcastEncodings.d.ts +0 -0
  103. /package/dist/{tools → src/tools}/getExtraHeaders.d.ts +0 -0
  104. /package/dist/{tools → src/tools}/getUserAgent.d.ts +0 -0
  105. /package/dist/{tools → src/tools}/hasPurgatory.d.ts +0 -0
  106. /package/dist/{tools → src/tools}/prepareMediaStream.d.ts +0 -0
  107. /package/dist/{tools → src/tools}/resolveUpdateTransceiver.d.ts +0 -0
  108. /package/dist/{tools → src/tools}/setVideoTrackContentHints.d.ts +0 -0
  109. /package/dist/{tools → src/tools}/syncMediaState/index.d.ts +0 -0
  110. /package/dist/{tools → src/tools}/syncMediaState/resolveOnStartMainCam.d.ts +0 -0
  111. /package/dist/{tools → src/tools}/syncMediaState/resolveOnStartMic.d.ts +0 -0
  112. /package/dist/{tools → src/tools}/syncMediaState/resolveOnStopMainCam.d.ts +0 -0
  113. /package/dist/{tools → src/tools}/syncMediaState/resolveOnStopMic.d.ts +0 -0
  114. /package/dist/{utils → src/utils}/errors.d.ts +0 -0
  115. /package/dist/{utils → src/utils}/findSenderByStream.d.ts +0 -0
  116. /package/dist/{utils → src/utils}/findVideoSender.d.ts +0 -0
  117. /package/dist/{utils → src/utils}/findVideoTrack.d.ts +0 -0
  118. /package/dist/{utils → src/utils}/getCodecFromSender.d.ts +0 -0
  119. /package/dist/{utils → src/utils}/replaceForbiddenSymbolsWithUnderscore.d.ts +0 -0
  120. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/balance.d.ts +0 -0
  121. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/getMaxBitrateByWidth.d.ts +0 -0
  122. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/getMaxBitrateByWidthAndCodec.d.ts +0 -0
  123. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/hasAv1Codec.d.ts +0 -0
  124. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/hasIncludesString.d.ts +0 -0
  125. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/index.d.ts +0 -0
  126. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/processSender.d.ts +0 -0
  127. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/scaleBitrate.d.ts +0 -0
  128. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/scaleBitrateByCodec.d.ts +0 -0
  129. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/scaleResolutionAndBitrate.d.ts +0 -0
  130. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/setEncodingsToSender.d.ts +0 -0
@@ -1,36 +1,32 @@
1
1
  import { AnswerOptions, ExtraHeaders, HoldOptions, MediaStreamTypes, NameAddrHeader, OnHoldResult, RTCPeerConnectionDeprecated, RTCSession, ReferOptions, RenegotiateOptions, SessionDirection, SessionStatus, TerminateOptions, URI, C as constants } from '@krivega/jssip';
2
2
  import { default as Events } from 'events-constructor';
3
3
  import { TEventSession, SESSION_EVENT_NAMES } from '../eventNames';
4
- /**
5
- * BaseSession
6
- * @class
7
- */
4
+ export type TEventHandlers = Record<string, (data: unknown) => void>;
8
5
  declare class BaseSession implements RTCSession {
9
6
  originator: string;
10
- _connection: RTCPeerConnectionDeprecated;
11
- _events: Events<typeof SESSION_EVENT_NAMES>;
12
- _remote_identity: NameAddrHeader;
13
- _mutedOptions: {
7
+ connection: RTCPeerConnectionDeprecated;
8
+ events: Events<typeof SESSION_EVENT_NAMES>;
9
+ remote_identity: NameAddrHeader;
10
+ mutedOptions: {
14
11
  audio: boolean;
15
12
  video: boolean;
16
13
  };
17
- constructor({ originator, eventHandlers }: {
18
- originator?: string | undefined;
19
- eventHandlers: any;
14
+ constructor({ originator, eventHandlers, remoteIdentity, }: {
15
+ originator?: string;
16
+ eventHandlers: TEventHandlers;
17
+ remoteIdentity: NameAddrHeader;
20
18
  });
21
- get C(): SessionStatus;
22
- get causes(): constants.causes;
23
- get id(): string;
24
- set data(_data: any);
25
- get data(): any;
26
- get connection(): RTCPeerConnectionDeprecated;
27
19
  get contact(): string;
28
20
  get direction(): SessionDirection;
29
21
  get local_identity(): NameAddrHeader;
30
- get remote_identity(): NameAddrHeader;
31
22
  get start_time(): Date;
32
23
  get end_time(): Date;
33
24
  get status(): SessionStatus;
25
+ get C(): SessionStatus;
26
+ get causes(): constants.causes;
27
+ get id(): string;
28
+ get data(): unknown;
29
+ set data(_data: unknown);
34
30
  isInProgress(): boolean;
35
31
  isEnded(): boolean;
36
32
  isReadyToReOffer(): boolean;
@@ -50,30 +46,23 @@ declare class BaseSession implements RTCSession {
50
46
  deleteExisting: boolean;
51
47
  addMissing: boolean;
52
48
  }): Promise<void>;
53
- addListener(_event: string | symbol, _listener: (...arguments_: any[]) => void): this;
54
- once(_event: string | symbol, _listener: (...arguments_: any[]) => void): this;
55
- removeListener(_event: string | symbol, _listener: (...arguments_: any[]) => void): this;
56
- off(_event: string | symbol, _listener: (...arguments_: any[]) => void): this;
49
+ addListener(_event: string | symbol, _listener: (...arguments_: unknown[]) => void): this;
50
+ once(_event: string | symbol, _listener: (...arguments_: unknown[]) => void): this;
51
+ removeListener(_event: string | symbol, _listener: (...arguments_: unknown[]) => void): this;
52
+ off(eventName: string | symbol, _listener: (...arguments_: unknown[]) => void): this;
57
53
  removeAllListeners(_event?: string | symbol): this;
58
54
  setMaxListeners(_n: number): this;
59
55
  getMaxListeners(): number;
60
56
  listeners(_event: string | symbol): (() => void)[];
61
57
  rawListeners(_event: string | symbol): (() => void)[];
62
- emit(_event: string | symbol, ..._arguments_: any[]): boolean;
58
+ emit(_event: string | symbol, ..._arguments_: unknown[]): boolean;
63
59
  listenerCount(_event: string | symbol): number;
64
- prependListener(_event: string | symbol, _listener: (...arguments_: any[]) => void): this;
65
- prependOnceListener(_event: string | symbol, _listener: (...arguments_: any[]) => void): this;
60
+ prependListener(_event: string | symbol, _listener: (...arguments_: unknown[]) => void): this;
61
+ prependOnceListener(_event: string | symbol, _listener: (...arguments_: unknown[]) => void): this;
66
62
  eventNames(): (string | symbol)[];
67
- /**
68
- * initEvents
69
- *
70
- * @param {Array} [eventHandlers=[] - ] The event handlers
71
- *
72
- * @returns {undefined}
73
- */
74
- initEvents(eventHandlers?: never[]): void;
63
+ initEvents(eventHandlers?: TEventHandlers): void;
75
64
  on<T>(eventName: string, handler: (data: T) => void): this;
76
- trigger(eventName: TEventSession, data?: any): void;
65
+ trigger(eventName: TEventSession, data?: unknown): void;
77
66
  /**
78
67
  * sendDTMF
79
68
  *
@@ -83,7 +72,6 @@ declare class BaseSession implements RTCSession {
83
72
  */
84
73
  sendDTMF(): void;
85
74
  startPresentation(stream: MediaStream): Promise<MediaStream>;
86
- updatePresentation(stream: MediaStream): Promise<MediaStream>;
87
75
  stopPresentation(stream: MediaStream): Promise<MediaStream>;
88
76
  isEstablished(): boolean;
89
77
  }
@@ -2,9 +2,8 @@ import { RTCPeerConnectionDeprecated } from '@krivega/jssip';
2
2
  import { MediaStreamTrackMock } from 'webrtc-mock';
3
3
  import { default as RTCRtpSenderMock } from './RTCRtpSenderMock';
4
4
  declare class RTCPeerConnectionMock implements RTCPeerConnectionDeprecated {
5
- _senders: RTCRtpSender[];
6
- _receivers: any[];
7
- constructor(_configuration?: RTCConfiguration, tracks: MediaStreamTrackMock[]);
5
+ senders: RTCRtpSender[];
6
+ receivers: RTCRtpReceiver[];
8
7
  canTrickleIceCandidates: boolean | null;
9
8
  connectionState: RTCPeerConnectionState;
10
9
  currentLocalDescription: RTCSessionDescription | null;
@@ -14,21 +13,22 @@ declare class RTCPeerConnectionMock implements RTCPeerConnectionDeprecated {
14
13
  idpErrorInfo: string | null;
15
14
  idpLoginUrl: string | null;
16
15
  localDescription: RTCSessionDescription | null;
17
- onconnectionstatechange: ((this: RTCPeerConnection, event_: Event) => any) | null;
18
- ondatachannel: ((this: RTCPeerConnection, event_: RTCDataChannelEvent) => any) | null;
19
- onicecandidate: ((this: RTCPeerConnection, event_: RTCPeerConnectionIceEvent) => any) | null;
20
- onicecandidateerror: ((this: RTCPeerConnection, event_: Event) => any) | null;
21
- oniceconnectionstatechange: ((this: RTCPeerConnection, event_: Event) => any) | null;
22
- onicegatheringstatechange: ((this: RTCPeerConnection, event_: Event) => any) | null;
23
- onnegotiationneeded: ((this: RTCPeerConnection, event_: Event) => any) | null;
24
- onsignalingstatechange: ((this: RTCPeerConnection, event_: Event) => any) | null;
25
- ontrack: ((this: RTCPeerConnection, event_: RTCTrackEvent) => any) | null;
16
+ onconnectionstatechange: ((this: RTCPeerConnection, event_: Event) => unknown) | null;
17
+ ondatachannel: ((this: RTCPeerConnection, event_: RTCDataChannelEvent) => unknown) | null;
18
+ onicecandidate: ((this: RTCPeerConnection, event_: RTCPeerConnectionIceEvent) => unknown) | null;
19
+ onicecandidateerror: ((this: RTCPeerConnection, event_: Event) => unknown) | null;
20
+ oniceconnectionstatechange: ((this: RTCPeerConnection, event_: Event) => unknown) | null;
21
+ onicegatheringstatechange: ((this: RTCPeerConnection, event_: Event) => unknown) | null;
22
+ onnegotiationneeded: ((this: RTCPeerConnection, event_: Event) => unknown) | null;
23
+ onsignalingstatechange: ((this: RTCPeerConnection, event_: Event) => unknown) | null;
24
+ ontrack: ((this: RTCPeerConnection, event_: RTCTrackEvent) => unknown) | null;
26
25
  peerIdentity: undefined;
27
26
  pendingLocalDescription: RTCSessionDescription | null;
28
27
  pendingRemoteDescription: RTCSessionDescription | null;
29
28
  remoteDescription: RTCSessionDescription | null;
30
29
  sctp: null;
31
30
  signalingState: RTCSignalingState;
31
+ constructor(_configuration?: RTCConfiguration, tracks: MediaStreamTrackMock[]);
32
32
  getRemoteStreams(): MediaStream[];
33
33
  addIceCandidate(_candidate: RTCIceCandidate | RTCIceCandidateInit): Promise<void>;
34
34
  addTransceiver(_trackOrKind: MediaStreamTrack | string, _init?: RTCRtpTransceiverInit): RTCRtpTransceiver;
@@ -47,12 +47,12 @@ declare class RTCPeerConnectionMock implements RTCPeerConnectionDeprecated {
47
47
  setConfiguration(_configuration: RTCConfiguration): void;
48
48
  setLocalDescription(_description: RTCSessionDescriptionInit): Promise<void>;
49
49
  setRemoteDescription(_description: RTCSessionDescriptionInit): Promise<void>;
50
- addEventListener<K extends keyof RTCPeerConnectionEventMap>(type: K, listener: (this: RTCPeerConnection, event_: RTCPeerConnectionEventMap[K]) => any, options?: AddEventListenerOptions | boolean): void;
50
+ addEventListener<K extends keyof RTCPeerConnectionEventMap>(type: K, listener: (this: RTCPeerConnection, event_: RTCPeerConnectionEventMap[K]) => unknown, options?: AddEventListenerOptions | boolean): void;
51
51
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: AddEventListenerOptions | boolean): void;
52
- removeEventListener<K extends keyof RTCPeerConnectionEventMap>(type: K, listener: (this: RTCPeerConnection, event_: RTCPeerConnectionEventMap[K]) => any, options?: EventListenerOptions | boolean): void;
52
+ removeEventListener<K extends keyof RTCPeerConnectionEventMap>(type: K, listener: (this: RTCPeerConnection, event_: RTCPeerConnectionEventMap[K]) => unknown, options?: EventListenerOptions | boolean): void;
53
53
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: EventListenerOptions | boolean): void;
54
54
  dispatchEvent(_event: Event): boolean;
55
- getReceivers: () => any[];
55
+ getReceivers: () => RTCRtpReceiver[];
56
56
  getSenders: () => RTCRtpSender[];
57
57
  addTrack: (track: MediaStreamTrack) => RTCRtpSenderMock;
58
58
  }
@@ -3,8 +3,8 @@ declare class RTCRtpSenderMock implements RTCRtpSender {
3
3
  track: MediaStreamTrack | null;
4
4
  transport: RTCDtlsTransport | null;
5
5
  transform: RTCRtpTransform | null;
6
- private _parameters;
7
- private _parametersGets?;
6
+ private parameters;
7
+ private parametersGets?;
8
8
  constructor({ track }?: {
9
9
  track?: MediaStreamTrack;
10
10
  });
@@ -0,0 +1,79 @@
1
+ import { IncomingInfoEvent, NameAddrHeader } from '@krivega/jssip';
2
+ import { TEventHandlers, default as BaseSession } from './BaseSession.mock';
3
+ export declare const FAILED_CONFERENCE_NUMBER = "777";
4
+ export declare const createDeclineStartPresentationError: () => Error;
5
+ declare class RTCSessionMock extends BaseSession {
6
+ private static presentationError?;
7
+ private static startPresentationError?;
8
+ private static countStartPresentationError;
9
+ private static countStartsPresentation;
10
+ url: string;
11
+ status_code?: number;
12
+ /**
13
+ * answer
14
+ *
15
+ * @param {Object} arg1 - The argument 1
16
+ * @param {Object} arg1.mediaStream - The media stream
17
+ * @param {Array} arg1.eventHandlers - The event handlers
18
+
19
+ * @returns {undefined}
20
+ */
21
+ answer: jest.Mock<void, [{
22
+ mediaStream: MediaStream;
23
+ }], any>;
24
+ replaceMediaStream: jest.Mock<Promise<void>, [_mediaStream: MediaStream], any>;
25
+ private isEndedInner;
26
+ constructor({ url, mediaStream, eventHandlers, originator, remoteIdentity, }: {
27
+ url?: string;
28
+ mediaStream?: MediaStream;
29
+ eventHandlers: TEventHandlers;
30
+ originator: string;
31
+ remoteIdentity?: NameAddrHeader;
32
+ });
33
+ static setPresentationError(presentationError: Error): void;
34
+ static resetPresentationError(): void;
35
+ static setStartPresentationError(startPresentationError: Error, { count }?: {
36
+ count?: number;
37
+ }): void;
38
+ static resetStartPresentationError(): void;
39
+ startPresentation: (stream: MediaStream) => Promise<MediaStream>;
40
+ stopPresentation: (stream: MediaStream) => Promise<MediaStream>;
41
+ initPeerconnection(mediaStream: MediaStream | undefined): boolean;
42
+ createPeerconnection(sendedStream: MediaStream): void;
43
+ connect(target: string): void;
44
+ terminate({ status_code, cause }?: {
45
+ status_code?: number;
46
+ cause?: string;
47
+ }): this;
48
+ terminateAsync({ status_code, cause, }?: {
49
+ status_code?: number;
50
+ cause?: string;
51
+ }): Promise<void>;
52
+ terminateRemote({ status_code }?: {
53
+ status_code?: number;
54
+ }): this;
55
+ addStream(stream: MediaStream, action?: 'getTracks' | 'getAudioTracks' | 'getVideoTracks'): void;
56
+ forEachSenders(callback: (sender: RTCRtpSender) => void): RTCRtpSender[];
57
+ toggleMuteAudio(mute: boolean): void;
58
+ toggleMuteVideo(mute: boolean): void;
59
+ mute(options: {
60
+ audio: boolean;
61
+ video: boolean;
62
+ }): void;
63
+ unmute(options: {
64
+ audio: boolean;
65
+ video: boolean;
66
+ }): void;
67
+ isMuted(): {
68
+ audio: boolean;
69
+ video: boolean;
70
+ };
71
+ onmute({ audio, video }: {
72
+ audio: boolean;
73
+ video: boolean;
74
+ }): void;
75
+ sendInfo(): Promise<void>;
76
+ isEnded(): boolean;
77
+ newInfo(data: IncomingInfoEvent): void;
78
+ }
79
+ export default RTCSessionMock;
@@ -0,0 +1,82 @@
1
+ import { DisconnectEvent, UA as IUA, IncomingRequest, UAConfiguration, UAConfigurationParams, UAEventMap } from '@krivega/jssip';
2
+ import { default as Events } from 'events-constructor';
3
+ import { TEventHandlers } from './BaseSession.mock';
4
+ import { default as Registrator } from './Registrator.mock';
5
+ import { default as RTCSessionMock } from './RTCSessionMock';
6
+ export declare const PASSWORD_CORRECT = "PASSWORD_CORRECT";
7
+ export declare const PASSWORD_CORRECT_2 = "PASSWORD_CORRECT_2";
8
+ export declare const NAME_INCORRECT = "NAME_INCORRECT";
9
+ export declare const createWebsocketHandshakeTimeoutError: (sipServerUrl: string) => DisconnectEvent;
10
+ declare class UA implements IUA {
11
+ private static isAvailableTelephony;
12
+ private static startError?;
13
+ private static countStartError;
14
+ private static countStarts;
15
+ events: Events<readonly (keyof UAEventMap)[]>;
16
+ readonly registratorInner: Registrator;
17
+ call: jest.Mock<RTCSessionMock, [url: string, parameters: {
18
+ mediaStream: MediaStream;
19
+ eventHandlers: TEventHandlers;
20
+ }], any>;
21
+ sendOptions: jest.Mock<void, [target: string, body?: string | undefined, options?: Record<string, unknown> | undefined], any>;
22
+ /**
23
+ * start – имитирует запуск UA.
24
+ */
25
+ start: jest.Mock<void, [], any>;
26
+ /**
27
+ * stop – имитирует остановку UA.
28
+ */
29
+ stop: jest.Mock<void, [], any>;
30
+ removeAllListeners: jest.Mock<this, [], any>;
31
+ once: jest.Mock<this, [eventName: string, handler: () => void], any>;
32
+ private startedTimeout?;
33
+ private stopedTimeout?;
34
+ private session?;
35
+ private isRegisteredInner?;
36
+ private isConnectedInner?;
37
+ private configuration;
38
+ constructor(_configuration: UAConfigurationParams);
39
+ static setStartError(startError: DisconnectEvent, { count }?: {
40
+ count?: number;
41
+ }): void;
42
+ static resetStartError(): void;
43
+ static setAvailableTelephony(): void;
44
+ static setNotAvailableTelephony(): void;
45
+ static reset(): void;
46
+ on<T extends keyof UAEventMap>(eventName: T, handler: UAEventMap[T]): this;
47
+ off<T extends keyof UAEventMap>(eventName: T, handler: UAEventMap[T]): this;
48
+ trigger<T extends keyof UAEventMap>(eventName: T, data: Parameters<UAEventMap[T]>[0]): void;
49
+ /**
50
+ * terminateSessions
51
+ *
52
+ * @returns {undefined}
53
+ */
54
+ terminateSessions(): void;
55
+ set(key: keyof UAConfiguration, value: UAConfiguration[keyof UAConfiguration]): boolean;
56
+ /**
57
+ * register
58
+ *
59
+ * @returns {undefined}
60
+ */
61
+ register(): void;
62
+ /**
63
+ * unregister
64
+ *
65
+ * @returns {undefined}
66
+ */
67
+ unregister(): void;
68
+ isRegistered(): boolean;
69
+ isConnected(): boolean;
70
+ /**
71
+ * isStarted
72
+ *
73
+ * @returns {boolean} isStarted
74
+ */
75
+ isStarted(): boolean;
76
+ newSipEvent(data: {
77
+ event: unknown;
78
+ request: IncomingRequest;
79
+ }): void;
80
+ registrator(): Registrator;
81
+ }
82
+ export default UA;
@@ -1,5 +1,5 @@
1
1
  export declare const channelsHeaders: [string, string][];
2
2
  export declare const channelsData: {
3
- inputChannels: any;
4
- outputChannels: any;
3
+ inputChannels: string;
4
+ outputChannels: string;
5
5
  };
@@ -40,7 +40,7 @@ export declare const uaConfigurationWithAuthorization: {
40
40
  session_timers: boolean;
41
41
  sockets: import('./WebSocketInterface.mock').default[];
42
42
  user_agent: string;
43
- sdp_semantics: string;
43
+ sdpSemantics: string;
44
44
  register_expires: number;
45
45
  connection_recovery_max_interval: number;
46
46
  connection_recovery_min_interval: number;
@@ -53,7 +53,7 @@ export declare const uaConfigurationWithAuthorizationWithDisplayName: {
53
53
  session_timers: boolean;
54
54
  sockets: import('./WebSocketInterface.mock').default[];
55
55
  user_agent: string;
56
- sdp_semantics: string;
56
+ sdpSemantics: string;
57
57
  register_expires: number;
58
58
  connection_recovery_max_interval: number;
59
59
  connection_recovery_min_interval: number;
@@ -64,7 +64,7 @@ export declare const uaConfigurationWithoutAuthorization: {
64
64
  session_timers: boolean;
65
65
  sockets: import('./WebSocketInterface.mock').default[];
66
66
  user_agent: string;
67
- sdp_semantics: string;
67
+ sdpSemantics: string;
68
68
  register_expires: number;
69
69
  connection_recovery_max_interval: number;
70
70
  connection_recovery_min_interval: number;
@@ -75,7 +75,7 @@ export declare const uaConfigurationWithoutAuthorizationWithoutDisplayName: {
75
75
  session_timers: boolean;
76
76
  sockets: import('./WebSocketInterface.mock').default[];
77
77
  user_agent: string;
78
- sdp_semantics: string;
78
+ sdpSemantics: string;
79
79
  register_expires: number;
80
80
  connection_recovery_max_interval: number;
81
81
  connection_recovery_min_interval: number;
@@ -1,19 +1,19 @@
1
1
  import { RTCSession, UA } from '@krivega/jssip';
2
- import { default as UAmock } from './UA.mock';
2
+ import { default as UAMock } from './UA.mock';
3
3
  import { default as WebSocketInterfaceMock } from './WebSocketInterface.mock';
4
4
  declare const jssip: {
5
5
  triggerNewInfo: (rtcSession: RTCSession, extraHeaders: [string, string][]) => void;
6
6
  triggerNewSipEvent: (ua: UA, extraHeaders: [string, string][]) => void;
7
- triggerIncomingSession: (ua: UAmock, { incomingNumber, displayName, host, }: {
7
+ triggerIncomingSession: (ua: UAMock, { incomingNumber, displayName, host, }: {
8
8
  incomingNumber?: string;
9
9
  displayName: string;
10
10
  host: string;
11
11
  }) => void;
12
- triggerFailIncomingSession: (incomingSession: unknown, options?: {
12
+ triggerFailIncomingSession: (incomingSession: RTCSession, options?: {
13
13
  originator: "local" | "remote";
14
14
  }) => void;
15
15
  WebSocketInterface: typeof WebSocketInterfaceMock;
16
- UA: typeof UAmock;
16
+ UA: typeof UAMock;
17
17
  C: {
18
18
  INVITE: string;
19
19
  };
@@ -1,8 +1,8 @@
1
1
  export declare const removedFromListModeratorsHeaders: [string, string][];
2
2
  export declare const removedFromListModeratorsData: {
3
- conference: any;
3
+ conference: string;
4
4
  };
5
5
  export declare const addedToListModeratorsHeaders: [string, string][];
6
6
  export declare const addedToListModeratorsData: {
7
- conference: any;
7
+ conference: string;
8
8
  };
@@ -72,3 +72,8 @@ export declare const PRESENTATION_FAILED = "presentation:failed";
72
72
  export declare const SPECTATOR = "SPECTATOR";
73
73
  export declare const PARTICIPANT = "PARTICIPANT";
74
74
  export declare const ONE_MEGABIT_IN_BITS = 1000000;
75
+ export declare enum Originator {
76
+ LOCAL = "local",
77
+ REMOTE = "remote",
78
+ SYSTEM = "system"
79
+ }
@@ -3,3 +3,4 @@ export { FAILED_CONFERENCE_NUMBER } from './__fixtures__/RTCSessionMock';
3
3
  export { NAME_INCORRECT, PASSWORD_CORRECT, PASSWORD_CORRECT_2 } from './__fixtures__/UA.mock';
4
4
  export * from './__fixtures__/index';
5
5
  export declare const doMockSipConnector: () => SipConnector;
6
+ export { default as JsSIP } from './__fixtures__/jssip.mock';
@@ -7,5 +7,7 @@ export * as tools from './tools';
7
7
  export * from './types';
8
8
  export { default as getCodecFromSender } from './utils/getCodecFromSender';
9
9
  export { default as resolveVideoSendingBalancer } from './videoSendingBalancer';
10
- export { hasCanceledCallError, default as SipConnector } from './SipConnector';
10
+ export { hasCanceledCallError } from './CallManager';
11
+ export { hasCanceledStartPresentationError } from './PresentationManager';
12
+ export { default as SipConnector } from './SipConnector';
11
13
  export { SipConnectorFacade } from './SipConnectorFacade';
@@ -95,7 +95,7 @@ export declare const uaConfigurationWithAuthorization: {
95
95
  session_timers: boolean;
96
96
  sockets: import('../../__fixtures__/WebSocketInterface.mock').default[];
97
97
  user_agent: string;
98
- sdp_semantics: string;
98
+ sdpSemantics: string;
99
99
  register_expires: number;
100
100
  connection_recovery_max_interval: number;
101
101
  connection_recovery_min_interval: number;
@@ -108,7 +108,7 @@ export declare const uaConfigurationWithAuthorizationPasswordChanged: {
108
108
  session_timers: boolean;
109
109
  sockets: import('../../__fixtures__/WebSocketInterface.mock').default[];
110
110
  user_agent: string;
111
- sdp_semantics: string;
111
+ sdpSemantics: string;
112
112
  register_expires: number;
113
113
  connection_recovery_max_interval: number;
114
114
  connection_recovery_min_interval: number;
@@ -1,6 +1,6 @@
1
1
  export * as error from './error';
2
2
  export { default as getExtraHeaders } from './getExtraHeaders';
3
3
  export { default as getUserAgent } from './getUserAgent';
4
- export { PURGATORY_CONFERENCE_NUMBER, default as hasPurgatory } from './hasPurgatory';
5
- export { default as sendDTMFAccumulated } from './sendDTMFAccumulated';
4
+ export { default as hasPurgatory, PURGATORY_CONFERENCE_NUMBER } from './hasPurgatory';
5
+ export { default as sendDtmfAccumulated } from './sendDtmfFAccumulated';
6
6
  export { default as createSyncMediaState } from './syncMediaState';
@@ -1,9 +1,9 @@
1
1
  type TSendKey = (values: string) => Promise<void>;
2
- declare const sendDTMFAccumulated: ({ accumulatedKeys, sendKey, canRunTask, }: {
2
+ declare const sendDtmfAccumulated: ({ accumulatedKeys, sendKey, canRunTask, }: {
3
3
  accumulatedKeys: string;
4
4
  sendKey: TSendKey;
5
5
  canRunTask?: () => boolean;
6
6
  }) => Promise<{
7
7
  isSuccessful: boolean;
8
8
  }>;
9
- export default sendDTMFAccumulated;
9
+ export default sendDtmfAccumulated;
@@ -1,4 +1,5 @@
1
1
  import { UA, WebSocketInterface } from '@krivega/jssip';
2
+ import { Originator } from './constants';
2
3
  export declare enum EEventsMainCAM {
3
4
  PAUSE_MAIN_CAM = "PAUSEMAINCAM",
4
5
  RESUME_MAIN_CAM = "RESUMEMAINCAM",
@@ -20,7 +21,7 @@ export declare enum EUseLicense {
20
21
  AUDIOPLUSPRESENTATION = "AUDIOPLUSPRESENTATION"
21
22
  }
22
23
  export type TCustomError = Error & {
23
- originator?: string;
24
+ originator?: Originator;
24
25
  cause?: unknown;
25
26
  message: unknown;
26
27
  _ws?: unknown;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sip-connector",
3
- "version": "14.0.0",
3
+ "version": "14.1.0-alpha.0",
4
4
  "description": "Module for connect to Vinteo server",
5
5
  "keywords": [
6
6
  "webrtc",
@@ -48,7 +48,7 @@
48
48
  "scripts": {
49
49
  "build": "vite build",
50
50
  "lint": "yarn lint:ts && yarn lint:js",
51
- "lint:js": "eslint src --ext ts,tsx --ignore-path .gitignore --report-unused-disable-directives --max-warnings 0",
51
+ "lint:js": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0 --cache --cache-strategy=content",
52
52
  "lint:ts": "tsc",
53
53
  "prepare": "husky",
54
54
  "prepublishOnly": "yarn build",
@@ -56,69 +56,72 @@
56
56
  "release": "standard-version && npm run release:publish",
57
57
  "release:major": "standard-version --release-as major && npm run release:publish",
58
58
  "release:pre": "standard-version --prerelease && npm run release:publish",
59
+ "release:alpha": "standard-version --prerelease alpha && npm run release:publish",
59
60
  "release:publish": "git push --follow-tags origin master && npm publish --access=public",
60
- "test": "jest --watch",
61
+ "test": "jest",
61
62
  "test:ci": "cross-env CI=true jest",
62
- "test:coverage": "yarn test:ci --coverage --reporters=default --reporters=jest-junit"
63
+ "test:coverage": "yarn test:ci --no-cache --coverage",
64
+ "test:watch": "jest --watch"
63
65
  },
64
66
  "dependencies": {
65
- "@krivega/cancelable-promise": "^1.1.3",
67
+ "@krivega/cancelable-promise": "^1.1.4",
66
68
  "@krivega/jssip": "^5.1.2",
67
- "debug": "^4.4.0",
69
+ "debug": "^4.4.1",
68
70
  "events-constructor": "^1.3.0",
69
- "repeated-calls": "^2.3.0",
71
+ "repeated-calls": "^2.3.4",
70
72
  "sequent-promises": "^2.0.1",
71
73
  "stack-promises": "^2.0.3",
72
74
  "ts-debounce": "^4.0.0",
73
- "webrtc-mock": "^1.1.6"
75
+ "webrtc-mock": "^1.1.7",
76
+ "xstate": "^5.20.1"
74
77
  },
75
78
  "devDependencies": {
76
- "@babel/preset-typescript": "^7.26.0",
77
- "@commitlint/cli": "^19.7.1",
78
- "@commitlint/config-conventional": "^19.7.1",
79
+ "@babel/preset-typescript": "^7.27.1",
80
+ "@commitlint/cli": "^19.8.1",
81
+ "@commitlint/config-conventional": "^19.8.1",
82
+ "@eslint/compat": "^1.3.1",
79
83
  "@nabla/vite-plugin-eslint": "^2.0.5",
84
+ "@stylistic/eslint-plugin": "^5.2.2",
80
85
  "@types/debug": "^4.1.12",
81
- "@types/dom-mediacapture-transform": "^0.1.10",
82
- "@types/jest": "^29.5.14",
83
- "@typescript-eslint/eslint-plugin": "^7.15.0",
84
- "@typescript-eslint/parser": "^7.15.0",
86
+ "@types/dom-mediacapture-transform": "^0.1.11",
87
+ "@types/jest": "^30.0.0",
88
+ "@typescript-eslint/eslint-plugin": "^8.38.0",
89
+ "@typescript-eslint/parser": "^8.38.0",
85
90
  "cross-env": "^7.0.3",
86
- "eslint": "^8.57.0",
87
- "eslint-config-airbnb-base": "^15.0.0",
88
- "eslint-config-airbnb-typescript": "^18.0.0",
89
- "eslint-config-prettier": "^10.0.1",
90
- "eslint-import-resolver-typescript": "^3.7.0",
91
+ "eslint": "^9.31.0",
92
+ "eslint-import-resolver-typescript": "^4.4.4",
91
93
  "eslint-plugin-flowtype": "^8.0.3",
92
- "eslint-plugin-import": "^2.31.0",
93
- "eslint-plugin-jest": "^28.11.0",
94
- "eslint-plugin-prettier": "^5.2.3",
95
- "eslint-plugin-unicorn": "^56.0.1",
94
+ "eslint-plugin-import": "^2.32.0",
95
+ "eslint-plugin-jest": "^29.0.1",
96
+ "eslint-plugin-prettier": "^5.5.3",
97
+ "eslint-plugin-unicorn": "^60.0.0",
96
98
  "husky": "^9.1.7",
97
- "jest": "^29.7.0",
98
- "jest-environment-jsdom": "^29.7.0",
99
- "jest-extended": "^4.0.2",
99
+ "jest": "^30.0.5",
100
+ "jest-environment-jsdom": "^30.0.5",
101
+ "jest-extended": "^6.0.0",
100
102
  "jest-junit": "^16.0.0",
101
- "lint-staged": "^15.4.3",
102
- "prettier": "^3.5.0",
103
+ "lint-staged": "^16.1.2",
104
+ "prettier": "^3.6.2",
103
105
  "standard-version": "^9.5.0",
104
- "ts-jest": "^29.2.5",
106
+ "ts-jest": "^29.4.0",
105
107
  "ts-node": "^10.9.2",
106
108
  "tsc-files": "^1.1.4",
107
- "typescript": "^5.7.3",
108
- "vite": "^6.1.0",
109
- "vite-plugin-dts": "^4.5.0",
109
+ "typescript": "^5.8.3",
110
+ "vite": "^7.0.5",
111
+ "vite-plugin-dts": "^4.5.4",
110
112
  "vite-tsconfig-paths": "^5.1.4"
111
113
  },
112
114
  "peerDependencies": {
113
- "@krivega/cancelable-promise": "^1.1.3",
115
+ "@krivega/cancelable-promise": "^1.1.4",
114
116
  "@krivega/jssip": "^5.1.2",
115
- "debug": "^4.4.0",
117
+ "debug": "^4.4.1",
116
118
  "events-constructor": "^1.3.0",
117
- "repeated-calls": "^2.2.1",
119
+ "repeated-calls": "^2.3.3",
118
120
  "sequent-promises": "^2.0.1",
119
121
  "stack-promises": "^2.0.3",
120
122
  "ts-debounce": "^4.0.0",
121
- "webrtc-mock": "^1.0.4"
123
+ "webrtc-mock": "^1.1.7",
124
+ "xstate": "^5.20.1"
122
125
  },
123
126
  "packageManager": "yarn@1.22.22",
124
127
  "main:src": "src/index.ts"