sip-connector 6.18.0 → 6.19.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.
- package/dist/SipConnector.d.ts +46 -74
- package/dist/causes.d.ts +0 -1
- package/dist/constants.d.ts +0 -1
- package/dist/eventNames.d.ts +0 -1
- package/dist/getExtraHeadersRemoteAddress.d.ts +0 -1
- package/dist/headers.d.ts +0 -1
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +8 -8
- package/dist/index.js +1919 -45
- package/dist/logger.d.ts +2 -3
- package/dist/tools/__tests-utils__/parseObject.d.ts +0 -1
- package/dist/tools/__tests-utils__/resolveParseArray.d.ts +0 -1
- package/dist/tools/answerIncomingCall.d.ts +5 -6
- package/dist/tools/callToServer.d.ts +4 -5
- package/dist/tools/connectToServer.d.ts +2 -3
- package/dist/tools/disconnectFromServer.d.ts +0 -1
- package/dist/tools/error/getLinkError.d.ts +2 -3
- package/dist/tools/error/getTypeFromError.d.ts +2 -3
- package/dist/tools/error/getValuesFromError.d.ts +2 -3
- package/dist/tools/error/index.d.ts +3 -6
- package/dist/tools/getExtraHeaders.d.ts +0 -1
- package/dist/tools/getUserAgent.d.ts +0 -1
- package/dist/tools/hasPurgatory.d.ts +0 -1
- package/dist/tools/index.d.ts +21 -23
- package/dist/tools/resolveAskPermissionToEnableCam.d.ts +0 -1
- package/dist/tools/resolveGetRemoteStreams.d.ts +0 -1
- package/dist/tools/resolveHandleChangeTracks.d.ts +0 -1
- package/dist/tools/resolveOnMustStopPresentation.d.ts +0 -1
- package/dist/tools/resolveOnUseLicense.d.ts +1 -2
- package/dist/tools/resolveSendMediaState.d.ts +3 -4
- package/dist/tools/resolveSendRefusalToTurnOnCam.d.ts +0 -1
- package/dist/tools/resolveSendRefusalToTurnOnMic.d.ts +0 -1
- package/dist/tools/resolveStartPresentation.d.ts +0 -1
- package/dist/tools/resolveStopShareSipConnector.d.ts +1 -2
- package/dist/tools/resolveUpdatePresentation.d.ts +0 -1
- package/dist/tools/resolveUpdateRemoteStreams.d.ts +1 -2
- package/dist/tools/sendDTMFAccumulated.d.ts +0 -1
- package/dist/tools/syncMediaState/index.d.ts +0 -1
- package/dist/tools/syncMediaState/resolveOnStartMainCam.d.ts +0 -1
- package/dist/tools/syncMediaState/resolveOnStartMic.d.ts +0 -1
- package/dist/tools/syncMediaState/resolveOnStopMainCam.d.ts +0 -1
- package/dist/tools/syncMediaState/resolveOnStopMic.d.ts +0 -1
- package/dist/types.d.ts +29 -0
- package/dist/utils/errors.d.ts +0 -1
- package/dist/utils/findSenderByStream.d.ts +0 -1
- package/dist/utils/findVideoSender.d.ts +0 -1
- package/dist/utils/getCodecFromSender.d.ts +0 -1
- package/dist/utils.d.ts +3 -4
- package/dist/videoSendingBalancer/balance.d.ts +1 -2
- package/dist/videoSendingBalancer/getMaxBitrateByWidth.d.ts +0 -1
- package/dist/videoSendingBalancer/getMaxBitrateByWidthAndCodec.d.ts +0 -1
- package/dist/videoSendingBalancer/hasAv1Codec.d.ts +0 -1
- package/dist/videoSendingBalancer/hasIncludesString.d.ts +0 -1
- package/dist/videoSendingBalancer/index.d.ts +0 -1
- package/dist/videoSendingBalancer/processSender.d.ts +1 -2
- package/dist/videoSendingBalancer/scaleBitrate.d.ts +1 -2
- package/dist/videoSendingBalancer/scaleBitrateByCodec.d.ts +0 -1
- package/dist/videoSendingBalancer/setEncodingsToSender.d.ts +0 -1
- package/package.json +71 -49
- package/dist/SipConnector.d.ts.map +0 -1
- package/dist/SipConnector.js +0 -1099
- package/dist/SipConnector.js.map +0 -1
- package/dist/__fixtures__/BaseSession.mock.d.ts +0 -95
- package/dist/__fixtures__/BaseSession.mock.d.ts.map +0 -1
- package/dist/__fixtures__/BaseSession.mock.js +0 -195
- package/dist/__fixtures__/BaseSession.mock.js.map +0 -1
- package/dist/__fixtures__/RTCPeerConnectionMock.d.ts +0 -59
- package/dist/__fixtures__/RTCPeerConnectionMock.d.ts.map +0 -1
- package/dist/__fixtures__/RTCPeerConnectionMock.js +0 -87
- package/dist/__fixtures__/RTCPeerConnectionMock.js.map +0 -1
- package/dist/__fixtures__/RTCRtpSenderMock.d.ts +0 -13
- package/dist/__fixtures__/RTCRtpSenderMock.d.ts.map +0 -1
- package/dist/__fixtures__/RTCRtpSenderMock.js +0 -35
- package/dist/__fixtures__/RTCRtpSenderMock.js.map +0 -1
- package/dist/__fixtures__/Registrator.mock.d.ts +0 -8
- package/dist/__fixtures__/Registrator.mock.d.ts.map +0 -1
- package/dist/__fixtures__/Registrator.mock.js +0 -11
- package/dist/__fixtures__/Registrator.mock.js.map +0 -1
- package/dist/__fixtures__/Request.mock.d.ts +0 -9
- package/dist/__fixtures__/Request.mock.d.ts.map +0 -1
- package/dist/__fixtures__/Request.mock.js +0 -14
- package/dist/__fixtures__/Request.mock.js.map +0 -1
- package/dist/__fixtures__/Session.mock.d.ts +0 -70
- package/dist/__fixtures__/Session.mock.d.ts.map +0 -1
- package/dist/__fixtures__/Session.mock.js +0 -184
- package/dist/__fixtures__/Session.mock.js.map +0 -1
- package/dist/__fixtures__/UA.mock.d.ts +0 -83
- package/dist/__fixtures__/UA.mock.d.ts.map +0 -1
- package/dist/__fixtures__/UA.mock.js +0 -158
- package/dist/__fixtures__/UA.mock.js.map +0 -1
- package/dist/__fixtures__/WebSocketInterface.mock.d.ts +0 -6
- package/dist/__fixtures__/WebSocketInterface.mock.d.ts.map +0 -1
- package/dist/__fixtures__/WebSocketInterface.mock.js +0 -9
- package/dist/__fixtures__/WebSocketInterface.mock.js.map +0 -1
- package/dist/__fixtures__/accountNotify.d.ts +0 -3
- package/dist/__fixtures__/accountNotify.d.ts.map +0 -1
- package/dist/__fixtures__/accountNotify.js +0 -19
- package/dist/__fixtures__/accountNotify.js.map +0 -1
- package/dist/__fixtures__/channels.d.ts +0 -9
- package/dist/__fixtures__/channels.d.ts.map +0 -1
- package/dist/__fixtures__/channels.js +0 -18
- package/dist/__fixtures__/channels.js.map +0 -1
- package/dist/__fixtures__/channelsNotify.d.ts +0 -6
- package/dist/__fixtures__/channelsNotify.d.ts.map +0 -1
- package/dist/__fixtures__/channelsNotify.js +0 -15
- package/dist/__fixtures__/channelsNotify.js.map +0 -1
- package/dist/__fixtures__/conferenceParticipantTokenIssuedNotify.d.ts +0 -7
- package/dist/__fixtures__/conferenceParticipantTokenIssuedNotify.d.ts.map +0 -1
- package/dist/__fixtures__/conferenceParticipantTokenIssuedNotify.js +0 -22
- package/dist/__fixtures__/conferenceParticipantTokenIssuedNotify.js.map +0 -1
- package/dist/__fixtures__/doMock.d.ts +0 -4
- package/dist/__fixtures__/doMock.d.ts.map +0 -1
- package/dist/__fixtures__/doMock.js +0 -14
- package/dist/__fixtures__/doMock.js.map +0 -1
- package/dist/__fixtures__/index.d.ts +0 -84
- package/dist/__fixtures__/index.d.ts.map +0 -1
- package/dist/__fixtures__/index.js +0 -57
- package/dist/__fixtures__/index.js.map +0 -1
- package/dist/__fixtures__/jssip.mock.d.ts +0 -24
- package/dist/__fixtures__/jssip.mock.d.ts.map +0 -1
- package/dist/__fixtures__/jssip.mock.js +0 -91
- package/dist/__fixtures__/jssip.mock.js.map +0 -1
- package/dist/__fixtures__/mediaState.d.ts +0 -8
- package/dist/__fixtures__/mediaState.d.ts.map +0 -1
- package/dist/__fixtures__/mediaState.js +0 -14
- package/dist/__fixtures__/mediaState.js.map +0 -1
- package/dist/__fixtures__/participantMoveRequests.d.ts +0 -13
- package/dist/__fixtures__/participantMoveRequests.d.ts.map +0 -1
- package/dist/__fixtures__/participantMoveRequests.js +0 -38
- package/dist/__fixtures__/participantMoveRequests.js.map +0 -1
- package/dist/__fixtures__/participantNotify.d.ts +0 -9
- package/dist/__fixtures__/participantNotify.d.ts.map +0 -1
- package/dist/__fixtures__/participantNotify.js +0 -29
- package/dist/__fixtures__/participantNotify.js.map +0 -1
- package/dist/__fixtures__/remoteCallerData.d.ts +0 -8
- package/dist/__fixtures__/remoteCallerData.d.ts.map +0 -1
- package/dist/__fixtures__/remoteCallerData.js +0 -10
- package/dist/__fixtures__/remoteCallerData.js.map +0 -1
- package/dist/__fixtures__/utils.d.ts +0 -2
- package/dist/__fixtures__/utils.d.ts.map +0 -1
- package/dist/__fixtures__/utils.js +0 -12
- package/dist/__fixtures__/utils.js.map +0 -1
- package/dist/__fixtures__/webcastNotify.d.ts +0 -11
- package/dist/__fixtures__/webcastNotify.d.ts.map +0 -1
- package/dist/__fixtures__/webcastNotify.js +0 -29
- package/dist/__fixtures__/webcastNotify.js.map +0 -1
- package/dist/causes.d.ts.map +0 -1
- package/dist/causes.js +0 -30
- package/dist/causes.js.map +0 -1
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -74
- package/dist/constants.js.map +0 -1
- package/dist/eventNames.d.ts.map +0 -1
- package/dist/eventNames.js +0 -88
- package/dist/eventNames.js.map +0 -1
- package/dist/getExtraHeadersRemoteAddress.d.ts.map +0 -1
- package/dist/getExtraHeadersRemoteAddress.js +0 -11
- package/dist/getExtraHeadersRemoteAddress.js.map +0 -1
- package/dist/headers.d.ts.map +0 -1
- package/dist/headers.js +0 -37
- package/dist/headers.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.es5.js +0 -2
- package/dist/index.es5.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index.umd.js +0 -2
- package/dist/index.umd.js.map +0 -1
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js +0 -21
- package/dist/logger.js.map +0 -1
- package/dist/tools/__fixtures__/call.d.ts +0 -11
- package/dist/tools/__fixtures__/call.d.ts.map +0 -1
- package/dist/tools/__fixtures__/call.js +0 -38
- package/dist/tools/__fixtures__/call.js.map +0 -1
- package/dist/tools/__fixtures__/connectToServer.d.ts +0 -151
- package/dist/tools/__fixtures__/connectToServer.d.ts.map +0 -1
- package/dist/tools/__fixtures__/connectToServer.js +0 -35
- package/dist/tools/__fixtures__/connectToServer.js.map +0 -1
- package/dist/tools/__fixtures__/hasValidUri.d.ts +0 -10
- package/dist/tools/__fixtures__/hasValidUri.d.ts.map +0 -1
- package/dist/tools/__fixtures__/hasValidUri.js +0 -14
- package/dist/tools/__fixtures__/hasValidUri.js.map +0 -1
- package/dist/tools/__fixtures__/permissions.d.ts +0 -9
- package/dist/tools/__fixtures__/permissions.d.ts.map +0 -1
- package/dist/tools/__fixtures__/permissions.js +0 -15
- package/dist/tools/__fixtures__/permissions.js.map +0 -1
- package/dist/tools/__fixtures__/processRequest.d.ts +0 -4
- package/dist/tools/__fixtures__/processRequest.d.ts.map +0 -1
- package/dist/tools/__fixtures__/processRequest.js +0 -71
- package/dist/tools/__fixtures__/processRequest.js.map +0 -1
- package/dist/tools/__tests-utils__/parseObject.d.ts.map +0 -1
- package/dist/tools/__tests-utils__/parseObject.js +0 -27
- package/dist/tools/__tests-utils__/parseObject.js.map +0 -1
- package/dist/tools/__tests-utils__/resolveParseArray.d.ts.map +0 -1
- package/dist/tools/__tests-utils__/resolveParseArray.js +0 -17
- package/dist/tools/__tests-utils__/resolveParseArray.js.map +0 -1
- package/dist/tools/answerIncomingCall.d.ts.map +0 -1
- package/dist/tools/answerIncomingCall.js +0 -94
- package/dist/tools/answerIncomingCall.js.map +0 -1
- package/dist/tools/callToServer.d.ts.map +0 -1
- package/dist/tools/callToServer.js +0 -90
- package/dist/tools/callToServer.js.map +0 -1
- package/dist/tools/connectToServer.d.ts.map +0 -1
- package/dist/tools/connectToServer.js +0 -52
- package/dist/tools/connectToServer.js.map +0 -1
- package/dist/tools/disconnectFromServer.d.ts.map +0 -1
- package/dist/tools/disconnectFromServer.js +0 -23
- package/dist/tools/disconnectFromServer.js.map +0 -1
- package/dist/tools/error/getLinkError.d.ts.map +0 -1
- package/dist/tools/error/getLinkError.js +0 -36
- package/dist/tools/error/getLinkError.js.map +0 -1
- package/dist/tools/error/getTypeFromError.d.ts.map +0 -1
- package/dist/tools/error/getTypeFromError.js +0 -63
- package/dist/tools/error/getTypeFromError.js.map +0 -1
- package/dist/tools/error/getValuesFromError.d.ts.map +0 -1
- package/dist/tools/error/getValuesFromError.js +0 -26
- package/dist/tools/error/getValuesFromError.js.map +0 -1
- package/dist/tools/error/index.d.ts.map +0 -1
- package/dist/tools/error/index.js +0 -15
- package/dist/tools/error/index.js.map +0 -1
- package/dist/tools/getExtraHeaders.d.ts.map +0 -1
- package/dist/tools/getExtraHeaders.js +0 -24
- package/dist/tools/getExtraHeaders.js.map +0 -1
- package/dist/tools/getUserAgent.d.ts.map +0 -1
- package/dist/tools/getUserAgent.js +0 -22
- package/dist/tools/getUserAgent.js.map +0 -1
- package/dist/tools/hasPurgatory.d.ts.map +0 -1
- package/dist/tools/hasPurgatory.js +0 -9
- package/dist/tools/hasPurgatory.js.map +0 -1
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -73
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/resolveAskPermissionToEnableCam.d.ts.map +0 -1
- package/dist/tools/resolveAskPermissionToEnableCam.js +0 -18
- package/dist/tools/resolveAskPermissionToEnableCam.js.map +0 -1
- package/dist/tools/resolveGetRemoteStreams.d.ts.map +0 -1
- package/dist/tools/resolveGetRemoteStreams.js +0 -15
- package/dist/tools/resolveGetRemoteStreams.js.map +0 -1
- package/dist/tools/resolveHandleChangeTracks.d.ts.map +0 -1
- package/dist/tools/resolveHandleChangeTracks.js +0 -14
- package/dist/tools/resolveHandleChangeTracks.js.map +0 -1
- package/dist/tools/resolveOnMustStopPresentation.d.ts.map +0 -1
- package/dist/tools/resolveOnMustStopPresentation.js +0 -15
- package/dist/tools/resolveOnMustStopPresentation.js.map +0 -1
- package/dist/tools/resolveOnUseLicense.d.ts.map +0 -1
- package/dist/tools/resolveOnUseLicense.js +0 -15
- package/dist/tools/resolveOnUseLicense.js.map +0 -1
- package/dist/tools/resolveSendMediaState.d.ts.map +0 -1
- package/dist/tools/resolveSendMediaState.js +0 -18
- package/dist/tools/resolveSendMediaState.js.map +0 -1
- package/dist/tools/resolveSendRefusalToTurnOnCam.d.ts.map +0 -1
- package/dist/tools/resolveSendRefusalToTurnOnCam.js +0 -20
- package/dist/tools/resolveSendRefusalToTurnOnCam.js.map +0 -1
- package/dist/tools/resolveSendRefusalToTurnOnMic.d.ts.map +0 -1
- package/dist/tools/resolveSendRefusalToTurnOnMic.js +0 -20
- package/dist/tools/resolveSendRefusalToTurnOnMic.js.map +0 -1
- package/dist/tools/resolveStartPresentation.d.ts.map +0 -1
- package/dist/tools/resolveStartPresentation.js +0 -19
- package/dist/tools/resolveStartPresentation.js.map +0 -1
- package/dist/tools/resolveStopShareSipConnector.d.ts.map +0 -1
- package/dist/tools/resolveStopShareSipConnector.js +0 -19
- package/dist/tools/resolveStopShareSipConnector.js.map +0 -1
- package/dist/tools/resolveUpdatePresentation.d.ts.map +0 -1
- package/dist/tools/resolveUpdatePresentation.js +0 -19
- package/dist/tools/resolveUpdatePresentation.js.map +0 -1
- package/dist/tools/resolveUpdateRemoteStreams.d.ts.map +0 -1
- package/dist/tools/resolveUpdateRemoteStreams.js +0 -18
- package/dist/tools/resolveUpdateRemoteStreams.js.map +0 -1
- package/dist/tools/sendDTMFAccumulated.d.ts.map +0 -1
- package/dist/tools/sendDTMFAccumulated.js +0 -26
- package/dist/tools/sendDTMFAccumulated.js.map +0 -1
- package/dist/tools/syncMediaState/index.d.ts.map +0 -1
- package/dist/tools/syncMediaState/index.js +0 -55
- package/dist/tools/syncMediaState/index.js.map +0 -1
- package/dist/tools/syncMediaState/resolveOnStartMainCam.d.ts.map +0 -1
- package/dist/tools/syncMediaState/resolveOnStartMainCam.js +0 -15
- package/dist/tools/syncMediaState/resolveOnStartMainCam.js.map +0 -1
- package/dist/tools/syncMediaState/resolveOnStartMic.d.ts.map +0 -1
- package/dist/tools/syncMediaState/resolveOnStartMic.js +0 -15
- package/dist/tools/syncMediaState/resolveOnStartMic.js.map +0 -1
- package/dist/tools/syncMediaState/resolveOnStopMainCam.d.ts.map +0 -1
- package/dist/tools/syncMediaState/resolveOnStopMainCam.js +0 -15
- package/dist/tools/syncMediaState/resolveOnStopMainCam.js.map +0 -1
- package/dist/tools/syncMediaState/resolveOnStopMic.d.ts.map +0 -1
- package/dist/tools/syncMediaState/resolveOnStopMic.js +0 -15
- package/dist/tools/syncMediaState/resolveOnStopMic.js.map +0 -1
- package/dist/utils/errors.d.ts.map +0 -1
- package/dist/utils/errors.js +0 -9
- package/dist/utils/errors.js.map +0 -1
- package/dist/utils/findSenderByStream.d.ts.map +0 -1
- package/dist/utils/findSenderByStream.js +0 -9
- package/dist/utils/findSenderByStream.js.map +0 -1
- package/dist/utils/findVideoSender.d.ts.map +0 -1
- package/dist/utils/findVideoSender.js +0 -10
- package/dist/utils/findVideoSender.js.map +0 -1
- package/dist/utils/getCodecFromSender.d.ts.map +0 -1
- package/dist/utils/getCodecFromSender.js +0 -20
- package/dist/utils/getCodecFromSender.js.map +0 -1
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -42
- package/dist/utils.js.map +0 -1
- package/dist/videoSendingBalancer/balance.d.ts.map +0 -1
- package/dist/videoSendingBalancer/balance.js +0 -42
- package/dist/videoSendingBalancer/balance.js.map +0 -1
- package/dist/videoSendingBalancer/getMaxBitrateByWidth.d.ts.map +0 -1
- package/dist/videoSendingBalancer/getMaxBitrateByWidth.js +0 -41
- package/dist/videoSendingBalancer/getMaxBitrateByWidth.js.map +0 -1
- package/dist/videoSendingBalancer/getMaxBitrateByWidthAndCodec.d.ts.map +0 -1
- package/dist/videoSendingBalancer/getMaxBitrateByWidthAndCodec.js +0 -41
- package/dist/videoSendingBalancer/getMaxBitrateByWidthAndCodec.js.map +0 -1
- package/dist/videoSendingBalancer/hasAv1Codec.d.ts.map +0 -1
- package/dist/videoSendingBalancer/hasAv1Codec.js +0 -12
- package/dist/videoSendingBalancer/hasAv1Codec.js.map +0 -1
- package/dist/videoSendingBalancer/hasIncludesString.d.ts.map +0 -1
- package/dist/videoSendingBalancer/hasIncludesString.js +0 -7
- package/dist/videoSendingBalancer/hasIncludesString.js.map +0 -1
- package/dist/videoSendingBalancer/index.d.ts.map +0 -1
- package/dist/videoSendingBalancer/index.js +0 -56
- package/dist/videoSendingBalancer/index.js.map +0 -1
- package/dist/videoSendingBalancer/processSender.d.ts.map +0 -1
- package/dist/videoSendingBalancer/processSender.js +0 -105
- package/dist/videoSendingBalancer/processSender.js.map +0 -1
- package/dist/videoSendingBalancer/scaleBitrate.d.ts.map +0 -1
- package/dist/videoSendingBalancer/scaleBitrate.js +0 -16
- package/dist/videoSendingBalancer/scaleBitrate.js.map +0 -1
- package/dist/videoSendingBalancer/scaleBitrateByCodec.d.ts.map +0 -1
- package/dist/videoSendingBalancer/scaleBitrateByCodec.js +0 -15
- package/dist/videoSendingBalancer/scaleBitrateByCodec.js.map +0 -1
- package/dist/videoSendingBalancer/setEncodingsToSender.d.ts.map +0 -1
- package/dist/videoSendingBalancer/setEncodingsToSender.js +0 -60
- package/dist/videoSendingBalancer/setEncodingsToSender.js.map +0 -1
package/dist/SipConnector.d.ts
CHANGED
|
@@ -4,35 +4,8 @@ import type { IncomingInfoEvent, OutgoingInfoEvent } from '@krivega/jssip/lib/RT
|
|
|
4
4
|
import type { IncomingRequest } from '@krivega/jssip/lib/SIPMessage';
|
|
5
5
|
import type { IncomingRTCSessionEvent, RegisteredEvent, UnRegisteredEvent } from '@krivega/jssip/lib/UA';
|
|
6
6
|
import type { TEventSession, TEventUA } from './eventNames';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
RESUME_MAIN_CAM = "RESUMEMAINCAM",
|
|
10
|
-
MAX_MAIN_CAM_RESOLUTION = "MAXMAINCAMRESOLUTION",
|
|
11
|
-
ADMIN_STOP_MAIN_CAM = "ADMINSTOPMAINCAM",
|
|
12
|
-
ADMIN_START_MAIN_CAM = "ADMINSTARTMAINCAM"
|
|
13
|
-
}
|
|
14
|
-
export declare enum EEventsMic {
|
|
15
|
-
ADMIN_STOP_MIC = "ADMINSTOPMIC",
|
|
16
|
-
ADMIN_START_MIC = "ADMINSTARTMIC"
|
|
17
|
-
}
|
|
18
|
-
export declare enum EEventsSyncMediaState {
|
|
19
|
-
ADMIN_SYNC_FORCED = "1",
|
|
20
|
-
ADMIN_SYNC_NOT_FORCED = "0"
|
|
21
|
-
}
|
|
22
|
-
export declare enum EUseLicense {
|
|
23
|
-
AUDIO = "AUDIO",
|
|
24
|
-
VIDEO = "VIDEO",
|
|
25
|
-
AUDIOPLUSPRESENTATION = "AUDIOPLUSPRESENTATION"
|
|
26
|
-
}
|
|
27
|
-
export interface ICustomError extends Error {
|
|
28
|
-
originator?: string;
|
|
29
|
-
cause?: unknown;
|
|
30
|
-
message: any;
|
|
31
|
-
socket?: any;
|
|
32
|
-
url?: string;
|
|
33
|
-
code?: string;
|
|
34
|
-
}
|
|
35
|
-
export declare const hasCanceledCallError: (error?: ICustomError) => boolean;
|
|
7
|
+
import type { TCustomError } from './types';
|
|
8
|
+
export declare const hasCanceledCallError: (error?: TCustomError) => boolean;
|
|
36
9
|
export type TJsSIP = {
|
|
37
10
|
UA: typeof UA;
|
|
38
11
|
WebSocketInterface: typeof WebSocketInterface;
|
|
@@ -46,7 +19,7 @@ type TMediaState = {
|
|
|
46
19
|
mic: boolean;
|
|
47
20
|
};
|
|
48
21
|
type TOptionsInfoMediaState = {
|
|
49
|
-
noTerminateWhenError
|
|
22
|
+
noTerminateWhenError?: boolean;
|
|
50
23
|
};
|
|
51
24
|
declare const CMD_CHANNELS: "channels";
|
|
52
25
|
declare const CMD_WEBCAST_STARTED: "WebcastStarted";
|
|
@@ -102,14 +75,14 @@ type TChannelsInfoNotify = {
|
|
|
102
75
|
input: string;
|
|
103
76
|
output: string;
|
|
104
77
|
};
|
|
105
|
-
type TInfoNotify = Omit<
|
|
78
|
+
type TInfoNotify = Omit<TAddedToListModeratorsInfoNotify | TChannelsInfoNotify | TRemovedFromListModeratorsInfoNotify, 'cmd'> & {
|
|
106
79
|
cmd: string;
|
|
107
80
|
};
|
|
108
81
|
type TOptionsExtraHeaders = {
|
|
109
82
|
extraHeaders?: string[];
|
|
110
83
|
};
|
|
111
84
|
type TOntrack = (track: RTCTrackEvent) => void;
|
|
112
|
-
type TParametersConnection = {
|
|
85
|
+
type TParametersConnection = TOptionsExtraHeaders & {
|
|
113
86
|
displayName?: string;
|
|
114
87
|
user?: string;
|
|
115
88
|
password?: string;
|
|
@@ -123,7 +96,7 @@ type TParametersConnection = {
|
|
|
123
96
|
connectionRecoveryMinInterval?: number;
|
|
124
97
|
connectionRecoveryMaxInterval?: number;
|
|
125
98
|
userAgent?: string;
|
|
126
|
-
}
|
|
99
|
+
};
|
|
127
100
|
type TConnect = (parameters: TParametersConnection) => Promise<UA>;
|
|
128
101
|
type TCreateUa = (parameters: TParametersConnection) => Promise<UA>;
|
|
129
102
|
type TStart = () => Promise<UA>;
|
|
@@ -131,15 +104,15 @@ type TSet = ({ displayName, password, }: {
|
|
|
131
104
|
displayName?: string;
|
|
132
105
|
password?: string;
|
|
133
106
|
}) => Promise<boolean>;
|
|
134
|
-
type TDegradationPreference = '
|
|
107
|
+
type TDegradationPreference = 'balanced' | 'maintain-framerate' | 'maintain-resolution';
|
|
135
108
|
type TCall = ({ number, mediaStream, extraHeaders, ontrack, iceServers, videoMode, audioMode, offerToReceiveAudio, offerToReceiveVideo, degradationPreference, }: {
|
|
136
109
|
number: string;
|
|
137
|
-
mediaStream
|
|
110
|
+
mediaStream: MediaStream;
|
|
138
111
|
extraHeaders?: TOptionsExtraHeaders['extraHeaders'];
|
|
139
112
|
ontrack?: TOntrack;
|
|
140
113
|
iceServers?: RTCIceServer[];
|
|
141
|
-
videoMode?: '
|
|
142
|
-
audioMode?: '
|
|
114
|
+
videoMode?: 'recvonly' | 'sendonly' | 'sendrecv';
|
|
115
|
+
audioMode?: 'recvonly' | 'sendonly' | 'sendrecv';
|
|
143
116
|
offerToReceiveAudio?: boolean;
|
|
144
117
|
offerToReceiveVideo?: boolean;
|
|
145
118
|
degradationPreference?: TDegradationPreference;
|
|
@@ -150,8 +123,8 @@ type TParametersAnswerToIncomingCall = {
|
|
|
150
123
|
extraHeaders?: TOptionsExtraHeaders['extraHeaders'];
|
|
151
124
|
ontrack?: TOntrack;
|
|
152
125
|
iceServers?: RTCIceServer[];
|
|
153
|
-
videoMode?: '
|
|
154
|
-
audioMode?: '
|
|
126
|
+
videoMode?: 'recvonly' | 'sendonly' | 'sendrecv';
|
|
127
|
+
audioMode?: 'recvonly' | 'sendonly' | 'sendrecv';
|
|
155
128
|
degradationPreference?: TDegradationPreference;
|
|
156
129
|
};
|
|
157
130
|
type TAnswerToIncomingCall = (parameters: TParametersAnswerToIncomingCall) => Promise<RTCPeerConnection>;
|
|
@@ -161,19 +134,19 @@ export default class SipConnector {
|
|
|
161
134
|
private _isRegisterConfig;
|
|
162
135
|
private _connectionConfiguration;
|
|
163
136
|
private _remoteStreams;
|
|
164
|
-
private JsSIP;
|
|
165
|
-
private _sessionEvents;
|
|
166
|
-
private _uaEvents;
|
|
167
|
-
private _cancelableConnect;
|
|
168
|
-
private _cancelableCreateUa;
|
|
169
|
-
private _cancelableDisconnect;
|
|
170
|
-
private _cancelableSet;
|
|
171
|
-
private _cancelableCall;
|
|
172
|
-
private _cancelableAnswer;
|
|
173
|
-
private _cancelableSendDTMF;
|
|
137
|
+
private readonly JsSIP;
|
|
138
|
+
private readonly _sessionEvents;
|
|
139
|
+
private readonly _uaEvents;
|
|
140
|
+
private readonly _cancelableConnect;
|
|
141
|
+
private readonly _cancelableCreateUa;
|
|
142
|
+
private readonly _cancelableDisconnect;
|
|
143
|
+
private readonly _cancelableSet;
|
|
144
|
+
private readonly _cancelableCall;
|
|
145
|
+
private readonly _cancelableAnswer;
|
|
146
|
+
private readonly _cancelableSendDTMF;
|
|
174
147
|
private getSipServerUrl;
|
|
175
148
|
promisePendingStartPresentation?: Promise<MediaStream>;
|
|
176
|
-
promisePendingStopPresentation?: Promise<
|
|
149
|
+
promisePendingStopPresentation?: Promise<MediaStream | void>;
|
|
177
150
|
ua?: UA;
|
|
178
151
|
session?: RTCSession;
|
|
179
152
|
incomingSession?: RTCSession;
|
|
@@ -192,8 +165,8 @@ export default class SipConnector {
|
|
|
192
165
|
hangUp: THangUp;
|
|
193
166
|
register(): Promise<RegisteredEvent>;
|
|
194
167
|
unregister(): Promise<UnRegisteredEvent>;
|
|
195
|
-
tryRegister: () => Promise<
|
|
196
|
-
sendOptions(target:
|
|
168
|
+
tryRegister: () => Promise<RegisteredEvent>;
|
|
169
|
+
sendOptions(target: URI | string, body?: string, extraHeaders?: string[]): Promise<void>;
|
|
197
170
|
ping(body?: string, extraHeaders?: string[]): Promise<void>;
|
|
198
171
|
replaceMediaStream(mediaStream: MediaStream, options?: {
|
|
199
172
|
deleteExisting: boolean;
|
|
@@ -214,7 +187,7 @@ export default class SipConnector {
|
|
|
214
187
|
isP2P?: boolean;
|
|
215
188
|
maxBitrate?: number;
|
|
216
189
|
degradationPreference?: TDegradationPreference;
|
|
217
|
-
}): Promise<
|
|
190
|
+
}): Promise<MediaStream>;
|
|
218
191
|
stopPresentation({ isP2P, }?: {
|
|
219
192
|
isP2P?: boolean;
|
|
220
193
|
}): Promise<MediaStream | void>;
|
|
@@ -222,19 +195,19 @@ export default class SipConnector {
|
|
|
222
195
|
isP2P?: boolean;
|
|
223
196
|
maxBitrate?: number;
|
|
224
197
|
degradationPreference?: TDegradationPreference;
|
|
225
|
-
}): Promise<
|
|
198
|
+
}): Promise<MediaStream | void>;
|
|
226
199
|
_resetPresentation(): void;
|
|
227
200
|
handleNewRTCSession: ({ originator, session }: IncomingRTCSessionEvent) => void;
|
|
228
|
-
on(eventName: TEventUA, handler:
|
|
229
|
-
once(eventName: TEventUA, handler:
|
|
230
|
-
onceRace(eventNames: TEventUA[], handler:
|
|
231
|
-
wait(eventName: TEventUA): Promise<
|
|
232
|
-
off(eventName: TEventUA, handler:
|
|
233
|
-
onSession(eventName: TEventSession, handler:
|
|
234
|
-
onceSession(eventName: TEventSession, handler:
|
|
235
|
-
onceRaceSession(eventNames: TEventSession[], handler:
|
|
236
|
-
waitSession(eventName: TEventSession): Promise<
|
|
237
|
-
offSession(eventName: TEventSession, handler:
|
|
201
|
+
on<T = void>(eventName: TEventUA, handler: (data: T) => void): () => void;
|
|
202
|
+
once<T>(eventName: TEventUA, handler: (data: T) => void): () => void;
|
|
203
|
+
onceRace<T>(eventNames: TEventUA[], handler: (data: T) => void): () => void;
|
|
204
|
+
wait<T>(eventName: TEventUA): Promise<T>;
|
|
205
|
+
off<T>(eventName: TEventUA, handler: (data: T) => void): void;
|
|
206
|
+
onSession<T>(eventName: TEventSession, handler: (data: T) => void): () => void;
|
|
207
|
+
onceSession<T>(eventName: TEventSession, handler: (data: T) => void): () => void;
|
|
208
|
+
onceRaceSession<T>(eventNames: TEventSession[], handler: (data: T) => void): () => void;
|
|
209
|
+
waitSession<T>(eventName: TEventSession): Promise<T>;
|
|
210
|
+
offSession<T>(eventName: TEventSession, handler: (data: T) => void): void;
|
|
238
211
|
isConfigured(): boolean;
|
|
239
212
|
getConnectionConfiguration(): {
|
|
240
213
|
sipServerUrl?: string | undefined;
|
|
@@ -248,22 +221,22 @@ export default class SipConnector {
|
|
|
248
221
|
getRemoteStreams(): MediaStream[] | undefined;
|
|
249
222
|
get connection(): RTCPeerConnection | undefined;
|
|
250
223
|
get remoteCallerData(): {
|
|
251
|
-
displayName:
|
|
252
|
-
host:
|
|
253
|
-
incomingNumber:
|
|
224
|
+
displayName: string | undefined;
|
|
225
|
+
host: string | undefined;
|
|
226
|
+
incomingNumber: string | undefined;
|
|
254
227
|
session: RTCSession | undefined;
|
|
255
228
|
};
|
|
256
229
|
get requested(): boolean;
|
|
257
230
|
get establishedSession(): RTCSession | undefined;
|
|
258
|
-
get isRegistered():
|
|
231
|
+
get isRegistered(): boolean;
|
|
259
232
|
get isRegisterConfig(): boolean;
|
|
260
233
|
get isCallActive(): boolean;
|
|
261
234
|
get isAvailableIncomingCall(): boolean;
|
|
262
235
|
_connect: TConnect;
|
|
263
236
|
_createUa: TCreateUa;
|
|
264
|
-
_init({ sipServerUrl, sipWebSocketServerURL }: {
|
|
265
|
-
sipServerUrl:
|
|
266
|
-
sipWebSocketServerURL:
|
|
237
|
+
_init({ sipServerUrl, sipWebSocketServerURL, }: {
|
|
238
|
+
sipServerUrl: string;
|
|
239
|
+
sipWebSocketServerURL: string;
|
|
267
240
|
}): void;
|
|
268
241
|
_start: TStart;
|
|
269
242
|
_set: TSet;
|
|
@@ -285,7 +258,7 @@ export default class SipConnector {
|
|
|
285
258
|
_cancelConnectRequests(): void;
|
|
286
259
|
_cancelCallRequests(): void;
|
|
287
260
|
_cancelActionsRequests(): void;
|
|
288
|
-
_handleShareState: (eventName:
|
|
261
|
+
_handleShareState: (eventName: string) => void;
|
|
289
262
|
_maybeTriggerChannels: (request: IncomingRequest) => void;
|
|
290
263
|
_handleNotify: (header: TInfoNotify) => void;
|
|
291
264
|
_triggerRemovedFromListModeratorsNotify: ({ conference, }: TRemovedFromListModeratorsInfoNotify) => void;
|
|
@@ -318,7 +291,6 @@ export default class SipConnector {
|
|
|
318
291
|
_sendRefusalToTurnOn(type: 'cam' | 'mic', options?: TOptionsInfoMediaState): Promise<void>;
|
|
319
292
|
sendRefusalToTurnOnMic(options?: TOptionsInfoMediaState): Promise<void>;
|
|
320
293
|
sendRefusalToTurnOnCam(options?: TOptionsInfoMediaState): Promise<void>;
|
|
321
|
-
_handleEnded: (error:
|
|
294
|
+
_handleEnded: (error: TCustomError) => void;
|
|
322
295
|
}
|
|
323
296
|
export {};
|
|
324
|
-
//# sourceMappingURL=SipConnector.d.ts.map
|
package/dist/causes.d.ts
CHANGED
|
@@ -21,4 +21,3 @@ export declare const DIALOG_ERROR = "Dialog Error";
|
|
|
21
21
|
export declare const USER_DENIED_MEDIA_ACCESS = "User Denied Media Access";
|
|
22
22
|
export declare const BAD_MEDIA_DESCRIPTION = "Bad Media Description";
|
|
23
23
|
export declare const RTP_TIMEOUT = "RTP Timeout";
|
|
24
|
-
//# sourceMappingURL=causes.d.ts.map
|
package/dist/constants.d.ts
CHANGED
|
@@ -67,4 +67,3 @@ export declare const PRESENTATION_STARTED = "presentation:started";
|
|
|
67
67
|
export declare const PRESENTATION_END = "presentation:end";
|
|
68
68
|
export declare const PRESENTATION_ENDED = "presentation:ended";
|
|
69
69
|
export declare const PRESENTATION_FAILED = "presentation:failed";
|
|
70
|
-
//# sourceMappingURL=constants.d.ts.map
|
package/dist/eventNames.d.ts
CHANGED
|
@@ -6,4 +6,3 @@ export declare const UA_EVENT_NAMES: ("incomingCall" | "declinedIncomingCall" |
|
|
|
6
6
|
export declare const SESSION_EVENT_NAMES: readonly ["ended", "connecting", "sending", "reinvite", "replaces", "refer", "progress", "accepted", "confirmed", "peerconnection", "failed", "muted", "unmuted", "newDTMF", "newInfo", "hold", "unhold", "update", "sdp", "icecandidate", "getusermediafailed", "peerconnection:createofferfailed", "peerconnection:createanswerfailed", "peerconnection:setlocaldescriptionfailed", "peerconnection:setremotedescriptionfailed", "presentation:start", "presentation:started", "presentation:end", "presentation:ended", "presentation:failed", "availableSecondRemoteStream", "notAvailableSecondRemoteStream", "mustStopPresentation", "shareState", "enterRoom", "useLicense", "peerconnection:confirmed", "peerconnection:ontrack", "channels", "ended:fromserver", "main-cam-control", "admin-start-main-cam", "admin-stop-main-cam", "admin-stop-mic", "admin-start-mic", "admin-force-sync-media-state"];
|
|
7
7
|
export type TEventUA = (typeof UA_EVENT_NAMES)[number];
|
|
8
8
|
export type TEventSession = (typeof SESSION_EVENT_NAMES)[number];
|
|
9
|
-
//# sourceMappingURL=eventNames.d.ts.map
|
package/dist/headers.d.ts
CHANGED
|
@@ -31,4 +31,3 @@ export declare const HEADER_START_PRESENTATION_P2P = "x-webrtc-share-state: YOUC
|
|
|
31
31
|
export declare const HEADER_STOP_PRESENTATION_P2P = "x-webrtc-share-state: CONTENTEND";
|
|
32
32
|
export declare const HEADER_CONTENT_ENABLE_MEDIA_DEVICE = "X-WEBRTC-REQUEST-ENABLE-MEDIA-DEVICE";
|
|
33
33
|
export declare const HEADER_ENABLE_MAIN_CAM = "X-WEBRTC-REQUEST-ENABLE-MEDIA-DEVICE: LETMESTARTMAINCAM";
|
|
34
|
-
//# sourceMappingURL=headers.d.ts.map
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var $n=Object.defineProperty;var Ln=(e,t,n)=>t in e?$n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var c=(e,t,n)=>(Ln(e,typeof t!="symbol"?t+"":t,n),n);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const O=require("@krivega/cancelable-promise"),we=require("events-constructor"),J=require("debug"),Un=require("sequent-promises"),Fn=require("stack-promises"),kn="Connection Error",dt="Request Timeout",Bn="SIP Failure Code",Hn="Internal Error",xn="Busy",Et="Rejected",Wn="Redirected",qn="Unavailable",Ce="Not Found",Vn="Address Incomplete",jn="Incompatible SDP",Gn="Missing SDP",Yn="Authentication Error",ht="Terminated",Xn="WebRTC Error",ft="Canceled",zn="No Answer",Jn="Expires",Kn="No ACK",Qn="Dialog Error",Zn="User Denied Media Access",me="Bad Media Description",er="RTP Timeout",tr=Object.freeze(Object.defineProperty({__proto__:null,ADDRESS_INCOMPLETE:Vn,AUTHENTICATION_ERROR:Yn,BAD_MEDIA_DESCRIPTION:me,BUSY:xn,BYE:ht,CANCELED:ft,CONNECTION_ERROR:kn,DIALOG_ERROR:Qn,EXPIRES:Jn,INCOMPATIBLE_SDP:jn,INTERNAL_ERROR:Hn,MISSING_SDP:Gn,NOT_FOUND:Ce,NO_ACK:Kn,NO_ANSWER:zn,REDIRECTED:Wn,REJECTED:Et,REQUEST_TIMEOUT:dt,RTP_TIMEOUT:er,SIP_FAILURE_CODE:Bn,UNAVAILABLE:qn,USER_DENIED_MEDIA_ACCESS:Zn,WEBRTC_ERROR:Xn},Symbol.toStringTag,{value:"Module"})),St="incomingCall",gt="declinedIncomingCall",Tt="failedIncomingCall",Ct="terminatedIncomingCall",Re="connecting",ce="connected",w="disconnected",ue="newRTCSession",x="registered",mt="unregistered",W="registrationFailed",nr="newMessage",Rt="sipEvent",Nt="availableSecondRemoteStream",vt="notAvailableSecondRemoteStream",At="mustStopPresentation",le="shareState",pt="enterRoom",bt="useLicense",yt="peerconnection:confirmed",It="peerconnection:ontrack",_e="channels",Ot="channels:notify",Mt="ended:fromserver",Pt="main-cam-control",Dt="admin-stop-main-cam",wt="admin-start-main-cam",$t="admin-stop-mic",Lt="admin-start-mic",de="admin-force-sync-media-state",Ut="participant:added-to-list-moderators",Ft="participant:removed-from-list-moderators",kt="participant:move-request-to-conference",Bt="participant:move-request-to-stream",Ht="participant:canceling-word-request",xt="webcast:started",Wt="webcast:stopped",qt="account:changed",Vt="account:deleted",jt="conference:participant-token-issued",q="ended",rr="sending",sr="reinvite",or="replaces",ir="refer",ar="progress",cr="accepted",Ee="confirmed",he="peerconnection",U="failed",ur="muted",lr="unmuted",Gt="newDTMF",Yt="newInfo",_r="hold",dr="unhold",Er="update",hr="sdp",fr="icecandidate",Sr="getusermediafailed",gr="peerconnection:createofferfailed",Tr="peerconnection:createanswerfailed",Cr="peerconnection:setlocaldescriptionfailed",mr="peerconnection:setremotedescriptionfailed",Rr="presentation:start",Nr="presentation:started",vr="presentation:end",Xt="presentation:ended",fe="presentation:failed",zt=[St,gt,Ct,Tt,Ht,Bt,kt,Ot,jt,qt,Vt,xt,Wt,Ut,Ft],Ne=[Re,ce,w,ue,x,mt,W,nr,Rt],Jt=[Nt,vt,At,le,pt,bt,yt,It,_e,Mt,Pt,wt,Dt,$t,Lt,de],ve=[q,Re,rr,sr,or,ir,ar,cr,Ee,he,U,ur,lr,Gt,Yt,_r,dr,Er,hr,fr,Sr,gr,Tr,Cr,mr,Rr,Nr,vr,Xt,fe],Kt=[...Ne,...zt],Qt=[...ve,...Jt],Ar=Object.freeze(Object.defineProperty({__proto__:null,SESSION_EVENT_NAMES:Qt,SESSION_JSSIP_EVENT_NAMES:ve,SESSION_SYNTHETICS_EVENT_NAMES:Jt,UA_EVENT_NAMES:Kt,UA_JSSIP_EVENT_NAMES:Ne,UA_SYNTHETICS_EVENT_NAMES:zt},Symbol.toStringTag,{value:"Module"})),pr=e=>{const t=[];return e&&t.push(`X-Vinteo-Remote: ${e}`),t},br="content-type",yr="x-webrtc-enter-room",te="application/vinteo.webrtc.sharedesktop",Ir="application/vinteo.webrtc.roomname",Or="application/vinteo.webrtc.channels",Mr="application/vinteo.webrtc.mediastate",Pr="application/vinteo.webrtc.refusal",$e="application/vinteo.webrtc.maincam",Dr="application/vinteo.webrtc.mic",wr="application/vinteo.webrtc.uselic",$r="X-WEBRTC-USE-LICENSE",Le="X-WEBRTC-INPUT-CHANNELS",Ue="X-WEBRTC-OUTPUT-CHANNELS",Lr="X-WEBRTC-MAINCAM",Ur="X-WEBRTC-MIC",Fe="X-WEBRTC-SYNC",Fr="X-WEBRTC-MAINCAM-RESOLUTION",kr="X-WEBRTC-MEDIA-STATE",Br="X-Vinteo-Media-Type",Hr="X-Vinteo-MainCam-State",xr="X-Vinteo-Mic-State",Wr="application/vinteo.webrtc.notify",qr="X-VINTEO-NOTIFY",k="x-webrtc-share-state",Vr=`${k}: LETMESTARTPRESENTATION`,jr=`${k}: STOPPRESENTATION`,Zt="YOUCANRECEIVECONTENT",en="CONTENTEND",Gr="YOUMUSTSTOPSENDCONTENT",Yr=`${k}: ${Zt}`,Xr=`${k}: ${en}`,zr="X-WEBRTC-REQUEST-ENABLE-MEDIA-DEVICE",Jr=`${zr}: LETMESTARTMAINCAM`,Ae="sip-connector",_=J(Ae),Kr=()=>{J.enable(`${Ae}`)},Qr=()=>{J.enable(`-${Ae}`)};var M=(e=>(e.PAUSE_MAIN_CAM="PAUSEMAINCAM",e.RESUME_MAIN_CAM="RESUMEMAINCAM",e.MAX_MAIN_CAM_RESOLUTION="MAXMAINCAMRESOLUTION",e.ADMIN_STOP_MAIN_CAM="ADMINSTOPMAINCAM",e.ADMIN_START_MAIN_CAM="ADMINSTARTMAINCAM",e))(M||{}),V=(e=>(e.ADMIN_STOP_MIC="ADMINSTOPMIC",e.ADMIN_START_MIC="ADMINSTARTMIC",e))(V||{}),j=(e=>(e.ADMIN_SYNC_FORCED="1",e.ADMIN_SYNC_NOT_FORCED="0",e))(j||{}),tn=(e=>(e.AUDIO="AUDIO",e.VIDEO="VIDEO",e.AUDIOPLUSPRESENTATION="AUDIOPLUSPRESENTATION",e))(tn||{});function Zr(e){return t=>`sip:${t}@${e}`}const es=(e,t)=>()=>Math.floor(Math.random()*(t-e))+e,ke=e=>e.trim().replaceAll(" ","_"),ts=es(1e5,99999999),ne=(e,{videoMode:t,audioMode:n}={})=>{if(!e||t==="recvonly"&&n==="recvonly")return;const r=n==="recvonly"?[]:e.getAudioTracks(),s=t==="recvonly"?[]:e.getVideoTracks(),o=[...r,...s],i=new MediaStream(o);return i.getTracks=()=>[...i.getAudioTracks(),...i.getVideoTracks()],i},ns=e=>e.some(n=>{const{kind:r}=n;return r==="video"}),rs="Error decline with 603",ss=e=>e.message===rs,os=(e,t)=>e.find(n=>n.track&&t.getTracks().includes(n.track)),nn=1,rn=e=>(t,n)=>n!==void 0&&t!==n||n===void 0&&t!==e,is=rn(nn),as=(e,t)=>{const n=e===void 0?void 0:Math.max(e,nn);if(n!==void 0&&is(n,t))return n},cs=rn(),us=(e,t)=>{if(cs(e,t))return e},sn=async(e,t,n)=>{const r=e.getParameters();(r.encodings===void 0||r.encodings.length===0)&&(r.encodings=[{}]);const[s]=r.encodings,o=s.scaleResolutionDownBy,i=as(t.scaleResolutionDownBy,o);let a=!1;i!==void 0&&(r.encodings[0].scaleResolutionDownBy=i,a=!0);const u=s.maxBitrate,l=us(t.maxBitrate,u);return l!==void 0&&(r.encodings[0].maxBitrate=l,a=!0),a?(n&&n(r),e.setParameters(r).then(()=>({parameters:r,isChanged:a}))):{parameters:r,isChanged:a}},ls=async(e,t,n)=>{const r=os(e,t);if(r)return sn(r,{maxBitrate:n})},_s=486,ds=487,Se="local",Be="remote",Es=(e=new Error)=>{const{originator:t,cause:n}=e;return O.isCanceledError(e)?!0:typeof n=="string"?n===dt||n===Et||t===Se&&(n===ft||n===ht):!1},D="SipConnector",hs="channels",fs="WebcastStarted",Ss="WebcastStopped",gs="accountChanged",Ts="accountDeleted",Cs="addedToListModerators",ms="removedFromListModerators",Rs="WebcastParticipationAccepted",Ns="WebcastParticipationRejected",vs="ParticipantMovedToWebcast",As="ConferenceParticipantTokenIssued";class ps{constructor({JsSIP:t}){c(this,"_isRegisterConfig",!1);c(this,"_connectionConfiguration",{});c(this,"_remoteStreams",{});c(this,"JsSIP");c(this,"_sessionEvents");c(this,"_uaEvents");c(this,"_cancelableConnect");c(this,"_cancelableCreateUa");c(this,"_cancelableDisconnect");c(this,"_cancelableSet");c(this,"_cancelableCall");c(this,"_cancelableAnswer");c(this,"_cancelableSendDTMF");c(this,"getSipServerUrl",t=>t);c(this,"promisePendingStartPresentation");c(this,"promisePendingStopPresentation");c(this,"ua");c(this,"session");c(this,"incomingSession");c(this,"_streamPresentationCurrent");c(this,"socket");c(this,"connect",async t=>(this._cancelRequests(),this._cancelableConnect.request(t)));c(this,"createUa",async t=>this._cancelableCreateUa.request(t));c(this,"set",async t=>this._cancelableSet.request(t));c(this,"call",async t=>this._cancelableCall.request(t));c(this,"disconnect",async()=>(this._cancelRequests(),this._disconnectWithoutCancelRequests()));c(this,"answerToIncomingCall",async t=>this._cancelableAnswer.request(t));c(this,"sendDTMF",async t=>this._cancelableSendDTMF.request(t));c(this,"hangUp",async()=>(this._cancelRequests(),this._hangUpWithoutCancelRequests()));c(this,"tryRegister",async()=>{if(!this.isRegisterConfig)throw new Error("Config is not registered");this._uaEvents.trigger(Re,void 0);try{await this.unregister()}catch(t){_("tryRegister",t)}return this.register()});c(this,"declineToIncomingCall",async({statusCode:t=ds}={})=>new Promise((n,r)=>{if(!this.isAvailableIncomingCall){r(new Error("no incomingSession"));return}const s=this.incomingSession,o=this.remoteCallerData;this._cancelableCall.cancelRequest(),this._cancelableAnswer.cancelRequest(),this.removeIncomingSession(),this._uaEvents.trigger(gt,o),n(s.terminate({status_code:t}))}));c(this,"busyIncomingCall",async()=>this.declineToIncomingCall({statusCode:_s}));c(this,"removeIncomingSession",()=>{delete this.incomingSession});c(this,"handleNewRTCSession",({originator:t,session:n})=>{if(t===Be){this.incomingSession=n;const r=this.remoteCallerData;n.on(U,s=>{this.removeIncomingSession(),s.originator===Se?this._uaEvents.trigger(Ct,r):this._uaEvents.trigger(Tt,r)}),this._uaEvents.trigger(St,r)}});c(this,"_connect",async t=>this.createUa(t).then(async()=>this._start()));c(this,"_createUa",async({displayName:t="",user:n,password:r,register:s=!1,sipServerUrl:o,sipWebSocketServerURL:i,remoteAddress:a,extraHeaders:u=[],sdpSemantics:l="plan-b",sessionTimers:d=!1,registerExpires:E=60*5,connectionRecoveryMinInterval:h=2,connectionRecoveryMaxInterval:S=6,userAgent:g})=>{if(!o)throw new Error("sipServerUrl is required");if(!i)throw new Error("sipWebSocketServerURL is required");if(s&&!n)throw new Error("user is required for authorized connection");if(s&&!r)throw new Error("password is required for authorized connection");this._connectionConfiguration={sipServerUrl:o,displayName:t,register:s,user:n,password:r},this._init({sipServerUrl:o,sipWebSocketServerURL:i});const C=s&&n?n.trim():`${ts()}`,m={password:r,register:s,display_name:ke(t),user_agent:g,sdp_semantics:l,sockets:[this.socket],uri:this.getSipServerUrl(C),session_timers:d,register_expires:E,connection_recovery_min_interval:h,connection_recovery_max_interval:S};this.ua&&await this._disconnectWithoutCancelRequests(),this._isRegisterConfig=!!m.register,this.ua=new this.JsSIP.UA(m),this._uaEvents.eachTriggers((N,v)=>{const y=Ne.find(f=>f===v);y&&this.ua&&this.ua.on(y,N)});const b=[...pr(a),...u];return this.ua.registrator().setExtraHeaders(b),this.ua});c(this,"_start",async()=>new Promise((t,n)=>{const{ua:r}=this;if(!r){n(new Error("this.ua is not initialized"));return}const s=()=>{a(),t(r)},o=u=>{a(),n(u)},i=()=>{this.isRegisterConfig?(this.on(x,s),this.on(W,o)):this.on(ce,s),this.on(w,o)},a=()=>{this.off(x,s),this.off(W,o),this.off(ce,s),this.off(w,o)};i(),this.on(ue,this.handleNewRTCSession),r.start()}));c(this,"_set",async({displayName:t,password:n})=>new Promise((r,s)=>{const{ua:o}=this;if(!o){s(new Error("this.ua is not initialized"));return}let i=!1,a=!1;t!==void 0&&t!==this._connectionConfiguration.displayName&&(i=o.set("display_name",ke(t)),this._connectionConfiguration.displayName=t),n!==void 0&&n!==this._connectionConfiguration.password&&(a=o.set("password",n),this._connectionConfiguration.password=n);const u=i||a;a&&this.isRegisterConfig?this.register().then(()=>{r(u)}).catch(s):u?r(u):s(u)}));c(this,"_disconnectWithoutCancelRequests",async()=>this._cancelableDisconnect.request());c(this,"_disconnect",async()=>{this.off(ue,this.handleNewRTCSession);const t=new Promise(n=>{this.once(w,()=>{delete this.ua,n()})});return this.ua?(await this._hangUpWithoutCancelRequests(),this.ua?this.ua.stop():this._uaEvents.trigger(w,void 0)):this._uaEvents.trigger(w,void 0),t});c(this,"_call",async({number:t,mediaStream:n,extraHeaders:r=[],ontrack:s,iceServers:o,videoMode:i,audioMode:a,degradationPreference:u,offerToReceiveAudio:l=!0,offerToReceiveVideo:d=!0})=>new Promise((E,h)=>{const{ua:S}=this;if(!S){h(new Error("this.ua is not initialized"));return}this._connectionConfiguration.number=t,this._connectionConfiguration.answer=!1,this._handleCall({ontrack:s}).then(E).catch(h),this.session=S.call(this.getSipServerUrl(t),{extraHeaders:r,mediaStream:ne(n,{videoMode:i,audioMode:a}),eventHandlers:this._sessionEvents.triggers,videoMode:i,audioMode:a,degradationPreference:u,pcConfig:{iceServers:o},rtcOfferConstraints:{offerToReceiveAudio:l,offerToReceiveVideo:d}})}));c(this,"_answer",async({mediaStream:t,ontrack:n,extraHeaders:r=[],iceServers:s,videoMode:o,audioMode:i,degradationPreference:a})=>new Promise((u,l)=>{if(!this.isAvailableIncomingCall){l(new Error("no incomingSession"));return}this.session=this.incomingSession,this.removeIncomingSession();const{session:d}=this;if(!d){l(new Error("No session established"));return}this._sessionEvents.eachTriggers((h,S)=>{const g=ve.find(C=>C===S);g&&d.on(g,h)}),this._connectionConfiguration.answer=!0,this._connectionConfiguration.number=d.remote_identity.uri.user,this._handleCall({ontrack:n}).then(u).catch(l);const E=ne(t,{videoMode:o,audioMode:i});d.answer({extraHeaders:r,videoMode:o,audioMode:i,degradationPreference:a,mediaStream:E,pcConfig:{iceServers:s}})}));c(this,"_handleCall",async({ontrack:t})=>new Promise((n,r)=>{const s=()=>{this.onSession(he,d),this.onSession(Ee,E)},o=()=>{this.offSession(he,d),this.offSession(Ee,E)},i=()=>{this.onSession(U,u),this.onSession(q,u)},a=()=>{this.offSession(U,u),this.offSession(q,u)},u=h=>{o(),a(),r(h)};let l;const d=({peerconnection:h})=>{l=h,l.ontrack=S=>{this._sessionEvents.trigger(It,l),t&&t(S)}},E=()=>{l&&this._sessionEvents.trigger(yt,l),o(),a(),n(l)};s(),i()}));c(this,"_restoreSession",()=>{this._resetPresentation(),delete this._connectionConfiguration.number,delete this.session,this._remoteStreams={}});c(this,"_sendDTMF",async t=>new Promise((n,r)=>{const{session:s}=this;if(!s){r(new Error("No session established"));return}this.onceSession(Gt,({originator:o})=>{o===Se&&n()}),s.sendDTMF(t,{duration:120,interToneGap:600})}));c(this,"_hangUpWithoutCancelRequests",async()=>{if(this.ua&&this.session){const{session:t}=this;this._streamPresentationCurrent&&await this.stopPresentation(),this._restoreSession(),t.isEnded()||t.terminate()}});c(this,"_handleShareState",t=>{switch(t){case Zt:{this._sessionEvents.trigger(Nt,void 0);break}case en:{this._sessionEvents.trigger(vt,void 0);break}case Gr:{this._sessionEvents.trigger(At,void 0);break}}});c(this,"_maybeTriggerChannels",t=>{const n=t.getHeader(Le),r=t.getHeader(Ue);if(n&&r){const s={inputChannels:n,outputChannels:r};this._sessionEvents.trigger(_e,s)}});c(this,"_handleNotify",t=>{switch(t.cmd){case hs:{const n=t;this._triggerChannelsNotify(n);break}case fs:{const n=t;this._triggerWebcastStartedNotify(n);break}case Ss:{const n=t;this._triggerWebcastStoppedNotify(n);break}case Cs:{const n=t;this._triggerAddedToListModeratorsNotify(n);break}case ms:{const n=t;this._triggerRemovedFromListModeratorsNotify(n);break}case Rs:{const n=t;this._triggerParticipantMoveRequestToConference(n);break}case Ns:{const n=t;this._triggerParticipantCancelingWordRequest(n);break}case vs:{const n=t;this._triggerParticipantMoveRequestToStream(n);break}case gs:{this._triggerAccountChangedNotify();break}case Ts:{this._triggerAccountDeletedNotify();break}case As:{const n=t;this._triggerConferenceParticipantTokenIssued(n);break}default:_("unknown cmd",t.cmd)}});c(this,"_triggerRemovedFromListModeratorsNotify",({conference:t})=>{const n={conference:t};this._uaEvents.trigger(Ft,n)});c(this,"_triggerAddedToListModeratorsNotify",({conference:t})=>{const n={conference:t};this._uaEvents.trigger(Ut,n)});c(this,"_triggerWebcastStartedNotify",({body:{conference:t,type:n}})=>{const r={conference:t,type:n};this._uaEvents.trigger(xt,r)});c(this,"_triggerWebcastStoppedNotify",({body:{conference:t,type:n}})=>{const r={conference:t,type:n};this._uaEvents.trigger(Wt,r)});c(this,"_triggerAccountChangedNotify",()=>{this._uaEvents.trigger(qt,void 0)});c(this,"_triggerAccountDeletedNotify",()=>{this._uaEvents.trigger(Vt,void 0)});c(this,"_triggerConferenceParticipantTokenIssued",({body:{conference:t,participant:n,jwt:r}})=>{const s={conference:t,participant:n,jwt:r};this._uaEvents.trigger(jt,s)});c(this,"_triggerChannelsNotify",t=>{const n=t.input,r=t.output,s={inputChannels:n,outputChannels:r};this._uaEvents.trigger(Ot,s)});c(this,"_triggerParticipantMoveRequestToConference",({body:{conference:t}})=>{const n={conference:t};this._uaEvents.trigger(kt,n)});c(this,"_triggerParticipantCancelingWordRequest",({body:{conference:t}})=>{const n={conference:t};this._uaEvents.trigger(Ht,n)});c(this,"_triggerParticipantMoveRequestToStream",({body:{conference:t}})=>{const n={conference:t};this._uaEvents.trigger(Bt,n)});c(this,"_triggerEnterRoom",t=>{const n=t.getHeader(yr);this._sessionEvents.trigger(pt,n)});c(this,"_triggerShareState",t=>{const n=t.getHeader(k);this._sessionEvents.trigger(le,n)});c(this,"_triggerMainCamControl",t=>{const n=t.getHeader(Lr),r=t.getHeader(Fe),s=r===j.ADMIN_SYNC_FORCED;if(n===M.ADMIN_START_MAIN_CAM)this._sessionEvents.trigger(wt,{isSyncForced:s});else if(n===M.ADMIN_STOP_MAIN_CAM)this._sessionEvents.trigger(Dt,{isSyncForced:s});else if((n===M.RESUME_MAIN_CAM||n===M.PAUSE_MAIN_CAM)&&r)this._sessionEvents.trigger(de,{isSyncForced:s});else{const o=t.getHeader(Fr);this._sessionEvents.trigger(Pt,{mainCam:n,resolutionMainCam:o})}});c(this,"_triggerMicControl",t=>{const n=t.getHeader(Ur),s=t.getHeader(Fe)===j.ADMIN_SYNC_FORCED;n===V.ADMIN_START_MIC?this._sessionEvents.trigger(Lt,{isSyncForced:s}):n===V.ADMIN_STOP_MIC&&this._sessionEvents.trigger($t,{isSyncForced:s})});c(this,"_triggerUseLicense",t=>{const n=t.getHeader($r);this._sessionEvents.trigger(bt,n)});c(this,"_handleNewInfo",t=>{const{originator:n}=t;if(n!=="remote")return;const{request:r}=t,s=r.getHeader(br);if(s)switch(s){case Ir:{this._triggerEnterRoom(r),this._maybeTriggerChannels(r);break}case Wr:{this._maybeHandleNotify(r);break}case te:{this._triggerShareState(r);break}case $e:{this._triggerMainCamControl(r);break}case Dr:{this._triggerMicControl(r);break}case wr:{this._triggerUseLicense(r);break}}});c(this,"_handleSipEvent",({request:t})=>{this._maybeHandleNotify(t)});c(this,"_maybeHandleNotify",t=>{const n=t.getHeader(qr);if(n){const r=JSON.parse(n);this._handleNotify(r)}});c(this,"_handleEnded",t=>{const{originator:n}=t;n===Be&&this._sessionEvents.trigger(Mt,t),this._restoreSession()});this.JsSIP=t,this._sessionEvents=new we(Qt),this._uaEvents=new we(Kt),this._cancelableConnect=new O.CancelableRequest(this._connect,{moduleName:D,afterCancelRequest:()=>{this._cancelableCreateUa.cancelRequest(),this._cancelableDisconnect.cancelRequest()}}),this._cancelableCreateUa=new O.CancelableRequest(this._createUa,{moduleName:D}),this._cancelableDisconnect=new O.CancelableRequest(this._disconnect,{moduleName:D}),this._cancelableSet=new O.CancelableRequest(this._set,{moduleName:D}),this._cancelableCall=new O.CancelableRequest(this._call,{moduleName:D}),this._cancelableAnswer=new O.CancelableRequest(this._answer,{moduleName:D}),this._cancelableSendDTMF=new O.CancelableRequest(this._sendDTMF,{moduleName:D}),this.onSession(le,this._handleShareState),this.onSession(Yt,this._handleNewInfo),this.on(Rt,this._handleSipEvent),this.onSession(U,this._handleEnded),this.onSession(q,this._handleEnded)}async register(){return new Promise((t,n)=>{this.isRegisterConfig&&this.ua?(this.ua.on(x,t),this.ua.on(W,n),this.ua.register()):n(new Error("Config is not registered"))})}async unregister(){return new Promise((t,n)=>{this.isRegistered&&this.ua?(this.ua.on(mt,t),this.ua.unregister()):n(new Error("ua is not registered"))})}async sendOptions(t,n,r){if(!this.ua)throw new Error("is not connected");return new Promise((s,o)=>{try{this.ua.sendOptions(t,n,{extraHeaders:r,eventHandlers:{succeeded:()=>{s()},failed:o}})}catch(i){o(i)}})}async ping(t,n){var s;if(!((s=this.ua)!=null&&s.configuration.uri))throw new Error("is not connected");const r=this.ua.configuration.uri;return this.sendOptions(r,t,n)}async replaceMediaStream(t,n){if(!this.session)throw new Error("No session established");return this.session.replaceMediaStream(t,n)}async askPermissionToEnableCam(t={}){if(!this.session)throw new Error("No session established");const n=[Jr];return this.session.sendInfo($e,void 0,{noTerminateWhenError:!0,...t,extraHeaders:n}).catch(r=>{if(ss(r))throw r})}get isPendingPresentation(){return!!this.promisePendingStartPresentation||!!this.promisePendingStopPresentation}async _sendPresentation(t,n,{maxBitrate:r,degradationPreference:s,isNeedReinvite:o=!0,isP2P:i=!1}){const a=ne(n);this._streamPresentationCurrent=a;const u=i?[Yr]:[Vr],l=t.sendInfo(te,void 0,{extraHeaders:u}).then(async()=>t.startPresentation(a,o,s)).then(async()=>{const{connection:d}=this;if(!d||r===void 0)return;const E=d.getSenders();return ls(E,n,r)}).then(()=>n).catch(d=>{throw this._sessionEvents.trigger(fe,d),d});return this.promisePendingStartPresentation=l,l.finally(()=>{this.promisePendingStartPresentation=void 0})}async startPresentation(t,{isNeedReinvite:n=!0,isP2P:r=!1,maxBitrate:s,degradationPreference:o}={}){const i=this.establishedSession;if(!i)throw new Error("No session established");if(this._streamPresentationCurrent)throw new Error("Presentation is already started");return this._sendPresentation(i,t,{isNeedReinvite:n,isP2P:r,maxBitrate:s,degradationPreference:o})}async stopPresentation({isP2P:t=!1}={}){const n=this._streamPresentationCurrent;let r=this.promisePendingStartPresentation??Promise.resolve();const s=t?[Xr]:[jr],o=this.establishedSession;return o&&n&&(r=r.then(async()=>o.sendInfo(te,void 0,{extraHeaders:s})).then(async()=>o.stopPresentation(n)).catch(i=>{throw this._sessionEvents.trigger(fe,i),i})),!o&&n&&this._sessionEvents.trigger(Xt,n),this.promisePendingStopPresentation=r,r.finally(()=>{this._resetPresentation()})}async updatePresentation(t,{isP2P:n=!1,maxBitrate:r,degradationPreference:s}={}){const o=this.establishedSession;if(!o)throw new Error("No session established");if(!this._streamPresentationCurrent)throw new Error("Presentation has not started yet");return this.promisePendingStartPresentation&&await this.promisePendingStartPresentation,this._sendPresentation(o,t,{isP2P:n,maxBitrate:r,degradationPreference:s,isNeedReinvite:!1})}_resetPresentation(){delete this._streamPresentationCurrent,this.promisePendingStartPresentation=void 0,this.promisePendingStopPresentation=void 0}on(t,n){return this._uaEvents.on(t,n)}once(t,n){return this._uaEvents.once(t,n)}onceRace(t,n){return this._uaEvents.onceRace(t,n)}async wait(t){return this._uaEvents.wait(t)}off(t,n){this._uaEvents.off(t,n)}onSession(t,n){return this._sessionEvents.on(t,n)}onceSession(t,n){return this._sessionEvents.once(t,n)}onceRaceSession(t,n){return this._sessionEvents.onceRace(t,n)}async waitSession(t){return this._sessionEvents.wait(t)}offSession(t,n){this._sessionEvents.off(t,n)}isConfigured(){return!!this.ua}getConnectionConfiguration(){return{...this._connectionConfiguration}}getRemoteStreams(){if(!this.connection)return;const n=this.connection.getReceivers().map(({track:r})=>r);return ns(n)?this._generateStreams(n):this._generateAudioStreams(n)}get connection(){var n;return(n=this.session)==null?void 0:n.connection}get remoteCallerData(){var t,n,r,s,o,i;return{displayName:(n=(t=this.incomingSession)==null?void 0:t.remote_identity)==null?void 0:n.display_name,host:(s=(r=this.incomingSession)==null?void 0:r.remote_identity)==null?void 0:s.uri.host,incomingNumber:(i=(o=this.incomingSession)==null?void 0:o.remote_identity)==null?void 0:i.uri.user,session:this.incomingSession}}get requested(){return this._cancelableConnect.requested||this._cancelableCreateUa.requested||this._cancelableCall.requested||this._cancelableAnswer.requested}get establishedSession(){return this.session&&this.session.isEstablished()?this.session:void 0}get isRegistered(){return!!this.ua&&this.ua.isRegistered()}get isRegisterConfig(){return!!this.ua&&this._isRegisterConfig}get isCallActive(){return!!(this.ua&&this.session)}get isAvailableIncomingCall(){return!!this.incomingSession}_init({sipServerUrl:t,sipWebSocketServerURL:n}){this.getSipServerUrl=Zr(t),this.socket=new this.JsSIP.WebSocketInterface(n)}_generateStream(t,n){const{id:r}=t,s=this._remoteStreams[r]||new MediaStream;return n&&s.addTrack(n),s.addTrack(t),this._remoteStreams[r]=s,s}_generateAudioStream(t){const{id:n}=t,r=this._remoteStreams[n]||new MediaStream;return r.addTrack(t),this._remoteStreams[n]=r,r}_generateStreams(t){const n=[];return t.forEach((r,s)=>{if(r.kind==="audio")return;const o=r,i=t[s-1];let a;i&&i.kind==="audio"&&(a=i);const u=this._generateStream(o,a);n.push(u)}),n}_generateAudioStreams(t){return t.map(r=>this._generateAudioStream(r))}_cancelRequests(){this._cancelActionsRequests(),this._cancelCallRequests(),this._cancelConnectRequests()}_cancelConnectRequests(){this._cancelableConnect.cancelRequest()}_cancelCallRequests(){this._cancelableCall.cancelRequest(),this._cancelableAnswer.cancelRequest()}_cancelActionsRequests(){this._cancelableAnswer.cancelRequest(),this._cancelableSendDTMF.cancelRequest()}async waitChannels(){return this.waitSession(_e)}async waitSyncMediaState(){return this.waitSession(de)}async sendChannels({inputChannels:t,outputChannels:n}){if(!this.session)throw new Error("No session established");const r=`${Le}: ${t}`,s=`${Ue}: ${n}`,o=[r,s];return this.session.sendInfo(Or,void 0,{extraHeaders:o})}async sendMediaState({cam:t,mic:n},r={}){if(!this.session)throw new Error("No session established");const s=`${kr}: currentstate`,o=`${Hr}: ${Number(t)}`,i=`${xr}: ${Number(n)}`,a=[s,o,i];return this.session.sendInfo(Mr,void 0,{noTerminateWhenError:!0,...r,extraHeaders:a})}async _sendRefusalToTurnOn(t,n={}){if(!this.session)throw new Error("No session established");const a=[`${Br}: ${t==="mic"?0:1}`];return this.session.sendInfo(Pr,void 0,{noTerminateWhenError:!0,...n,extraHeaders:a})}async sendRefusalToTurnOnMic(t={}){if(!this.session)throw new Error("No session established");return this._sendRefusalToTurnOn("mic",{noTerminateWhenError:!0,...t})}async sendRefusalToTurnOnCam(t={}){if(!this.session)throw new Error("No session established");return this._sendRefusalToTurnOn("cam",{noTerminateWhenError:!0,...t})}}const on="purgatory",F=e=>e===on,pe=e=>()=>(_("getRemoteStreams"),e.getRemoteStreams()),bs=({kind:e,readyState:t})=>e==="video"&&t==="live",an=e=>({track:t})=>{bs(t)&&e()};var H=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function be(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ys(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var $=ys,Is=typeof H=="object"&&H&&H.Object===Object&&H,cn=Is,Os=cn,Ms=typeof self=="object"&&self&&self.Object===Object&&self,Ps=Os||Ms||Function("return this")(),K=Ps,Ds=K,ws=function(){return Ds.Date.now()},$s=ws,Ls=/\s/;function Us(e){for(var t=e.length;t--&&Ls.test(e.charAt(t)););return t}var Fs=Us,ks=Fs,Bs=/^\s+/;function Hs(e){return e&&e.slice(0,ks(e)+1).replace(Bs,"")}var xs=Hs,Ws=K,qs=Ws.Symbol,Q=qs,He=Q,un=Object.prototype,Vs=un.hasOwnProperty,js=un.toString,L=He?He.toStringTag:void 0;function Gs(e){var t=Vs.call(e,L),n=e[L];try{e[L]=void 0;var r=!0}catch{}var s=js.call(e);return r&&(t?e[L]=n:delete e[L]),s}var Ys=Gs,Xs=Object.prototype,zs=Xs.toString;function Js(e){return zs.call(e)}var Ks=Js,xe=Q,Qs=Ys,Zs=Ks,eo="[object Null]",to="[object Undefined]",We=xe?xe.toStringTag:void 0;function no(e){return e==null?e===void 0?to:eo:We&&We in Object(e)?Qs(e):Zs(e)}var Z=no;function ro(e){return e!=null&&typeof e=="object"}var B=ro,so=Z,oo=B,io="[object Symbol]";function ao(e){return typeof e=="symbol"||oo(e)&&so(e)==io}var ln=ao,co=xs,qe=$,uo=ln,Ve=0/0,lo=/^[-+]0x[0-9a-f]+$/i,_o=/^0b[01]+$/i,Eo=/^0o[0-7]+$/i,ho=parseInt;function fo(e){if(typeof e=="number")return e;if(uo(e))return Ve;if(qe(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=qe(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=co(e);var n=_o.test(e);return n||Eo.test(e)?ho(e.slice(2),n?2:8):lo.test(e)?Ve:+e}var So=fo,go=$,re=$s,je=So,To="Expected a function",Co=Math.max,mo=Math.min;function Ro(e,t,n){var r,s,o,i,a,u,l=0,d=!1,E=!1,h=!0;if(typeof e!="function")throw new TypeError(To);t=je(t)||0,go(n)&&(d=!!n.leading,E="maxWait"in n,o=E?Co(je(n.maxWait)||0,t):o,h="trailing"in n?!!n.trailing:h);function S(f){var R=r,p=s;return r=s=void 0,l=f,i=e.apply(p,R),i}function g(f){return l=f,a=setTimeout(A,t),d?S(f):i}function C(f){var R=f-u,p=f-l,P=t-R;return E?mo(P,o-p):P}function m(f){var R=f-u,p=f-l;return u===void 0||R>=t||R<0||E&&p>=o}function A(){var f=re();if(m(f))return b(f);a=setTimeout(A,C(f))}function b(f){return a=void 0,h&&r?S(f):(r=s=void 0,i)}function N(){a!==void 0&&clearTimeout(a),l=0,r=u=s=a=void 0}function v(){return a===void 0?i:b(re())}function y(){var f=re(),R=m(f);if(r=arguments,s=this,u=f,R){if(a===void 0)return g(u);if(E)return clearTimeout(a),a=setTimeout(A,t),S(u)}return a===void 0&&(a=setTimeout(A,t)),i}return y.cancel=N,y.flush=v,y}var No=Ro;const vo=be(No),ye=({getRemoteStreams:e,setRemoteStreams:t})=>vo(()=>{const n=e();_("remoteStreams",n),n&&t(n)},200),Ao=e=>async n=>{const{mediaStream:r,extraHeaders:s,iceServers:o,degradationPreference:i,setRemoteStreams:a,onBeforeProgressCall:u,onSuccessProgressCall:l,onEnterPurgatory:d,onEnterConference:E,onFailProgressCall:h,onFinishProgressCall:S,onEndedCall:g}=n,C=ye({setRemoteStreams:a,getRemoteStreams:pe(e)}),m=an(C);_("answerIncomingCall",n);const A=async()=>e.answerToIncomingCall({mediaStream:r,extraHeaders:s,iceServers:o,degradationPreference:i,ontrack:m}),b=()=>{const{remoteCallerData:T}=e;return T.incomingNumber};let N=!1,v;const f=(()=>(_("subscribeEnterConference: onEnterConference",E),d??E?e.onSession("enterRoom",T=>{_("enterRoom",{_room:T,isSuccessProgressCall:N}),v=T,F(v)?d&&d():E&&E({isSuccessProgressCall:N})}):()=>{}))(),R=T=>(_("onSuccess"),N=!0,C(),l&&l({isPurgatory:F(v)}),e.onceRaceSession(["ended","failed"],()=>{f(),g&&g()}),T),p=T=>{throw _("onFail"),h&&h(),f(),T},P=()=>{_("onFinish"),S&&S()};if(_("onBeforeProgressCall"),u){const T=b();u(T)}return A().then(R).catch(p).finally(P)},po=e=>async n=>{const{conference:r,mediaStream:s,extraHeaders:o,iceServers:i,degradationPreference:a,setRemoteStreams:u,onBeforeProgressCall:l,onSuccessProgressCall:d,onEnterPurgatory:E,onEnterConference:h,onFailProgressCall:S,onFinishProgressCall:g,onEndedCall:C}=n,m=ye({setRemoteStreams:u,getRemoteStreams:pe(e)}),A=an(m);_("callToServer",n);const b=async()=>(_("startCall"),e.call({mediaStream:s,extraHeaders:o,iceServers:i,degradationPreference:a,number:r,ontrack:A}));let N=!1,v;const f=(()=>(_("subscribeEnterConference: onEnterConference",h),E??h?e.onSession("enterRoom",T=>{_("enterRoom",{_room:T,isSuccessProgressCall:N}),v=T,F(v)?E&&E():h&&h({isSuccessProgressCall:N})}):()=>{}))(),R=T=>(_("onSuccess"),N=!0,m(),d&&d({isPurgatory:F(v)}),e.onceRaceSession(["ended","failed"],()=>{f(),C&&C()}),T),p=T=>{throw _("onFail"),S&&S(),f(),T},P=()=>{_("onFinish"),g&&g()};return _("onBeforeProgressCall"),l&&l(r),b().then(R).catch(p).finally(P)},se=e=>{if(!O.isCanceledError(e))throw e;return!1},bo=e=>async n=>{const{userAgent:r,sipWebSocketServerURL:s,sipServerUrl:o,remoteAddress:i,displayName:a,name:u,password:l,isRegisteredUser:d,sdpSemantics:E,isDisconnectOnFail:h}=n;return _("connectToServer",n),e.connect({userAgent:r,sdpSemantics:E,sipWebSocketServerURL:s,sipServerUrl:o,remoteAddress:i,displayName:a,password:l,user:u,register:d}).then(()=>(_("connectToServer then"),!0)).catch(async S=>(_("connectToServer catch: error",S),h===!0?e.disconnect().then(()=>se(S)).catch(()=>se(S)):se(S)))},yo=e=>async()=>(_("disconnectFromServer"),e.disconnect().then(()=>(_("disconnectFromServer: then"),!1)).catch(t=>(_("disconnectFromServer: catch",t),!1))),Ie=e=>{const{url:t,cause:n}=e;let r=t;return(n===me||n===Ce)&&(r=`${e.message.to.uri.user}@${e.message.to.uri.host}`),r};var _n=(e=>(e.CONNECT_SERVER_FAILED="CONNECT_SERVER_FAILED",e.WRONG_USER_OR_PASSWORD="WRONG_USER_OR_PASSWORD",e.BAD_MEDIA_ERROR="BAD_MEDIA_ERROR",e.NOT_FOUND_ERROR="NOT_FOUND_ERROR",e.WS_CONNECTION_FAILED="WS_CONNECTION_FAILED",e.CONNECT_SERVER_FAILED_BY_LINK="CONNECT_SERVER_FAILED_BY_LINK",e))(_n||{});const Io=(e=new Error)=>{var s;const{cause:t,socket:n}=e;let r="CONNECT_SERVER_FAILED";switch(t){case"Forbidden":{r="WRONG_USER_OR_PASSWORD";break}case me:{r="BAD_MEDIA_ERROR";break}case Ce:{r="NOT_FOUND_ERROR";break}default:n&&((s=n==null?void 0:n._ws)==null?void 0:s.readyState)===3?r="WS_CONNECTION_FAILED":Ie(e)&&(r="CONNECT_SERVER_FAILED_BY_LINK")}return r},Oo=(e=new Error)=>{const{code:t,cause:n,message:r}=e,s=Ie(e),o={};return r&&(o.message=r),s&&(o.link=s),t&&(o.code=t),n&&(o.cause=n),o},Mo=Object.freeze(Object.defineProperty({__proto__:null,EErrorTypes:_n,getLinkError:Ie,getTypeFromError:Io,getValuesFromError:Oo},Symbol.toStringTag,{value:"Module"})),Po=({sessionId:e,remoteAddress:t,isMutedAudio:n,isMutedVideo:r,isRegistered:s,isPresentationCall:o})=>{const i=[],a=n?"0":"1",u=r?"0":"1";return i.push(`X-Vinteo-Mic-State: ${a}`,`X-Vinteo-MainCam-State: ${u}`),s||i.push("X-Vinteo-Purgatory-Call: yes"),e&&i.push(`X-Vinteo-Session: ${e}`),o&&i.push("X-Vinteo-Presentation-Call: yes"),t&&i.push(`X-Vinteo-Remote: ${t}`),i},Do=({appName:e,appVersion:t,browserName:n,browserVersion:r})=>{const s=`${e} ${t}`;return`ChromeNew - ${n?`${n} ${r}, ${s}`:s}`},wo=({isUnifiedSdpSemantic:e,appVersion:t,browserName:n,browserVersion:r,appName:s})=>e?Do({appVersion:t,browserName:n,browserVersion:r,appName:s}):"Chrome",$o=e=>async()=>{if(e.isCallActive)return _("askPermissionToEnableCam"),e.askPermissionToEnableCam()},Lo=e=>n=>(_("onMustStopPresentation"),e.onSession("mustStopPresentation",n)),Uo=e=>n=>(_("onUseLicense"),e.onSession("useLicense",n)),Fo=e=>async({isEnabledCam:n,isEnabledMic:r})=>{if(e.isCallActive)return _("sendMediaState"),e.sendMediaState({cam:n,mic:r})},ko=e=>async()=>{if(e.isCallActive)return _("sendRefusalToTurnOnCam"),e.sendRefusalToTurnOnCam().catch(n=>{_("sendRefusalToTurnOnCam: error",n)})},Bo=e=>async()=>{if(e.isCallActive)return _("sendRefusalToTurnOnMic"),e.sendRefusalToTurnOnMic().catch(n=>{_("sendRefusalToTurnOnMic: error",n)})},Ho=1e6,xo=({maxBitrate:e=Ho,sipConnector:t})=>async({mediaStream:r,isP2P:s=!1})=>(_("startPresentation"),t.startPresentation(r,{isP2P:s,maxBitrate:e})),Wo=({sipConnector:e})=>async({isP2P:n=!1}={})=>(_("stopShareSipConnector"),e.stopPresentation({isP2P:n}).catch(_)),qo=1e6,Vo=({sipConnector:e,maxBitrate:t=qo})=>async({mediaStream:r,isP2P:s=!1})=>(_("updatePresentation"),e.updatePresentation(r,{isP2P:s,maxBitrate:t}));var jo=$,Ge=Object.create,Go=function(){function e(){}return function(t){if(!jo(t))return{};if(Ge)return Ge(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}(),dn=Go;function Yo(){}var Oe=Yo,Xo=dn,zo=Oe;function G(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=void 0}G.prototype=Xo(zo.prototype);G.prototype.constructor=G;var Me=G;function Jo(e,t){for(var n=-1,r=t.length,s=e.length;++n<r;)e[s+n]=t[n];return e}var Ko=Jo,Qo=Z,Zo=B,ei="[object Arguments]";function ti(e){return Zo(e)&&Qo(e)==ei}var ni=ti,Ye=ni,ri=B,En=Object.prototype,si=En.hasOwnProperty,oi=En.propertyIsEnumerable,ii=Ye(function(){return arguments}())?Ye:function(e){return ri(e)&&si.call(e,"callee")&&!oi.call(e,"callee")},ai=ii,ci=Array.isArray,ee=ci,Xe=Q,ui=ai,li=ee,ze=Xe?Xe.isConcatSpreadable:void 0;function _i(e){return li(e)||ui(e)||!!(ze&&e&&e[ze])}var di=_i,Ei=Ko,hi=di;function hn(e,t,n,r,s){var o=-1,i=e.length;for(n||(n=hi),s||(s=[]);++o<i;){var a=e[o];t>0&&n(a)?t>1?hn(a,t-1,n,r,s):Ei(s,a):r||(s[s.length]=a)}return s}var fi=hn,Si=fi;function gi(e){var t=e==null?0:e.length;return t?Si(e,1):[]}var Ti=gi;function Ci(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}var mi=Ci,Ri=mi,Je=Math.max;function Ni(e,t,n){return t=Je(t===void 0?e.length-1:t,0),function(){for(var r=arguments,s=-1,o=Je(r.length-t,0),i=Array(o);++s<o;)i[s]=r[t+s];s=-1;for(var a=Array(t+1);++s<t;)a[s]=r[s];return a[t]=n(i),Ri(e,this,a)}}var vi=Ni;function Ai(e){return function(){return e}}var pi=Ai,bi=Z,yi=$,Ii="[object AsyncFunction]",Oi="[object Function]",Mi="[object GeneratorFunction]",Pi="[object Proxy]";function Di(e){if(!yi(e))return!1;var t=bi(e);return t==Oi||t==Mi||t==Ii||t==Pi}var fn=Di,wi=K,$i=wi["__core-js_shared__"],Li=$i,oe=Li,Ke=function(){var e=/[^.]+$/.exec(oe&&oe.keys&&oe.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Ui(e){return!!Ke&&Ke in e}var Fi=Ui,ki=Function.prototype,Bi=ki.toString;function Hi(e){if(e!=null){try{return Bi.call(e)}catch{}try{return e+""}catch{}}return""}var xi=Hi,Wi=fn,qi=Fi,Vi=$,ji=xi,Gi=/[\\^$.*+?()[\]{}|]/g,Yi=/^\[object .+?Constructor\]$/,Xi=Function.prototype,zi=Object.prototype,Ji=Xi.toString,Ki=zi.hasOwnProperty,Qi=RegExp("^"+Ji.call(Ki).replace(Gi,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Zi(e){if(!Vi(e)||qi(e))return!1;var t=Wi(e)?Qi:Yi;return t.test(ji(e))}var ea=Zi;function ta(e,t){return e==null?void 0:e[t]}var na=ta,ra=ea,sa=na;function oa(e,t){var n=sa(e,t);return ra(n)?n:void 0}var Sn=oa,ia=Sn,aa=function(){try{var e=ia(Object,"defineProperty");return e({},"",{}),e}catch{}}(),ca=aa;function ua(e){return e}var la=ua,_a=pi,Qe=ca,da=la,Ea=Qe?function(e,t){return Qe(e,"toString",{configurable:!0,enumerable:!1,value:_a(t),writable:!0})}:da,ha=Ea,fa=800,Sa=16,ga=Date.now;function Ta(e){var t=0,n=0;return function(){var r=ga(),s=Sa-(r-n);if(n=r,s>0){if(++t>=fa)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var Ca=Ta,ma=ha,Ra=Ca,Na=Ra(ma),va=Na,Aa=Ti,pa=vi,ba=va;function ya(e){return ba(pa(e,void 0,Aa),e+"")}var Ia=ya,Oa=Sn,Ma=K,Pa=Oa(Ma,"WeakMap"),Da=Pa,Ze=Da,wa=Ze&&new Ze,$a=wa;function La(){}var Ua=La,et=$a,Fa=Ua,ka=et?function(e){return et.get(e)}:Fa,gn=ka,Ba={},Ha=Ba,tt=Ha,xa=Object.prototype,Wa=xa.hasOwnProperty;function qa(e){for(var t=e.name+"",n=tt[t],r=Wa.call(tt,t)?n.length:0;r--;){var s=n[r],o=s.func;if(o==null||o==e)return s.name}return t}var Tn=qa,Va=dn,ja=Oe,Ga=4294967295;function Y(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Ga,this.__views__=[]}Y.prototype=Va(ja.prototype);Y.prototype.constructor=Y;var Pe=Y;function Ya(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}var Xa=Ya,za=Pe,Ja=Me,Ka=Xa;function Qa(e){if(e instanceof za)return e.clone();var t=new Ja(e.__wrapped__,e.__chain__);return t.__actions__=Ka(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var Za=Qa,ec=Pe,nt=Me,tc=Oe,nc=ee,rc=B,sc=Za,oc=Object.prototype,ic=oc.hasOwnProperty;function X(e){if(rc(e)&&!nc(e)&&!(e instanceof ec)){if(e instanceof nt)return e;if(ic.call(e,"__wrapped__"))return sc(e)}return new nt(e)}X.prototype=tc.prototype;X.prototype.constructor=X;var ac=X,cc=Pe,uc=gn,lc=Tn,_c=ac;function dc(e){var t=lc(e),n=_c[t];if(typeof n!="function"||!(t in cc.prototype))return!1;if(e===n)return!0;var r=uc(n);return!!r&&e===r[0]}var Ec=dc,rt=Me,hc=Ia,fc=gn,ie=Tn,Sc=ee,st=Ec,gc="Expected a function",Tc=8,Cc=32,mc=128,Rc=256;function Nc(e){return hc(function(t){var n=t.length,r=n,s=rt.prototype.thru;for(e&&t.reverse();r--;){var o=t[r];if(typeof o!="function")throw new TypeError(gc);if(s&&!i&&ie(o)=="wrapper")var i=new rt([],!0)}for(r=i?r:n;++r<n;){o=t[r];var a=ie(o),u=a=="wrapper"?fc(o):void 0;u&&st(u[0])&&u[1]==(mc|Tc|Cc|Rc)&&!u[4].length&&u[9]==1?i=i[ie(u[0])].apply(i,u[3]):i=o.length==1&&st(o)?i[a]():i.thru(o)}return function(){var l=arguments,d=l[0];if(i&&l.length==1&&Sc(d))return i.plant(d).value();for(var E=0,h=n?t[E].apply(this,l):d;++E<n;)h=t[E].call(this,h);return h}})}var vc=Nc,Ac=vc,pc=Ac(),bc=pc;const yc=be(bc);function Ic(e,t){for(var n=-1,r=e==null?0:e.length,s=Array(r);++n<r;)s[n]=t(e[n],n,e);return s}var Oc=Ic,ot=Q,Mc=Oc,Pc=ee,Dc=ln,wc=1/0,it=ot?ot.prototype:void 0,at=it?it.toString:void 0;function Cn(e){if(typeof e=="string")return e;if(Pc(e))return Mc(e,Cn)+"";if(Dc(e))return at?at.call(e):"";var t=e+"";return t=="0"&&1/e==-wc?"-0":t}var mn=Cn;function $c(e,t,n){var r=-1,s=e.length;t<0&&(t=-t>s?0:s+t),n=n>s?s:n,n<0&&(n+=s),s=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(s);++r<s;)o[r]=e[r+t];return o}var Lc=$c,Uc=Lc;function Fc(e,t,n){var r=e.length;return n=n===void 0?r:n,!t&&n>=r?e:Uc(e,t,n)}var kc=Fc,Bc="\\ud800-\\udfff",Hc="\\u0300-\\u036f",xc="\\ufe20-\\ufe2f",Wc="\\u20d0-\\u20ff",qc=Hc+xc+Wc,Vc="\\ufe0e\\ufe0f",jc="\\u200d",Gc=RegExp("["+jc+Bc+qc+Vc+"]");function Yc(e){return Gc.test(e)}var Rn=Yc;function Xc(e,t){return e===t||e!==e&&t!==t}var zc=Xc,Jc=9007199254740991;function Kc(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Jc}var Qc=Kc,Zc=fn,eu=Qc;function tu(e){return e!=null&&eu(e.length)&&!Zc(e)}var nu=tu,ru=9007199254740991,su=/^(?:0|[1-9]\d*)$/;function ou(e,t){var n=typeof e;return t=t??ru,!!t&&(n=="number"||n!="symbol"&&su.test(e))&&e>-1&&e%1==0&&e<t}var iu=ou,au=zc,cu=nu,uu=iu,lu=$;function _u(e,t,n){if(!lu(n))return!1;var r=typeof t;return(r=="number"?cu(n)&&uu(t,n.length):r=="string"&&t in n)?au(n[t],e):!1}var du=_u,Eu=Z,hu=B,fu="[object RegExp]";function Su(e){return hu(e)&&Eu(e)==fu}var gu=Su;function Tu(e){return function(t){return e(t)}}var Cu=Tu,z={exports:{}};z.exports;(function(e,t){var n=cn,r=t&&!t.nodeType&&t,s=r&&!0&&e&&!e.nodeType&&e,o=s&&s.exports===r,i=o&&n.process,a=function(){try{var u=s&&s.require&&s.require("util").types;return u||i&&i.binding&&i.binding("util")}catch{}}();e.exports=a})(z,z.exports);var mu=z.exports,Ru=gu,Nu=Cu,ct=mu,ut=ct&&ct.isRegExp,vu=ut?Nu(ut):Ru,Au=vu;function pu(e){return e.split("")}var bu=pu,Nn="\\ud800-\\udfff",yu="\\u0300-\\u036f",Iu="\\ufe20-\\ufe2f",Ou="\\u20d0-\\u20ff",Mu=yu+Iu+Ou,Pu="\\ufe0e\\ufe0f",Du="["+Nn+"]",ge="["+Mu+"]",Te="\\ud83c[\\udffb-\\udfff]",wu="(?:"+ge+"|"+Te+")",vn="[^"+Nn+"]",An="(?:\\ud83c[\\udde6-\\uddff]){2}",pn="[\\ud800-\\udbff][\\udc00-\\udfff]",$u="\\u200d",bn=wu+"?",yn="["+Pu+"]?",Lu="(?:"+$u+"(?:"+[vn,An,pn].join("|")+")"+yn+bn+")*",Uu=yn+bn+Lu,Fu="(?:"+[vn+ge+"?",ge,An,pn,Du].join("|")+")",ku=RegExp(Te+"(?="+Te+")|"+Fu+Uu,"g");function Bu(e){return e.match(ku)||[]}var Hu=Bu,xu=bu,Wu=Rn,qu=Hu;function Vu(e){return Wu(e)?qu(e):xu(e)}var ju=Vu,Gu=mn;function Yu(e){return e==null?"":Gu(e)}var Xu=Yu,zu=mn,Ju=kc,Ku=Rn,Qu=du,Zu=Au,el=ju,tl=Xu,nl=4294967295;function rl(e,t,n){return n&&typeof n!="number"&&Qu(e,t,n)&&(t=n=void 0),n=n===void 0?nl:n>>>0,n?(e=tl(e),e&&(typeof t=="string"||t!=null&&!Zu(t))&&(t=zu(t),!t&&Ku(e))?Ju(el(e),0,n):e.split(t,n)):[]}var sl=rl;const ol=be(sl),il=e=>yc(t=>ol(t,""),t=>t.map(n=>async()=>e(n))),al=async({accumulatedKeys:e,sendKey:t,canRunTask:n})=>{const s=il(t)(e);return Un(s,n)},cl=e=>n=>(_("onStartMainCam"),e.onSession("admin-start-main-cam",n)),ul=e=>n=>(_("onStartMic"),e.onSession("admin-start-mic",n)),ll=e=>n=>(_("onStopMainCam"),e.onSession("admin-stop-main-cam",n)),_l=e=>n=>(_("onStopMic"),e.onSession("admin-stop-mic",n)),dl=({sipConnector:e})=>{const t=(g,C)=>({isSyncForced:m=!1})=>{if(m){g();return}C()},n=cl(e),r=ll(e),s=ul(e),o=_l(e);let i=()=>{},a=()=>{},u=()=>{},l=()=>{};const d=({onStartMainCamForced:g,onStartMainCamNotForced:C,onStopMainCamForced:m,onStopMainCamNotForced:A,onStartMicForced:b,onStartMicNotForced:N,onStopMicForced:v,onStopMicNotForced:y})=>{const f=t(g,C);i=n(f);const R=t(m,A);a=r(R);const p=t(b,N);u=s(p);const P=t(v,y);l=o(P)},E=()=>{i(),a(),u(),l()};return{start:g=>{d(g)},stop:()=>{E()}}},El=Object.freeze(Object.defineProperty({__proto__:null,PURGATORY_CONFERENCE_NUMBER:on,createSyncMediaState:dl,error:Mo,getExtraHeaders:Po,getUserAgent:wo,hasPurgatory:F,resolveAnswerIncomingCall:Ao,resolveAskPermissionToEnableCam:$o,resolveCallToServer:po,resolveConnectToServer:bo,resolveDisconnectFromServer:yo,resolveGetRemoteStreams:pe,resolveOnMustStopPresentation:Lo,resolveOnUseLicense:Uo,resolveSendMediaState:Fo,resolveSendRefusalToTurnOnCam:ko,resolveSendRefusalToTurnOnMic:Bo,resolveStartPresentation:xo,resolveStopShareSipConnector:Wo,resolveUpdatePresentation:Vo,resolveUpdateRemoteStreams:ye,sendDTMFAccumulated:al},Symbol.toStringTag,{value:"Module"})),hl=e=>[...e.keys()].map(t=>e.get(t)),fl=(e,t)=>hl(e).find(n=>n.type===t),In=async e=>e.getStats().then(t=>{const n=fl(t,"codec");return n==null?void 0:n.mimeType}),Sl=e=>e.find(t=>{var n;return((n=t==null?void 0:t.track)==null?void 0:n.kind)==="video"}),On=(e,t)=>e!==void 0&&t!==void 0&&e.toLowerCase().includes(t.toLowerCase()),gl=1e6,I=e=>e*gl,Mn=I(.06),Tl=I(4),Cl=e=>e<=64?Mn:e<=128?I(.12):e<=256?I(.25):e<=384?I(.32):e<=426?I(.38):e<=640?I(.5):e<=848?I(.7):e<=1280?I(1):e<=1920?I(2):Tl,ml="av1",Rl=e=>On(e,ml),Nl=.6,Pn=(e,t)=>Rl(t)?e*Nl:e,vl=e=>Pn(Mn,e),Dn=(e,t)=>{const n=Cl(e);return Pn(n,t)},wn=Fn(),Al=async()=>wn().catch(e=>{_("videoSendingBalancer: error",e)}),pl=async e=>(wn.add(e),Al()),De=async({sender:e,scaleResolutionDownBy:t,maxBitrate:n,onSetParameters:r})=>pl(async()=>sn(e,{scaleResolutionDownBy:t,maxBitrate:n},r)),bl=async({sender:e,codec:t},n)=>{const s=vl(t);return De({sender:e,maxBitrate:s,onSetParameters:n,scaleResolutionDownBy:200})},ae=async({sender:e,track:t,codec:n},r)=>{const i=t.getSettings().width,a=Dn(i,n);return De({sender:e,maxBitrate:a,onSetParameters:r,scaleResolutionDownBy:1})},yl=async({sender:e,track:t,resolution:n,codec:r},s)=>{const o=t.getSettings(),i=o.width,a=o.height,[u,l]=n.split("x"),d=i/Number(u),E=a/Number(l),S=Math.max(d,E,1),g=Dn(Number(u),r);return De({sender:e,maxBitrate:g,onSetParameters:s,scaleResolutionDownBy:S})},Il=async({mainCam:e,resolutionMainCam:t,sender:n,track:r,codec:s},o)=>{switch(e){case M.PAUSE_MAIN_CAM:return bl({sender:n,codec:s},o);case M.RESUME_MAIN_CAM:return ae({sender:n,track:r,codec:s},o);case M.MAX_MAIN_CAM_RESOLUTION:return t!==void 0?yl({sender:n,track:r,codec:s,resolution:t},o):ae({sender:n,track:r,codec:s},o);default:return ae({sender:n,track:r,codec:s},o)}},lt={isChanged:!1,parameters:{encodings:[{}],transactionId:"0",codecs:[],headerExtensions:[],rtcp:{}}},_t=async({mainCam:e,resolutionMainCam:t,connection:n,onSetParameters:r,ignoreForCodec:s})=>{const o=n.getSenders(),i=Sl(o);if(!(i!=null&&i.track))return lt;const a=await In(i);return On(a,s)?lt:Il({mainCam:e,resolutionMainCam:t,sender:i,codec:a,track:i.track},r)},Ol=(e,{ignoreForCodec:t,onSetParameters:n}={})=>{const r=async()=>{const{connection:u}=e;if(!u)throw new Error("connection is not exist");return _t({connection:u,onSetParameters:n,ignoreForCodec:t})};let s=r;const o=async u=>(s=async()=>{const{mainCam:l,resolutionMainCam:d}=u,{connection:E}=e;if(!E)throw new Error("connection is not exist");return _t({mainCam:l,resolutionMainCam:d,connection:E,onSetParameters:n,ignoreForCodec:t})},s());return{subscribe:()=>{e.onSession("main-cam-control",o)},unsubscribe:()=>{e.offSession("main-cam-control",o)},balanceByTrack:r,resetMainCamControl(){s=r},async reBalance(){return s()}}};exports.debug=J;exports.EEventsMainCAM=M;exports.EEventsMic=V;exports.EEventsSyncMediaState=j;exports.EUseLicense=tn;exports.causes=tr;exports.default=ps;exports.disableDebug=Qr;exports.enableDebug=Kr;exports.eventNames=Ar;exports.getCodecFromSender=In;exports.hasCanceledCallError=Es;exports.resolveVideoSendingBalancer=Ol;exports.tools=El;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import * as tools from './tools';
|
|
6
|
-
import * as eventNames from './eventNames';
|
|
1
|
+
import SipConnector from './SipConnector';
|
|
2
|
+
export { hasCanceledCallError } from './SipConnector';
|
|
3
|
+
export * as causes from './causes';
|
|
4
|
+
export * as eventNames from './eventNames';
|
|
7
5
|
export { debug, disableDebug, enableDebug } from './logger';
|
|
8
|
-
export
|
|
6
|
+
export * as tools from './tools';
|
|
7
|
+
export * from './types';
|
|
8
|
+
export { default as getCodecFromSender } from './utils/getCodecFromSender';
|
|
9
|
+
export { default as resolveVideoSendingBalancer } from './videoSendingBalancer';
|
|
9
10
|
export default SipConnector;
|
|
10
|
-
//# sourceMappingURL=index.d.ts.map
|