sip-connector 14.1.0-alpha.9 → 14.1.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.
Files changed (132) hide show
  1. package/dist/SipConnector-DRjfFGAZ.js +1339 -0
  2. package/dist/SipConnector-EXAO9Z-2.cjs +1 -0
  3. package/dist/doMock.cjs +1 -1
  4. package/dist/doMock.js +162 -267
  5. package/dist/index.cjs +1 -1
  6. package/dist/index.js +526 -577
  7. package/dist/src/SipConnector.d.ts +235 -0
  8. package/dist/{SipConnectorFacade → src/SipConnectorFacade}/SipConnectorFacade.d.ts +16 -7
  9. package/dist/{__fixtures__ → src/__fixtures__}/BaseSession.mock.d.ts +5 -5
  10. package/dist/{__fixtures__ → src/__fixtures__}/RTCSessionMock.d.ts +4 -9
  11. package/dist/{__fixtures__ → src/__fixtures__}/UA.mock.d.ts +14 -12
  12. package/dist/{__fixtures__ → src/__fixtures__}/index.d.ts +4 -4
  13. package/dist/{__fixtures__ → src/__fixtures__}/jssip.mock.d.ts +3 -3
  14. package/dist/src/causes.d.ts +23 -0
  15. package/dist/{doMock.d.ts → src/doMock.d.ts} +1 -2
  16. package/dist/{__fixtures__ → src}/eventNames.d.ts +1 -1
  17. package/dist/src/headers.d.ts +37 -0
  18. package/dist/src/index.d.ts +11 -0
  19. package/dist/{tools → src/tools}/__fixtures__/connectToServer.d.ts +2 -2
  20. package/dist/{tools → src/tools}/__fixtures__/processRequest.d.ts +1 -1
  21. package/dist/{tools → src/tools}/error/getLinkError.d.ts +1 -1
  22. package/dist/{tools → src/tools}/error/getTypeFromError.d.ts +1 -1
  23. package/dist/{tools → src/tools}/error/getValuesFromError.d.ts +1 -1
  24. package/dist/{tools → src/tools}/index.d.ts +1 -1
  25. package/dist/{tools → src/tools}/prepareMediaStream.d.ts +1 -1
  26. package/dist/{tools → src/tools}/setVideoTrackContentHints.d.ts +1 -1
  27. package/dist/{tools → src/tools}/syncMediaState/index.d.ts +1 -1
  28. package/dist/{tools → src/tools}/syncMediaState/resolveOnStartMainCam.d.ts +1 -1
  29. package/dist/{tools → src/tools}/syncMediaState/resolveOnStartMic.d.ts +1 -1
  30. package/dist/{tools → src/tools}/syncMediaState/resolveOnStopMainCam.d.ts +1 -1
  31. package/dist/{tools → src/tools}/syncMediaState/resolveOnStopMic.d.ts +1 -1
  32. package/dist/src/types.d.ts +69 -0
  33. package/dist/{videoSendingBalancer → src/videoSendingBalancer}/balance.d.ts +1 -1
  34. package/dist/{videoSendingBalancer → src/videoSendingBalancer}/index.d.ts +1 -1
  35. package/dist/{videoSendingBalancer → src/videoSendingBalancer}/processSender.d.ts +1 -1
  36. package/dist/src/videoSendingBalancer/scaleBitrate.d.ts +2 -0
  37. package/package.json +32 -26
  38. package/dist/@SipConnector-BOHJ000Z.cjs +0 -1
  39. package/dist/@SipConnector-BxitfweK.js +0 -2267
  40. package/dist/ApiManager/@ApiManager.d.ts +0 -58
  41. package/dist/ApiManager/constants.d.ts +0 -71
  42. package/dist/ApiManager/eventNames.d.ts +0 -33
  43. package/dist/ApiManager/index.d.ts +0 -3
  44. package/dist/ApiManager/types.d.ts +0 -99
  45. package/dist/CallManager/@CallManager.d.ts +0 -26
  46. package/dist/CallManager/AbstractCallStrategy.d.ts +0 -47
  47. package/dist/CallManager/MCUCallStrategy.d.ts +0 -30
  48. package/dist/CallManager/RemoteStreamsManager.d.ts +0 -8
  49. package/dist/CallManager/causes.d.ts +0 -13
  50. package/dist/CallManager/eventNames.d.ts +0 -45
  51. package/dist/CallManager/hasCanceledCallError.d.ts +0 -2
  52. package/dist/CallManager/index.d.ts +0 -7
  53. package/dist/CallManager/types.d.ts +0 -59
  54. package/dist/ConnectionManager/@ConnectionManager.d.ts +0 -48
  55. package/dist/ConnectionManager/ConfigurationManager.d.ts +0 -60
  56. package/dist/ConnectionManager/ConnectionFlow.d.ts +0 -84
  57. package/dist/ConnectionManager/ConnectionStateMachine.d.ts +0 -61
  58. package/dist/ConnectionManager/RegistrationManager.d.ts +0 -17
  59. package/dist/ConnectionManager/SipOperations.d.ts +0 -32
  60. package/dist/ConnectionManager/UAFactory.d.ts +0 -50
  61. package/dist/ConnectionManager/eventNames.d.ts +0 -16
  62. package/dist/ConnectionManager/index.d.ts +0 -3
  63. package/dist/IncomingCallManager/@IncomingCallManager.d.ts +0 -37
  64. package/dist/IncomingCallManager/eventNames.d.ts +0 -13
  65. package/dist/IncomingCallManager/index.d.ts +0 -2
  66. package/dist/PresentationManager/@PresentationManager.d.ts +0 -47
  67. package/dist/PresentationManager/constants.d.ts +0 -1
  68. package/dist/PresentationManager/eventNames.d.ts +0 -11
  69. package/dist/PresentationManager/index.d.ts +0 -2
  70. package/dist/PresentationManager/types.d.ts +0 -2
  71. package/dist/SipConnector/@SipConnector.d.ts +0 -96
  72. package/dist/SipConnector/eventNames.d.ts +0 -4
  73. package/dist/SipConnector/index.d.ts +0 -2
  74. package/dist/index.d.ts +0 -14
  75. package/dist/types.d.ts +0 -23
  76. package/dist/videoSendingBalancer/scaleBitrate.d.ts +0 -2
  77. /package/dist/{SipConnectorFacade → src/SipConnectorFacade}/index.d.ts +0 -0
  78. /package/dist/{__fixtures__ → src/__fixtures__}/RTCPeerConnectionMock.d.ts +0 -0
  79. /package/dist/{__fixtures__ → src/__fixtures__}/RTCRtpSenderMock.d.ts +0 -0
  80. /package/dist/{__fixtures__ → src/__fixtures__}/Registrator.mock.d.ts +0 -0
  81. /package/dist/{__fixtures__ → src/__fixtures__}/Request.mock.d.ts +0 -0
  82. /package/dist/{__fixtures__ → src/__fixtures__}/WebSocketInterface.mock.d.ts +0 -0
  83. /package/dist/{__fixtures__ → src/__fixtures__}/accountNotify.d.ts +0 -0
  84. /package/dist/{__fixtures__ → src/__fixtures__}/channels.d.ts +0 -0
  85. /package/dist/{__fixtures__ → src/__fixtures__}/channelsNotify.d.ts +0 -0
  86. /package/dist/{__fixtures__ → src/__fixtures__}/conferenceParticipantTokenIssuedNotify.d.ts +0 -0
  87. /package/dist/{__fixtures__ → src/__fixtures__}/delayPromise.d.ts +0 -0
  88. /package/dist/{__fixtures__ → src/__fixtures__}/enterRoom.d.ts +0 -0
  89. /package/dist/{__fixtures__ → src/__fixtures__}/mediaState.d.ts +0 -0
  90. /package/dist/{__fixtures__ → src/__fixtures__}/participantMoveRequests.d.ts +0 -0
  91. /package/dist/{__fixtures__ → src/__fixtures__}/participantNotify.d.ts +0 -0
  92. /package/dist/{__fixtures__ → src/__fixtures__}/remoteCallerData.d.ts +0 -0
  93. /package/dist/{__fixtures__ → src/__fixtures__}/utils.d.ts +0 -0
  94. /package/dist/{__fixtures__ → src/__fixtures__}/webcastNotify.d.ts +0 -0
  95. /package/dist/{__fixtures__ → src}/constants.d.ts +0 -0
  96. /package/dist/{ConnectionManager → src}/getExtraHeadersRemoteAddress.d.ts +0 -0
  97. /package/dist/{logger.d.ts → src/logger.d.ts} +0 -0
  98. /package/dist/{setParametersToSender → src/setParametersToSender}/configureDegradationPreference.d.ts +0 -0
  99. /package/dist/{setParametersToSender → src/setParametersToSender}/configureEmptyEncodings.d.ts +0 -0
  100. /package/dist/{setParametersToSender → src/setParametersToSender}/configureEncodings.d.ts +0 -0
  101. /package/dist/{setParametersToSender → src/setParametersToSender}/configureMaxBitrate.d.ts +0 -0
  102. /package/dist/{setParametersToSender → src/setParametersToSender}/configureScaleResolutionDownBy.d.ts +0 -0
  103. /package/dist/{setParametersToSender → src/setParametersToSender}/hasChangedRTCRtpSendParameters.d.ts +0 -0
  104. /package/dist/{setParametersToSender → src/setParametersToSender}/index.d.ts +0 -0
  105. /package/dist/{setParametersToSender → src/setParametersToSender}/resolveHasNeedToUpdateItemEncoding.d.ts +0 -0
  106. /package/dist/{setParametersToSender → src/setParametersToSender}/setParametersToSender.d.ts +0 -0
  107. /package/dist/{tools → src/tools}/__fixtures__/call.d.ts +0 -0
  108. /package/dist/{tools → src/tools}/__fixtures__/hasValidUri.d.ts +0 -0
  109. /package/dist/{tools → src/tools}/__fixtures__/permissions.d.ts +0 -0
  110. /package/dist/{tools → src/tools}/__tests-utils__/parseObject.d.ts +0 -0
  111. /package/dist/{tools → src/tools}/__tests-utils__/resolveParseArray.d.ts +0 -0
  112. /package/dist/{tools → src/tools}/error/index.d.ts +0 -0
  113. /package/dist/{tools → src/tools}/error/stringifyMessage.d.ts +0 -0
  114. /package/dist/{tools → src/tools}/generateSimulcastEncodings.d.ts +0 -0
  115. /package/dist/{tools → src/tools}/getExtraHeaders.d.ts +0 -0
  116. /package/dist/{tools → src/tools}/getUserAgent.d.ts +0 -0
  117. /package/dist/{tools → src/tools}/hasPurgatory.d.ts +0 -0
  118. /package/dist/{tools → src/tools}/resolveUpdateTransceiver.d.ts +0 -0
  119. /package/dist/{tools/sendDtmfFAccumulated.d.ts → src/tools/sendDTMFAccumulated.d.ts} +0 -0
  120. /package/dist/{utils → src/utils}/errors.d.ts +0 -0
  121. /package/dist/{utils → src/utils}/findSenderByStream.d.ts +0 -0
  122. /package/dist/{utils → src/utils}/findVideoSender.d.ts +0 -0
  123. /package/dist/{utils → src/utils}/findVideoTrack.d.ts +0 -0
  124. /package/dist/{utils → src/utils}/getCodecFromSender.d.ts +0 -0
  125. /package/dist/{utils → src/utils}/replaceForbiddenSymbolsWithUnderscore.d.ts +0 -0
  126. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/getMaxBitrateByWidth.d.ts +0 -0
  127. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/getMaxBitrateByWidthAndCodec.d.ts +0 -0
  128. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/hasAv1Codec.d.ts +0 -0
  129. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/hasIncludesString.d.ts +0 -0
  130. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/scaleBitrateByCodec.d.ts +0 -0
  131. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/scaleResolutionAndBitrate.d.ts +0 -0
  132. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/setEncodingsToSender.d.ts +0 -0
@@ -1,58 +0,0 @@
1
- import { CallManager } from '../CallManager';
2
- import { ConnectionManager } from '../ConnectionManager';
3
- import { TEvent, TEvents } from './eventNames';
4
- import { TChannels, TMediaState, TOptionsInfoMediaState } from './types';
5
- declare class ApiManager {
6
- readonly events: TEvents;
7
- private readonly connectionManager;
8
- private readonly callManager;
9
- constructor({ connectionManager, callManager, }: {
10
- connectionManager: ConnectionManager;
11
- callManager: CallManager;
12
- });
13
- waitChannels(): Promise<TChannels>;
14
- waitSyncMediaState(): Promise<{
15
- isSyncForced: boolean;
16
- }>;
17
- sendDTMF(tone: number | string): Promise<void>;
18
- sendChannels({ inputChannels, outputChannels }: TChannels): Promise<void>;
19
- sendMediaState({ cam, mic }: TMediaState, options?: TOptionsInfoMediaState): Promise<void>;
20
- sendRefusalToTurnOn(type: 'cam' | 'mic', options?: TOptionsInfoMediaState): Promise<void>;
21
- sendRefusalToTurnOnMic(options?: TOptionsInfoMediaState): Promise<void>;
22
- sendRefusalToTurnOnCam(options?: TOptionsInfoMediaState): Promise<void>;
23
- sendMustStopPresentationP2P(): Promise<void>;
24
- sendStoppedPresentationP2P(): Promise<void>;
25
- sendStoppedPresentation(): Promise<void>;
26
- askPermissionToStartPresentationP2P(): Promise<void>;
27
- askPermissionToStartPresentation(): Promise<void>;
28
- askPermissionToEnableCam(options?: TOptionsInfoMediaState): Promise<void>;
29
- on<T>(eventName: TEvent, handler: (data: T) => void): () => void;
30
- once<T>(eventName: TEvent, handler: (data: T) => void): () => void;
31
- onceRace<T>(eventNames: TEvent[], handler: (data: T, eventName: string) => void): () => void;
32
- wait<T>(eventName: TEvent): Promise<T>;
33
- off<T>(eventName: TEvent, handler: (data: T) => void): void;
34
- private subscribe;
35
- private readonly handleSipEvent;
36
- private readonly maybeHandleNotify;
37
- private readonly handleNotify;
38
- private readonly handleNewInfo;
39
- private readonly triggerChannelsNotify;
40
- private readonly triggerWebcastStartedNotify;
41
- private readonly triggerWebcastStoppedNotify;
42
- private readonly triggerAddedToListModeratorsNotify;
43
- private readonly triggerRemovedFromListModeratorsNotify;
44
- private readonly triggerParticipationAcceptingWordRequest;
45
- private readonly triggerParticipationCancellingWordRequest;
46
- private readonly triggerParticipantMoveRequestToStream;
47
- private readonly triggerAccountChangedNotify;
48
- private readonly triggerAccountDeletedNotify;
49
- private readonly triggerConferenceParticipantTokenIssued;
50
- private readonly maybeTriggerChannels;
51
- private readonly triggerEnterRoom;
52
- private readonly triggerShareState;
53
- private readonly maybeTriggerParticipantMoveRequest;
54
- private readonly triggerMainCamControl;
55
- private readonly triggerMicControl;
56
- private readonly triggerUseLicense;
57
- }
58
- export default ApiManager;
@@ -1,71 +0,0 @@
1
- export declare enum EHeader {
2
- CONTENT_TYPE = "content-type",
3
- CONTENT_ENTER_ROOM = "x-webrtc-enter-room",
4
- CONTENT_USE_LICENSE = "X-WEBRTC-USE-LICENSE",
5
- PARTICIPANT_NAME = "X-WEBRTC-PARTICIPANT-NAME",
6
- INPUT_CHANNELS = "X-WEBRTC-INPUT-CHANNELS",
7
- OUTPUT_CHANNELS = "X-WEBRTC-OUTPUT-CHANNELS",
8
- MAIN_CAM = "X-WEBRTC-MAINCAM",
9
- MIC = "X-WEBRTC-MIC",
10
- MEDIA_SYNC = "X-WEBRTC-SYNC",
11
- MAIN_CAM_RESOLUTION = "X-WEBRTC-MAINCAM-RESOLUTION",
12
- MEDIA_STATE = "X-WEBRTC-MEDIA-STATE",
13
- MEDIA_TYPE = "X-Vinteo-Media-Type",
14
- MAIN_CAM_STATE = "X-Vinteo-MainCam-State",
15
- MIC_STATE = "X-Vinteo-Mic-State",
16
- CONTENT_PARTICIPANT_STATE = "X-WEBRTC-PARTSTATE",
17
- NOTIFY = "X-VINTEO-NOTIFY",
18
- CONTENT_ENABLE_MEDIA_DEVICE = "X-WEBRTC-REQUEST-ENABLE-MEDIA-DEVICE",
19
- CONTENT_SHARE_STATE = "x-webrtc-share-state",
20
- MUST_STOP_PRESENTATION_P2P = "x-webrtc-share-state: YOUMUSTSTOPSENDCONTENT",
21
- START_PRESENTATION_P2P = "x-webrtc-share-state: YOUCANRECEIVECONTENT",
22
- STOP_PRESENTATION_P2P = "x-webrtc-share-state: CONTENTEND",
23
- STOP_PRESENTATION = "x-webrtc-share-state: STOPPRESENTATION",
24
- START_PRESENTATION = "x-webrtc-share-state: LETMESTARTPRESENTATION",
25
- ENABLE_MAIN_CAM = "X-WEBRTC-REQUEST-ENABLE-MEDIA-DEVICE: LETMESTARTMAINCAM"
26
- }
27
- export declare enum EShareState {
28
- AVAILABLE_SECOND_REMOTE_STREAM = "YOUCANRECEIVECONTENT",
29
- NOT_AVAILABLE_SECOND_REMOTE_STREAM = "CONTENTEND",
30
- MUST_STOP_PRESENTATION = "YOUMUSTSTOPSENDCONTENT"
31
- }
32
- export declare enum EParticipantType {
33
- SPECTATOR = "SPECTATOR",
34
- PARTICIPANT = "PARTICIPANT"
35
- }
36
- export declare enum EContentTypeReceived {
37
- ENTER_ROOM = "application/vinteo.webrtc.roomname",
38
- MIC = "application/vinteo.webrtc.mic",
39
- USE_LICENSE = "application/vinteo.webrtc.uselic",
40
- PARTICIPANT_STATE = "application/vinteo.webrtc.partstate",
41
- NOTIFY = "application/vinteo.webrtc.notify",
42
- SHARE_STATE = "application/vinteo.webrtc.sharedesktop",
43
- MAIN_CAM = "application/vinteo.webrtc.maincam"
44
- }
45
- export declare enum EContentTypeSent {
46
- CHANNELS = "application/vinteo.webrtc.channels",
47
- MEDIA_STATE = "application/vinteo.webrtc.mediastate",
48
- REFUSAL = "application/vinteo.webrtc.refusal",
49
- SHARE_STATE = "application/vinteo.webrtc.sharedesktop",
50
- MAIN_CAM = "application/vinteo.webrtc.maincam"
51
- }
52
- export declare enum EEventsMainCAM {
53
- PAUSE_MAIN_CAM = "PAUSEMAINCAM",
54
- RESUME_MAIN_CAM = "RESUMEMAINCAM",
55
- MAX_MAIN_CAM_RESOLUTION = "MAXMAINCAMRESOLUTION",
56
- ADMIN_STOP_MAIN_CAM = "ADMINSTOPMAINCAM",
57
- ADMIN_START_MAIN_CAM = "ADMINSTARTMAINCAM"
58
- }
59
- export declare enum EEventsMic {
60
- ADMIN_STOP_MIC = "ADMINSTOPMIC",
61
- ADMIN_START_MIC = "ADMINSTARTMIC"
62
- }
63
- export declare enum EEventsSyncMediaState {
64
- ADMIN_SYNC_FORCED = "1",
65
- ADMIN_SYNC_NOT_FORCED = "0"
66
- }
67
- export declare enum EUseLicense {
68
- AUDIO = "AUDIO",
69
- VIDEO = "VIDEO",
70
- AUDIOPLUSPRESENTATION = "AUDIOPLUSPRESENTATION"
71
- }
@@ -1,33 +0,0 @@
1
- import { default as Events } from 'events-constructor';
2
- export declare enum EEvent {
3
- CHANNELS_NOTIFY = "channels:notify",
4
- PARTICIPANT_ADDED_TO_LIST_MODERATORS = "participant:added-to-list-moderators",
5
- PARTICIPANT_REMOVED_FROM_LIST_MODERATORS = "participant:removed-from-list-moderators",
6
- PARTICIPANT_MOVE_REQUEST_TO_STREAM = "participant:move-request-to-stream",
7
- PARTICIPANT_MOVE_REQUEST_TO_SPECTATORS = "participant:move-request-to-spectators",
8
- PARTICIPANT_MOVE_REQUEST_TO_PARTICIPANTS = "participant:move-request-to-participants",
9
- PARTICIPATION_ACCEPTING_WORD_REQUEST = "participation:accepting-word-request",
10
- PARTICIPATION_CANCELLING_WORD_REQUEST = "participation:cancelling-word-request",
11
- WEBCAST_STARTED = "webcast:started",
12
- WEBCAST_STOPPED = "webcast:stopped",
13
- ACCOUNT_CHANGED = "account:changed",
14
- ACCOUNT_DELETED = "account:deleted",
15
- CONFERENCE_PARTICIPANT_TOKEN_ISSUED = "conference:participant-token-issued",
16
- CHANNELS = "channels",
17
- ENTER_ROOM = "enterRoom",
18
- SHARE_STATE = "shareState",
19
- MAIN_CAM_CONTROL = "main-cam-control",
20
- USE_LICENSE = "useLicense",
21
- ADMIN_START_MAIN_CAM = "admin-start-main-cam",
22
- ADMIN_STOP_MAIN_CAM = "admin-stop-main-cam",
23
- ADMIN_START_MIC = "admin-start-mic",
24
- ADMIN_STOP_MIC = "admin-stop-mic",
25
- ADMIN_FORCE_SYNC_MEDIA_STATE = "admin-force-sync-media-state",
26
- AVAILABLE_SECOND_REMOTE_STREAM = "availableSecondRemoteStream",
27
- NOT_AVAILABLE_SECOND_REMOTE_STREAM = "notAvailableSecondRemoteStream",
28
- MUST_STOP_PRESENTATION = "mustStopPresentation",
29
- NEW_DTMF = "newDTMF"
30
- }
31
- export declare const EVENT_NAMES: readonly ["participation:accepting-word-request", "participation:cancelling-word-request", "participant:move-request-to-stream", "channels:notify", "conference:participant-token-issued", "account:changed", "account:deleted", "webcast:started", "webcast:stopped", "participant:added-to-list-moderators", "participant:removed-from-list-moderators", "participant:move-request-to-spectators", "participant:move-request-to-participants", "channels", "enterRoom", "shareState", "main-cam-control", "useLicense", "admin-start-main-cam", "admin-stop-main-cam", "admin-start-mic", "admin-stop-mic", "admin-force-sync-media-state", "availableSecondRemoteStream", "notAvailableSecondRemoteStream", "mustStopPresentation", "newDTMF"];
32
- export type TEvent = (typeof EVENT_NAMES)[number];
33
- export type TEvents = Events<typeof EVENT_NAMES>;
@@ -1,3 +0,0 @@
1
- export { default as ApiManager } from './@ApiManager';
2
- export { EContentTypeReceived, EContentTypeSent, EEventsMainCAM, EEventsMic, EEventsSyncMediaState, EHeader, EShareState, EUseLicense, } from './constants';
3
- export type { TEvent as TApiEvent } from './eventNames';
@@ -1,99 +0,0 @@
1
- export declare enum ECMDNotify {
2
- CHANNELS = "channels",
3
- WEBCAST_STARTED = "WebcastStarted",
4
- WEBCAST_STOPPED = "WebcastStopped",
5
- ACCOUNT_CHANGED = "accountChanged",
6
- ACCOUNT_DELETED = "accountDeleted",
7
- ADDED_TO_LIST_MODERATORS = "addedToListModerators",
8
- REMOVED_FROM_LIST_MODERATORS = "removedFromListModerators",
9
- ACCEPTING_WORD_REQUEST = "ParticipationRequestAccepted",
10
- CANCELLING_WORD_REQUEST = "ParticipationRequestRejected",
11
- MOVE_REQUEST_TO_STREAM = "ParticipantMovedToWebcast",
12
- CONFERENCE_PARTICIPANT_TOKEN_ISSUED = "ConferenceParticipantTokenIssued"
13
- }
14
- export type TChannels = {
15
- inputChannels: string;
16
- outputChannels: string;
17
- };
18
- export type TParametersModeratorsList = {
19
- conference: string;
20
- };
21
- export type TParametersWebcast = {
22
- conference: string;
23
- type: string;
24
- };
25
- export type TParametersConferenceParticipantTokenIssued = {
26
- conference: string;
27
- participant: string;
28
- jwt: string;
29
- };
30
- export type TAddedToListModeratorsInfoNotify = {
31
- cmd: ECMDNotify.ADDED_TO_LIST_MODERATORS;
32
- conference: string;
33
- };
34
- export type TRemovedFromListModeratorsInfoNotify = {
35
- cmd: ECMDNotify.REMOVED_FROM_LIST_MODERATORS;
36
- conference: string;
37
- };
38
- export type TAcceptingWordRequestInfoNotify = {
39
- cmd: ECMDNotify.ACCEPTING_WORD_REQUEST;
40
- body: {
41
- conference: string;
42
- };
43
- };
44
- export type TCancellingWordRequestInfoNotify = {
45
- cmd: ECMDNotify.CANCELLING_WORD_REQUEST;
46
- body: {
47
- conference: string;
48
- };
49
- };
50
- export type TMoveRequestToStreamInfoNotify = {
51
- cmd: ECMDNotify.MOVE_REQUEST_TO_STREAM;
52
- body: {
53
- conference: string;
54
- };
55
- };
56
- export type TConferenceParticipantTokenIssued = {
57
- cmd: ECMDNotify.CONFERENCE_PARTICIPANT_TOKEN_ISSUED;
58
- body: {
59
- conference: string;
60
- participant: string;
61
- jwt: string;
62
- };
63
- };
64
- export type TWebcastInfoNotify = {
65
- cmd: ECMDNotify.WEBCAST_STARTED;
66
- body: {
67
- conference: string;
68
- type: string;
69
- };
70
- };
71
- export type TWebcastStoppedInfoNotify = {
72
- cmd: ECMDNotify.WEBCAST_STOPPED;
73
- body: {
74
- conference: string;
75
- type: string;
76
- };
77
- };
78
- export type TChannelsInfoNotify = {
79
- cmd: ECMDNotify.CHANNELS;
80
- input: string;
81
- output: string;
82
- };
83
- export type TAccountChangedInfoNotify = {
84
- cmd: ECMDNotify.ACCOUNT_CHANGED;
85
- };
86
- export type TAccountDeletedInfoNotify = {
87
- cmd: ECMDNotify.ACCOUNT_DELETED;
88
- };
89
- export type TInfoNotify = TAddedToListModeratorsInfoNotify | TChannelsInfoNotify | TRemovedFromListModeratorsInfoNotify | TWebcastInfoNotify | TConferenceParticipantTokenIssued | TAcceptingWordRequestInfoNotify | TCancellingWordRequestInfoNotify | TMoveRequestToStreamInfoNotify | TAccountChangedInfoNotify | TAccountDeletedInfoNotify | TWebcastStoppedInfoNotify;
90
- export type TMediaState = {
91
- cam: boolean;
92
- mic: boolean;
93
- };
94
- export type TOptionsInfoMediaState = {
95
- noTerminateWhenError?: boolean;
96
- };
97
- export type TOptionsExtraHeaders = {
98
- extraHeaders?: string[];
99
- };
@@ -1,26 +0,0 @@
1
- import { RTCSession } from '@krivega/jssip';
2
- import { TEvent, TEvents } from './eventNames';
3
- import { ICallStrategy } from './types';
4
- declare class CallManager {
5
- readonly events: TEvents;
6
- private strategy;
7
- constructor(strategy?: ICallStrategy);
8
- get requested(): boolean;
9
- get connection(): RTCPeerConnection | undefined;
10
- get establishedRTCSession(): RTCSession | undefined;
11
- get isCallActive(): ICallStrategy['isCallActive'];
12
- on<T>(eventName: TEvent, handler: (data: T) => void): () => void;
13
- once<T>(eventName: TEvent, handler: (data: T) => void): () => void;
14
- onceRace<T>(eventNames: TEvent[], handler: (data: T, eventName: string) => void): () => void;
15
- wait<T>(eventName: TEvent): Promise<T>;
16
- off<T>(eventName: TEvent, handler: (data: T) => void): void;
17
- setStrategy(strategy: ICallStrategy): void;
18
- startCall: ICallStrategy['startCall'];
19
- endCall: ICallStrategy['endCall'];
20
- answerToIncomingCall: ICallStrategy['answerToIncomingCall'];
21
- getEstablishedRTCSession: ICallStrategy['getEstablishedRTCSession'];
22
- getCallConfiguration: ICallStrategy['getCallConfiguration'];
23
- getRemoteStreams: ICallStrategy['getRemoteStreams'];
24
- replaceMediaStream: ICallStrategy['replaceMediaStream'];
25
- }
26
- export default CallManager;
@@ -1,47 +0,0 @@
1
- import { RTCSession } from '@krivega/jssip';
2
- import { TEvents } from './eventNames';
3
- import { ICallStrategy, TCallConfiguration, TOntrack } from './types';
4
- export declare abstract class AbstractCallStrategy implements ICallStrategy {
5
- protected isPendingCall: boolean;
6
- protected isPendingAnswer: boolean;
7
- protected rtcSession?: RTCSession;
8
- protected remoteStreams: Record<string, MediaStream>;
9
- protected readonly events: TEvents;
10
- protected readonly callConfiguration: TCallConfiguration;
11
- constructor(events: TEvents);
12
- abstract get requested(): boolean;
13
- abstract get connection(): RTCPeerConnection | undefined;
14
- abstract get establishedRTCSession(): RTCSession | undefined;
15
- abstract get isCallActive(): boolean;
16
- /**
17
- * Запуск исходящего звонка
18
- */
19
- abstract startCall(params: Parameters<ICallStrategy['startCall']>[0], ua: Parameters<ICallStrategy['startCall']>[1], getSipServerUrl: Parameters<ICallStrategy['startCall']>[2]): Promise<RTCPeerConnection>;
20
- /**
21
- * Завершение звонка
22
- */
23
- abstract endCall(): Promise<void>;
24
- /**
25
- * Ответ на входящий звонок
26
- */
27
- abstract answerToIncomingCall(extractIncomingRTCSession: Parameters<ICallStrategy['answerToIncomingCall']>[0], params: Parameters<ICallStrategy['answerToIncomingCall']>[1]): Promise<RTCPeerConnection>;
28
- /**
29
- * Замена медиа-потока
30
- */
31
- abstract replaceMediaStream(mediaStream: Parameters<ICallStrategy['replaceMediaStream']>[0], options?: Parameters<ICallStrategy['replaceMediaStream']>[1]): Promise<void>;
32
- abstract getEstablishedRTCSession(): RTCSession | undefined;
33
- /**
34
- * Получение конфигурации звонка
35
- */
36
- abstract getCallConfiguration(): TCallConfiguration;
37
- /**
38
- * Получение удаленных медиа-потоков
39
- */
40
- abstract getRemoteStreams(): MediaStream[] | undefined;
41
- /**
42
- * Внутренняя обработка звонка (например, для ontrack)
43
- */
44
- protected abstract handleCall(options: {
45
- ontrack?: TOntrack;
46
- }): Promise<RTCPeerConnection>;
47
- }
@@ -1,30 +0,0 @@
1
- import { RTCSession } from '@krivega/jssip';
2
- import { AbstractCallStrategy } from './AbstractCallStrategy';
3
- import { TEvents } from './eventNames';
4
- import { ICallStrategy, TOntrack } from './types';
5
- export declare class MCUCallStrategy extends AbstractCallStrategy {
6
- private readonly remoteStreamsManager;
7
- private readonly disposers;
8
- constructor(events: TEvents);
9
- get requested(): boolean;
10
- get connection(): RTCPeerConnection | undefined;
11
- get isCallActive(): boolean;
12
- get establishedRTCSession(): RTCSession | undefined;
13
- startCall: ICallStrategy['startCall'];
14
- endCall(): Promise<void>;
15
- answerToIncomingCall: ICallStrategy['answerToIncomingCall'];
16
- getEstablishedRTCSession(): RTCSession | undefined;
17
- getCallConfiguration(): {
18
- answer?: boolean;
19
- number?: string;
20
- };
21
- getRemoteStreams(): MediaStream[] | undefined;
22
- replaceMediaStream(mediaStream: Parameters<ICallStrategy['replaceMediaStream']>[0], options?: Parameters<ICallStrategy['replaceMediaStream']>[1]): Promise<void>;
23
- protected readonly handleCall: ({ ontrack, }: {
24
- ontrack?: TOntrack;
25
- }) => Promise<RTCPeerConnection>;
26
- private subscribeToSessionEvents;
27
- private unsubscribeFromSessionEvents;
28
- private readonly handleEnded;
29
- private readonly reset;
30
- }
@@ -1,8 +0,0 @@
1
- export declare class RemoteStreamsManager {
2
- private remoteStreams;
3
- reset(): void;
4
- generateStream(videoTrack: MediaStreamTrack, audioTrack?: MediaStreamTrack): MediaStream;
5
- generateAudioStream(audioTrack: MediaStreamTrack): MediaStream;
6
- generateStreams(remoteTracks: MediaStreamTrack[]): MediaStream[];
7
- generateAudioStreams(remoteTracks: MediaStreamTrack[]): MediaStream[];
8
- }
@@ -1,13 +0,0 @@
1
- export declare enum ECallCause {
2
- BYE = "Terminated",
3
- WEBRTC_ERROR = "WebRTC Error",
4
- CANCELED = "Canceled",
5
- REQUEST_TIMEOUT = "Request Timeout",
6
- REJECTED = "Rejected",
7
- REDIRECTED = "Redirected",
8
- UNAVAILABLE = "Unavailable",
9
- NOT_FOUND = "Not Found",
10
- ADDRESS_INCOMPLETE = "Address Incomplete",
11
- INCOMPATIBLE_SDP = "Incompatible SDP",
12
- BAD_MEDIA_DESCRIPTION = "Bad Media Description"
13
- }
@@ -1,45 +0,0 @@
1
- import { default as Events } from 'events-constructor';
2
- export declare enum EEvent {
3
- PEER_CONNECTION = "peerconnection",
4
- CONNECTING = "connecting",
5
- SENDING = "sending",
6
- PROGRESS = "progress",
7
- ACCEPTED = "accepted",
8
- CONFIRMED = "confirmed",
9
- ENDED = "ended",
10
- FAILED = "failed",
11
- NEW_DTMF = "newDTMF",
12
- NEW_INFO = "newInfo",
13
- HOLD = "hold",
14
- UNHOLD = "unhold",
15
- MUTED = "muted",
16
- UNMUTED = "unmuted",
17
- REINVITE = "reinvite",
18
- UPDATE = "update",
19
- REFER = "refer",
20
- REPLACES = "replaces",
21
- SDP = "sdp",
22
- ICE_CANDIDATE = "icecandidate",
23
- GET_USER_MEDIA_FAILED = "getusermediafailed",
24
- PEER_CONNECTION_CREATE_OFFER_FAILED = "peerconnection:createofferfailed",
25
- PEER_CONNECTION_CREATE_ANSWER_FAILED = "peerconnection:createanswerfailed",
26
- PEER_CONNECTION_SET_LOCAL_DESCRIPTION_FAILED = "peerconnection:setlocaldescriptionfailed",
27
- PEER_CONNECTION_SET_REMOTE_DESCRIPTION_FAILED = "peerconnection:setremotedescriptionfailed",
28
- START_PRESENTATION = "presentation:start",
29
- STARTED_PRESENTATION = "presentation:started",
30
- END_PRESENTATION = "presentation:end",
31
- ENDED_PRESENTATION = "presentation:ended",
32
- FAILED_PRESENTATION = "presentation:failed",
33
- PEER_CONNECTION_CONFIRMED = "peerconnection:confirmed",
34
- PEER_CONNECTION_ONTRACK = "peerconnection:ontrack",
35
- ENDED_FROM_SERVER = "ended:fromserver"
36
- }
37
- export declare enum Originator {
38
- LOCAL = "local",
39
- REMOTE = "remote",
40
- SYSTEM = "system"
41
- }
42
- export declare const SESSION_JSSIP_EVENT_NAMES: readonly ["peerconnection", "connecting", "sending", "progress", "accepted", "confirmed", "ended", "failed", "newInfo", "newDTMF", "presentation:start", "presentation:started", "presentation:end", "presentation:ended", "presentation:failed", "reinvite", "update", "refer", "replaces", "sdp", "icecandidate", "getusermediafailed", "peerconnection:createofferfailed", "peerconnection:createanswerfailed", "peerconnection:setlocaldescriptionfailed", "peerconnection:setremotedescriptionfailed"];
43
- export declare const EVENT_NAMES: readonly ["peerconnection", "connecting", "sending", "progress", "accepted", "confirmed", "ended", "failed", "newInfo", "newDTMF", "presentation:start", "presentation:started", "presentation:end", "presentation:ended", "presentation:failed", "reinvite", "update", "refer", "replaces", "sdp", "icecandidate", "getusermediafailed", "peerconnection:createofferfailed", "peerconnection:createanswerfailed", "peerconnection:setlocaldescriptionfailed", "peerconnection:setremotedescriptionfailed", "peerconnection:confirmed", "peerconnection:ontrack", "ended:fromserver"];
44
- export type TEvents = Events<typeof EVENT_NAMES>;
45
- export type TEvent = (typeof EVENT_NAMES)[number];
@@ -1,2 +0,0 @@
1
- declare const hasCanceledCallError: (error: unknown) => boolean;
2
- export default hasCanceledCallError;
@@ -1,7 +0,0 @@
1
- export { default as CallManager } from './@CallManager';
2
- export { ECallCause } from './causes';
3
- export { EEvent as ECallEvent, Originator } from './eventNames';
4
- export type { TEvent as TCallEvent, TEvents as TCallEvents } from './eventNames';
5
- export { default as hasCanceledCallError } from './hasCanceledCallError';
6
- export { MCUCallStrategy } from './MCUCallStrategy';
7
- export type { TCustomError, TGetServerUrl } from './types';
@@ -1,59 +0,0 @@
1
- import { RTCSession, UA } from '@krivega/jssip';
2
- import { TContentHint } from '../PresentationManager';
3
- import { Originator } from './eventNames';
4
- export type TOntrack = (track: RTCTrackEvent) => void;
5
- export type TOnAddedTransceiver = (transceiver: RTCRtpTransceiver, track: MediaStreamTrack, stream: MediaStream) => Promise<void>;
6
- export type TGetServerUrl = (id: string) => string;
7
- type TOptionsExtraHeaders = {
8
- extraHeaders?: string[];
9
- };
10
- type TParamsAnswerToIncomingCall = {
11
- mediaStream: MediaStream;
12
- extraHeaders?: TOptionsExtraHeaders['extraHeaders'];
13
- ontrack?: TOntrack;
14
- iceServers?: RTCIceServer[];
15
- directionVideo?: RTCRtpTransceiverDirection;
16
- directionAudio?: RTCRtpTransceiverDirection;
17
- contentHint?: TContentHint;
18
- sendEncodings?: RTCRtpEncodingParameters[];
19
- offerToReceiveAudio?: boolean;
20
- offerToReceiveVideo?: boolean;
21
- onAddedTransceiver?: TOnAddedTransceiver;
22
- };
23
- export type TParamsCall = TParamsAnswerToIncomingCall & {
24
- number: string;
25
- };
26
- export type TCustomError = Error & {
27
- originator?: Originator;
28
- cause?: unknown;
29
- message: unknown;
30
- _ws?: unknown;
31
- socket?: unknown;
32
- url?: string;
33
- code?: string;
34
- };
35
- export type TCallConfiguration = {
36
- answer?: boolean;
37
- number?: string;
38
- };
39
- export interface ICallStrategy {
40
- readonly requested: boolean;
41
- readonly connection: RTCPeerConnection | undefined;
42
- readonly establishedRTCSession: RTCSession | undefined;
43
- readonly isCallActive: boolean;
44
- startCall: (ua: UA, getSipServerUrl: TGetServerUrl, params: TParamsCall) => Promise<RTCPeerConnection>;
45
- endCall: () => Promise<void>;
46
- answerToIncomingCall: (extractIncomingRTCSession: () => RTCSession, params: TParamsAnswerToIncomingCall) => Promise<RTCPeerConnection>;
47
- getEstablishedRTCSession: () => RTCSession | undefined;
48
- getCallConfiguration: () => TCallConfiguration;
49
- getRemoteStreams: () => MediaStream[] | undefined;
50
- replaceMediaStream: (mediaStream: MediaStream, options?: {
51
- deleteExisting?: boolean;
52
- addMissing?: boolean;
53
- forceRenegotiation?: boolean;
54
- contentHint?: TContentHint;
55
- sendEncodings?: RTCRtpEncodingParameters[];
56
- onAddedTransceiver?: TOnAddedTransceiver;
57
- }) => Promise<void>;
58
- }
59
- export {};
@@ -1,48 +0,0 @@
1
- import { RegisteredEvent, UA, UnRegisteredEvent, WebSocketInterface } from '@krivega/jssip';
2
- import { default as Events } from 'events-constructor';
3
- import { TGetServerUrl } from '../CallManager';
4
- import { TJsSIP } from '../types';
5
- import { TConnect, TSet } from './ConnectionFlow';
6
- import { TEvent, EVENT_NAMES } from './eventNames';
7
- import { TParametersCheckTelephony, default as SipOperations } from './SipOperations';
8
- export default class ConnectionManager {
9
- readonly events: Events<typeof EVENT_NAMES>;
10
- ua?: UA;
11
- socket?: WebSocketInterface;
12
- private readonly uaFactory;
13
- private readonly registrationManager;
14
- private readonly stateMachine;
15
- private readonly connectionFlow;
16
- private readonly sipOperations;
17
- private readonly configurationManager;
18
- private readonly JsSIP;
19
- constructor({ JsSIP }: {
20
- JsSIP: TJsSIP;
21
- });
22
- get requested(): boolean;
23
- get isPendingConnect(): boolean;
24
- get isPendingInitUa(): boolean;
25
- get connectionState(): import('./ConnectionStateMachine').EState;
26
- get isRegistered(): boolean;
27
- get isRegisterConfig(): boolean;
28
- connect: TConnect;
29
- set: TSet;
30
- disconnect: () => Promise<void>;
31
- register(): Promise<RegisteredEvent>;
32
- unregister(): Promise<UnRegisteredEvent>;
33
- readonly tryRegister: () => Promise<RegisteredEvent>;
34
- sendOptions: (target: Parameters<SipOperations["sendOptions"]>[0], body?: Parameters<SipOperations["sendOptions"]>[1], extraHeaders?: Parameters<SipOperations["sendOptions"]>[2]) => Promise<void>;
35
- ping: (body?: Parameters<SipOperations["ping"]>[0], extraHeaders?: Parameters<SipOperations["ping"]>[1]) => Promise<void>;
36
- checkTelephony: (parameters: TParametersCheckTelephony) => Promise<void>;
37
- on<T>(eventName: TEvent, handler: (data: T) => void): () => void;
38
- once<T>(eventName: TEvent, handler: (data: T) => void): () => void;
39
- onceRace<T>(eventNames: TEvent[], handler: (data: T, eventName: string) => void): () => void;
40
- wait<T>(eventName: TEvent): Promise<T>;
41
- off<T>(eventName: TEvent, handler: (data: T) => void): void;
42
- isConfigured(): boolean;
43
- getConnectionConfiguration: () => import('./ConfigurationManager').IConnectionConfiguration;
44
- destroy(): void;
45
- getSipServerUrl: TGetServerUrl;
46
- readonly getUaProtected: () => UA;
47
- private readonly getUa;
48
- }
@@ -1,60 +0,0 @@
1
- import { UA } from '@krivega/jssip';
2
- export interface IConnectionConfiguration {
3
- sipServerUrl?: string;
4
- displayName?: string;
5
- register?: boolean;
6
- user?: string;
7
- password?: string;
8
- }
9
- export interface ConfigurationManagerDependencies {
10
- getUa: () => UA | undefined;
11
- }
12
- export default class ConfigurationManager {
13
- private data;
14
- private readonly getUa;
15
- constructor(dependencies: ConfigurationManagerDependencies);
16
- /**
17
- * Проверяет, настроено ли соединение
18
- */
19
- isConfigured(): boolean;
20
- /**
21
- * Получает текущую конфигурацию подключения
22
- */
23
- get(): IConnectionConfiguration;
24
- /**
25
- * Устанавливает конфигурацию подключения
26
- */
27
- set(data: IConnectionConfiguration): void;
28
- /**
29
- * Обновляет конфигурацию подключения
30
- */
31
- update<K extends keyof IConnectionConfiguration>(key: K, value: IConnectionConfiguration[K]): void;
32
- /**
33
- * Очищает конфигурацию
34
- */
35
- clear(): void;
36
- /**
37
- * Проверяет, включена ли регистрация в конфигурации
38
- */
39
- isRegister(): boolean;
40
- /**
41
- * Получает SIP сервер URL из конфигурации
42
- */
43
- getSipServerUrl(): string | undefined;
44
- /**
45
- * Получает display name из конфигурации
46
- */
47
- getDisplayName(): string | undefined;
48
- /**
49
- * Получает пользователя из конфигурации
50
- */
51
- getUser(): string | undefined;
52
- /**
53
- * Получает пароль из конфигурации
54
- */
55
- getPassword(): string | undefined;
56
- /**
57
- * Проверяет, включена ли регистрация
58
- */
59
- isRegisterEnabled(): boolean;
60
- }