sip-connector 6.13.3 → 6.14.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/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es5.js +1 -1
- package/dist/index.es5.js.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/dist/logger.d.ts +7 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +21 -0
- package/dist/logger.js.map +1 -0
- package/dist/tools/__fixtures__/call.d.ts +11 -0
- package/dist/tools/__fixtures__/call.d.ts.map +1 -0
- package/dist/tools/__fixtures__/call.js +38 -0
- package/dist/tools/__fixtures__/call.js.map +1 -0
- package/dist/tools/__fixtures__/connectToServer.d.ts +151 -0
- package/dist/tools/__fixtures__/connectToServer.d.ts.map +1 -0
- package/dist/tools/__fixtures__/connectToServer.js +35 -0
- package/dist/tools/__fixtures__/connectToServer.js.map +1 -0
- package/dist/tools/__fixtures__/hasValidUri.d.ts +10 -0
- package/dist/tools/__fixtures__/hasValidUri.d.ts.map +1 -0
- package/dist/tools/__fixtures__/hasValidUri.js +14 -0
- package/dist/tools/__fixtures__/hasValidUri.js.map +1 -0
- package/dist/tools/__fixtures__/permissions.d.ts +9 -0
- package/dist/tools/__fixtures__/permissions.d.ts.map +1 -0
- package/dist/tools/__fixtures__/permissions.js +15 -0
- package/dist/tools/__fixtures__/permissions.js.map +1 -0
- package/dist/tools/__fixtures__/processRequest.d.ts +4 -0
- package/dist/tools/__fixtures__/processRequest.d.ts.map +1 -0
- package/dist/tools/__fixtures__/processRequest.js +71 -0
- package/dist/tools/__fixtures__/processRequest.js.map +1 -0
- package/dist/tools/__tests-utils__/parseObject.d.ts +4 -0
- package/dist/tools/__tests-utils__/parseObject.d.ts.map +1 -0
- package/dist/tools/__tests-utils__/parseObject.js +27 -0
- package/dist/tools/__tests-utils__/parseObject.js.map +1 -0
- package/dist/tools/__tests-utils__/resolveParseArray.d.ts +3 -0
- package/dist/tools/__tests-utils__/resolveParseArray.d.ts.map +1 -0
- package/dist/tools/__tests-utils__/resolveParseArray.js +17 -0
- package/dist/tools/__tests-utils__/resolveParseArray.js.map +1 -0
- package/dist/tools/answerIncomingCall.d.ts +22 -0
- package/dist/tools/answerIncomingCall.d.ts.map +1 -0
- package/dist/tools/answerIncomingCall.js +94 -0
- package/dist/tools/answerIncomingCall.js.map +1 -0
- package/dist/tools/callToServer.d.ts +23 -0
- package/dist/tools/callToServer.d.ts.map +1 -0
- package/dist/tools/callToServer.js +90 -0
- package/dist/tools/callToServer.js.map +1 -0
- package/dist/tools/connectToServer.d.ts +15 -0
- package/dist/tools/connectToServer.d.ts.map +1 -0
- package/dist/tools/connectToServer.js +52 -0
- package/dist/tools/connectToServer.js.map +1 -0
- package/dist/tools/disconnectFromServer.d.ts +4 -0
- package/dist/tools/disconnectFromServer.d.ts.map +1 -0
- package/dist/tools/disconnectFromServer.js +23 -0
- package/dist/tools/disconnectFromServer.js.map +1 -0
- package/dist/tools/error/getLinkError.d.ts +4 -0
- package/dist/tools/error/getLinkError.d.ts.map +1 -0
- package/dist/tools/error/getLinkError.js +36 -0
- package/dist/tools/error/getLinkError.js.map +1 -0
- package/dist/tools/error/getTypeFromError.d.ts +12 -0
- package/dist/tools/error/getTypeFromError.d.ts.map +1 -0
- package/dist/tools/error/getTypeFromError.js +63 -0
- package/dist/tools/error/getTypeFromError.js.map +1 -0
- package/dist/tools/error/getValuesFromError.d.ts +10 -0
- package/dist/tools/error/getValuesFromError.d.ts.map +1 -0
- package/dist/tools/error/getValuesFromError.js +26 -0
- package/dist/tools/error/getValuesFromError.js.map +1 -0
- package/dist/tools/error/index.d.ts +5 -0
- package/dist/tools/error/index.d.ts.map +1 -0
- package/dist/tools/error/index.js +13 -0
- package/dist/tools/error/index.js.map +1 -0
- package/dist/tools/hasPurgatory.d.ts +4 -0
- package/dist/tools/hasPurgatory.d.ts.map +1 -0
- package/dist/tools/hasPurgatory.js +9 -0
- package/dist/tools/hasPurgatory.js.map +1 -0
- package/dist/tools/index.d.ts +20 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +66 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/resolveAskPermissionToEnableCam.d.ts +4 -0
- package/dist/tools/resolveAskPermissionToEnableCam.d.ts.map +1 -0
- package/dist/tools/resolveAskPermissionToEnableCam.js +18 -0
- package/dist/tools/resolveAskPermissionToEnableCam.js.map +1 -0
- package/dist/tools/resolveGetRemoteStreams.d.ts +4 -0
- package/dist/tools/resolveGetRemoteStreams.d.ts.map +1 -0
- package/dist/tools/resolveGetRemoteStreams.js +15 -0
- package/dist/tools/resolveGetRemoteStreams.js.map +1 -0
- package/dist/tools/resolveHandleChangeTracks.d.ts +5 -0
- package/dist/tools/resolveHandleChangeTracks.d.ts.map +1 -0
- package/dist/tools/resolveHandleChangeTracks.js +14 -0
- package/dist/tools/resolveHandleChangeTracks.js.map +1 -0
- package/dist/tools/resolveOnMustStopPresentation.d.ts +4 -0
- package/dist/tools/resolveOnMustStopPresentation.d.ts.map +1 -0
- package/dist/tools/resolveOnMustStopPresentation.js +15 -0
- package/dist/tools/resolveOnMustStopPresentation.js.map +1 -0
- package/dist/tools/resolveOnUseLicense.d.ts +5 -0
- package/dist/tools/resolveOnUseLicense.d.ts.map +1 -0
- package/dist/tools/resolveOnUseLicense.js +15 -0
- package/dist/tools/resolveOnUseLicense.js.map +1 -0
- package/dist/tools/resolveSendMediaState.d.ts +7 -0
- package/dist/tools/resolveSendMediaState.d.ts.map +1 -0
- package/dist/tools/resolveSendMediaState.js +18 -0
- package/dist/tools/resolveSendMediaState.js.map +1 -0
- package/dist/tools/resolveSendRefusalToTurnOnCam.d.ts +4 -0
- package/dist/tools/resolveSendRefusalToTurnOnCam.d.ts.map +1 -0
- package/dist/tools/resolveSendRefusalToTurnOnCam.js +20 -0
- package/dist/tools/resolveSendRefusalToTurnOnCam.js.map +1 -0
- package/dist/tools/resolveSendRefusalToTurnOnMic.d.ts +4 -0
- package/dist/tools/resolveSendRefusalToTurnOnMic.d.ts.map +1 -0
- package/dist/tools/resolveSendRefusalToTurnOnMic.js +20 -0
- package/dist/tools/resolveSendRefusalToTurnOnMic.js.map +1 -0
- package/dist/tools/resolveStartPresentation.d.ts +10 -0
- package/dist/tools/resolveStartPresentation.d.ts.map +1 -0
- package/dist/tools/resolveStartPresentation.js +19 -0
- package/dist/tools/resolveStartPresentation.js.map +1 -0
- package/dist/tools/resolveStopShareSipConnector.d.ts +8 -0
- package/dist/tools/resolveStopShareSipConnector.d.ts.map +1 -0
- package/dist/tools/resolveStopShareSipConnector.js +19 -0
- package/dist/tools/resolveStopShareSipConnector.js.map +1 -0
- package/dist/tools/resolveUpdatePresentation.d.ts +10 -0
- package/dist/tools/resolveUpdatePresentation.d.ts.map +1 -0
- package/dist/tools/resolveUpdatePresentation.js +19 -0
- package/dist/tools/resolveUpdatePresentation.js.map +1 -0
- package/dist/tools/resolveUpdateRemoteStreams.d.ts +6 -0
- package/dist/tools/resolveUpdateRemoteStreams.d.ts.map +1 -0
- package/dist/tools/resolveUpdateRemoteStreams.js +18 -0
- package/dist/tools/resolveUpdateRemoteStreams.js.map +1 -0
- package/dist/tools/sendDTMFAccumulated.d.ts +10 -0
- package/dist/tools/sendDTMFAccumulated.d.ts.map +1 -0
- package/dist/tools/sendDTMFAccumulated.js +26 -0
- package/dist/tools/sendDTMFAccumulated.js.map +1 -0
- package/dist/tools/syncMediaState/index.d.ts +19 -0
- package/dist/tools/syncMediaState/index.d.ts.map +1 -0
- package/dist/tools/syncMediaState/index.js +55 -0
- package/dist/tools/syncMediaState/index.js.map +1 -0
- package/dist/tools/syncMediaState/resolveOnStartMainCam.d.ts +6 -0
- package/dist/tools/syncMediaState/resolveOnStartMainCam.d.ts.map +1 -0
- package/dist/tools/syncMediaState/resolveOnStartMainCam.js +15 -0
- package/dist/tools/syncMediaState/resolveOnStartMainCam.js.map +1 -0
- package/dist/tools/syncMediaState/resolveOnStartMic.d.ts +6 -0
- package/dist/tools/syncMediaState/resolveOnStartMic.d.ts.map +1 -0
- package/dist/tools/syncMediaState/resolveOnStartMic.js +15 -0
- package/dist/tools/syncMediaState/resolveOnStartMic.js.map +1 -0
- package/dist/tools/syncMediaState/resolveOnStopMainCam.d.ts +6 -0
- package/dist/tools/syncMediaState/resolveOnStopMainCam.d.ts.map +1 -0
- package/dist/tools/syncMediaState/resolveOnStopMainCam.js +15 -0
- package/dist/tools/syncMediaState/resolveOnStopMainCam.js.map +1 -0
- package/dist/tools/syncMediaState/resolveOnStopMic.d.ts +6 -0
- package/dist/tools/syncMediaState/resolveOnStopMic.d.ts.map +1 -0
- package/dist/tools/syncMediaState/resolveOnStopMic.js +15 -0
- package/dist/tools/syncMediaState/resolveOnStopMic.js.map +1 -0
- package/package.json +8 -9
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const logger_1 = __importDefault(require("../logger"));
|
|
7
|
+
const hasPurgatory_1 = __importDefault(require("./hasPurgatory"));
|
|
8
|
+
const resolveGetRemoteStreams_1 = __importDefault(require("./resolveGetRemoteStreams"));
|
|
9
|
+
const resolveHandleChangeTracks_1 = __importDefault(require("./resolveHandleChangeTracks"));
|
|
10
|
+
const resolveUpdateRemoteStreams_1 = __importDefault(require("./resolveUpdateRemoteStreams"));
|
|
11
|
+
const resolveAnswerIncomingCall = (sipConnector) => {
|
|
12
|
+
const answerIncomingCall = (params) => {
|
|
13
|
+
const { mediaStream, extraHeaders, iceServers, degradationPreference, setRemoteStreams, onBeforeProgressCall, onSuccessProgressCall, onEnterPurgatory, onEnterConference, onFailProgressCall, onFinishProgressCall, onEndedCall, } = params;
|
|
14
|
+
const updateRemoteStreams = (0, resolveUpdateRemoteStreams_1.default)({
|
|
15
|
+
setRemoteStreams,
|
|
16
|
+
getRemoteStreams: (0, resolveGetRemoteStreams_1.default)(sipConnector),
|
|
17
|
+
});
|
|
18
|
+
const handleChangeTracks = (0, resolveHandleChangeTracks_1.default)(updateRemoteStreams);
|
|
19
|
+
(0, logger_1.default)('answerIncomingCall', params);
|
|
20
|
+
const answer = () => {
|
|
21
|
+
return sipConnector.answerToIncomingCall({
|
|
22
|
+
mediaStream,
|
|
23
|
+
extraHeaders,
|
|
24
|
+
iceServers,
|
|
25
|
+
degradationPreference,
|
|
26
|
+
ontrack: handleChangeTracks,
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
const getIncomingNumber = () => {
|
|
30
|
+
const { remoteCallerData } = sipConnector;
|
|
31
|
+
const { incomingNumber } = remoteCallerData;
|
|
32
|
+
return incomingNumber;
|
|
33
|
+
};
|
|
34
|
+
let isSuccessProgressCall = false;
|
|
35
|
+
let room;
|
|
36
|
+
const subscribeEnterConference = () => {
|
|
37
|
+
(0, logger_1.default)('subscribeEnterConference: onEnterConference', onEnterConference);
|
|
38
|
+
if (onEnterPurgatory || onEnterConference) {
|
|
39
|
+
return sipConnector.onSession('enterRoom', (_room) => {
|
|
40
|
+
(0, logger_1.default)('enterRoom', { _room, isSuccessProgressCall });
|
|
41
|
+
room = _room;
|
|
42
|
+
if ((0, hasPurgatory_1.default)(room)) {
|
|
43
|
+
if (onEnterPurgatory) {
|
|
44
|
+
onEnterPurgatory();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else if (onEnterConference) {
|
|
48
|
+
onEnterConference({ isSuccessProgressCall });
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
return () => { };
|
|
53
|
+
};
|
|
54
|
+
const unsubscribeEnterConference = subscribeEnterConference();
|
|
55
|
+
const onSuccess = (peerConnection) => {
|
|
56
|
+
(0, logger_1.default)('onSuccess');
|
|
57
|
+
isSuccessProgressCall = true;
|
|
58
|
+
updateRemoteStreams();
|
|
59
|
+
if (onSuccessProgressCall) {
|
|
60
|
+
onSuccessProgressCall({ isPurgatory: (0, hasPurgatory_1.default)(room) });
|
|
61
|
+
}
|
|
62
|
+
sipConnector.onceRaceSession(['ended', 'failed'], () => {
|
|
63
|
+
unsubscribeEnterConference();
|
|
64
|
+
if (onEndedCall) {
|
|
65
|
+
onEndedCall();
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
return peerConnection;
|
|
69
|
+
};
|
|
70
|
+
const onFail = (error) => {
|
|
71
|
+
(0, logger_1.default)('onFail');
|
|
72
|
+
if (onFailProgressCall) {
|
|
73
|
+
onFailProgressCall();
|
|
74
|
+
}
|
|
75
|
+
unsubscribeEnterConference();
|
|
76
|
+
throw error;
|
|
77
|
+
};
|
|
78
|
+
const onFinish = () => {
|
|
79
|
+
(0, logger_1.default)('onFinish');
|
|
80
|
+
if (onFinishProgressCall) {
|
|
81
|
+
onFinishProgressCall();
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
(0, logger_1.default)('onBeforeProgressCall');
|
|
85
|
+
if (onBeforeProgressCall) {
|
|
86
|
+
const conference = getIncomingNumber();
|
|
87
|
+
onBeforeProgressCall(conference);
|
|
88
|
+
}
|
|
89
|
+
return answer().then(onSuccess).catch(onFail).finally(onFinish);
|
|
90
|
+
};
|
|
91
|
+
return answerIncomingCall;
|
|
92
|
+
};
|
|
93
|
+
exports.default = resolveAnswerIncomingCall;
|
|
94
|
+
//# sourceMappingURL=answerIncomingCall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"answerIncomingCall.js","sourceRoot":"","sources":["../../src/tools/answerIncomingCall.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type SipConnector from '../SipConnector';
|
|
2
|
+
type TDegradationPreference = 'maintain-framerate' | 'maintain-resolution' | 'balanced';
|
|
3
|
+
declare const resolveCallToServer: (sipConnector: SipConnector) => (params: {
|
|
4
|
+
conference: string;
|
|
5
|
+
mediaStream: MediaStream;
|
|
6
|
+
extraHeaders?: string[] | undefined;
|
|
7
|
+
iceServers?: RTCIceServer[] | undefined;
|
|
8
|
+
degradationPreference?: TDegradationPreference | undefined;
|
|
9
|
+
setRemoteStreams: (streams: MediaStream[]) => void;
|
|
10
|
+
onBeforeProgressCall?: ((conference: string) => void) | undefined;
|
|
11
|
+
onSuccessProgressCall?: ((params: {
|
|
12
|
+
isPurgatory: boolean;
|
|
13
|
+
}) => void) | undefined;
|
|
14
|
+
onEnterPurgatory?: (() => void) | undefined;
|
|
15
|
+
onEnterConference?: ((params: {
|
|
16
|
+
isSuccessProgressCall: boolean;
|
|
17
|
+
}) => void) | undefined;
|
|
18
|
+
onFailProgressCall?: (() => void) | undefined;
|
|
19
|
+
onFinishProgressCall?: (() => void) | undefined;
|
|
20
|
+
onEndedCall?: (() => void) | undefined;
|
|
21
|
+
}) => Promise<RTCPeerConnection>;
|
|
22
|
+
export default resolveCallToServer;
|
|
23
|
+
//# sourceMappingURL=callToServer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callToServer.d.ts","sourceRoot":"","sources":["../../src/tools/callToServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAOhD,KAAK,sBAAsB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,UAAU,CAAC;AAExF,QAAA,MAAM,mBAAmB,iBAAkB,YAAY;gBAEvC,MAAM;iBACL,WAAW;mBACT,MAAM,EAAE,GAAG,SAAS;;;gCAGP,WAAW,EAAE,KAAK,IAAI;yCACd,MAAM,KAAK,IAAI;sCAClB;QAAE,WAAW,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI;8BACzC,IAAI;kCACA;QAAE,qBAAqB,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI;gCAC7C,IAAI;kCACF,IAAI;yBACb,IAAI;MACtB,QAAQ,iBAAiB,CAkH9B,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const logger_1 = __importDefault(require("../logger"));
|
|
7
|
+
const hasPurgatory_1 = __importDefault(require("./hasPurgatory"));
|
|
8
|
+
const resolveGetRemoteStreams_1 = __importDefault(require("./resolveGetRemoteStreams"));
|
|
9
|
+
const resolveHandleChangeTracks_1 = __importDefault(require("./resolveHandleChangeTracks"));
|
|
10
|
+
const resolveUpdateRemoteStreams_1 = __importDefault(require("./resolveUpdateRemoteStreams"));
|
|
11
|
+
const resolveCallToServer = (sipConnector) => {
|
|
12
|
+
const callToServer = (params) => {
|
|
13
|
+
const { conference, mediaStream, extraHeaders, iceServers, degradationPreference, setRemoteStreams, onBeforeProgressCall, onSuccessProgressCall, onEnterPurgatory, onEnterConference, onFailProgressCall, onFinishProgressCall, onEndedCall, } = params;
|
|
14
|
+
const updateRemoteStreams = (0, resolveUpdateRemoteStreams_1.default)({
|
|
15
|
+
setRemoteStreams,
|
|
16
|
+
getRemoteStreams: (0, resolveGetRemoteStreams_1.default)(sipConnector),
|
|
17
|
+
});
|
|
18
|
+
const handleChangeTracks = (0, resolveHandleChangeTracks_1.default)(updateRemoteStreams);
|
|
19
|
+
(0, logger_1.default)('callToServer', params);
|
|
20
|
+
const startCall = () => {
|
|
21
|
+
(0, logger_1.default)('startCall');
|
|
22
|
+
return sipConnector.call({
|
|
23
|
+
mediaStream,
|
|
24
|
+
extraHeaders,
|
|
25
|
+
iceServers,
|
|
26
|
+
degradationPreference,
|
|
27
|
+
number: conference,
|
|
28
|
+
ontrack: handleChangeTracks,
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
let isSuccessProgressCall = false;
|
|
32
|
+
let room;
|
|
33
|
+
const subscribeEnterConference = () => {
|
|
34
|
+
(0, logger_1.default)('subscribeEnterConference: onEnterConference', onEnterConference);
|
|
35
|
+
if (onEnterPurgatory || onEnterConference) {
|
|
36
|
+
return sipConnector.onSession('enterRoom', (_room) => {
|
|
37
|
+
(0, logger_1.default)('enterRoom', { _room, isSuccessProgressCall });
|
|
38
|
+
room = _room;
|
|
39
|
+
if ((0, hasPurgatory_1.default)(room)) {
|
|
40
|
+
if (onEnterPurgatory) {
|
|
41
|
+
onEnterPurgatory();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
else if (onEnterConference) {
|
|
45
|
+
onEnterConference({ isSuccessProgressCall });
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return () => { };
|
|
50
|
+
};
|
|
51
|
+
const unsubscribeEnterConference = subscribeEnterConference();
|
|
52
|
+
const onSuccess = (peerConnection) => {
|
|
53
|
+
(0, logger_1.default)('onSuccess');
|
|
54
|
+
isSuccessProgressCall = true;
|
|
55
|
+
updateRemoteStreams();
|
|
56
|
+
if (onSuccessProgressCall) {
|
|
57
|
+
onSuccessProgressCall({ isPurgatory: (0, hasPurgatory_1.default)(room) });
|
|
58
|
+
}
|
|
59
|
+
sipConnector.onceRaceSession(['ended', 'failed'], () => {
|
|
60
|
+
unsubscribeEnterConference();
|
|
61
|
+
if (onEndedCall) {
|
|
62
|
+
onEndedCall();
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
return peerConnection;
|
|
66
|
+
};
|
|
67
|
+
const onFail = (error) => {
|
|
68
|
+
(0, logger_1.default)('onFail');
|
|
69
|
+
if (onFailProgressCall) {
|
|
70
|
+
onFailProgressCall();
|
|
71
|
+
}
|
|
72
|
+
unsubscribeEnterConference();
|
|
73
|
+
throw error;
|
|
74
|
+
};
|
|
75
|
+
const onFinish = () => {
|
|
76
|
+
(0, logger_1.default)('onFinish');
|
|
77
|
+
if (onFinishProgressCall) {
|
|
78
|
+
onFinishProgressCall();
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
(0, logger_1.default)('onBeforeProgressCall');
|
|
82
|
+
if (onBeforeProgressCall) {
|
|
83
|
+
onBeforeProgressCall(conference);
|
|
84
|
+
}
|
|
85
|
+
return startCall().then(onSuccess).catch(onFail).finally(onFinish);
|
|
86
|
+
};
|
|
87
|
+
return callToServer;
|
|
88
|
+
};
|
|
89
|
+
exports.default = resolveCallToServer;
|
|
90
|
+
//# sourceMappingURL=callToServer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callToServer.js","sourceRoot":"","sources":["../../src/tools/callToServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type SipConnector from '../SipConnector';
|
|
2
|
+
declare const resolveConnectToServer: (sipConnector: SipConnector) => (params: {
|
|
3
|
+
userAgent: string;
|
|
4
|
+
sipWebSocketServerURL: string;
|
|
5
|
+
sipServerUrl: string;
|
|
6
|
+
remoteAddress?: string;
|
|
7
|
+
displayName?: string;
|
|
8
|
+
name?: string;
|
|
9
|
+
password?: string;
|
|
10
|
+
isRegisteredUser?: boolean;
|
|
11
|
+
isDisconnectOnFail?: boolean;
|
|
12
|
+
sdpSemantics: 'unified-plan' | 'plan-b';
|
|
13
|
+
}) => Promise<boolean>;
|
|
14
|
+
export default resolveConnectToServer;
|
|
15
|
+
//# sourceMappingURL=connectToServer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectToServer.d.ts","sourceRoot":"","sources":["../../src/tools/connectToServer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAGhD,QAAA,MAAM,sBAAsB,iBAAkB,YAAY,cASvB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,EAAE,cAAc,GAAG,QAAQ,CAAC;CACzC,KAAG,QAAQ,OAAO,CAoDpB,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const cancelable_promise_1 = require("@krivega/cancelable-promise");
|
|
7
|
+
const logger_1 = __importDefault(require("../logger"));
|
|
8
|
+
const resolveConnectToServer = (sipConnector) => {
|
|
9
|
+
const handleError = (error) => {
|
|
10
|
+
if (!(0, cancelable_promise_1.isCanceledError)(error)) {
|
|
11
|
+
throw error;
|
|
12
|
+
}
|
|
13
|
+
return false;
|
|
14
|
+
};
|
|
15
|
+
const connectToServer = (params) => {
|
|
16
|
+
const { userAgent, sipWebSocketServerURL, sipServerUrl, remoteAddress, displayName, name, password, isRegisteredUser, sdpSemantics, isDisconnectOnFail, } = params;
|
|
17
|
+
(0, logger_1.default)('connectToServer', params);
|
|
18
|
+
return sipConnector
|
|
19
|
+
.connect({
|
|
20
|
+
userAgent,
|
|
21
|
+
sdpSemantics,
|
|
22
|
+
sipWebSocketServerURL,
|
|
23
|
+
sipServerUrl,
|
|
24
|
+
remoteAddress,
|
|
25
|
+
displayName,
|
|
26
|
+
password,
|
|
27
|
+
user: name,
|
|
28
|
+
register: isRegisteredUser,
|
|
29
|
+
})
|
|
30
|
+
.then(() => {
|
|
31
|
+
(0, logger_1.default)('connectToServer then');
|
|
32
|
+
return true;
|
|
33
|
+
})
|
|
34
|
+
.catch((error) => {
|
|
35
|
+
(0, logger_1.default)('connectToServer catch: error', error);
|
|
36
|
+
if (isDisconnectOnFail) {
|
|
37
|
+
return sipConnector
|
|
38
|
+
.disconnect()
|
|
39
|
+
.then(() => {
|
|
40
|
+
return handleError(error);
|
|
41
|
+
})
|
|
42
|
+
.catch(() => {
|
|
43
|
+
return handleError(error);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
return handleError(error);
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
return connectToServer;
|
|
50
|
+
};
|
|
51
|
+
exports.default = resolveConnectToServer;
|
|
52
|
+
//# sourceMappingURL=connectToServer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectToServer.js","sourceRoot":"","sources":["../../src/tools/connectToServer.ts"],"names":[],"mappings":";;;;;AAAA,oEAA8D;AAE9D,uDAA4B;AAE5B,MAAM,sBAAsB,GAAG,CAAC,YAA0B,EAAE,EAAE;IAC5D,MAAM,WAAW,GAAG,CAAC,KAAY,EAAW,EAAE;QAC5C,IAAI,CAAC,IAAA,oCAAe,EAAC,KAAK,CAAC,EAAE;YAC3B,MAAM,KAAK,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,MAWxB,EAAoB,EAAE;QACrB,MAAM,EACJ,SAAS,EACT,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,GACnB,GAAG,MAAM,CAAC;QAEX,IAAA,gBAAG,EAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAE/B,OAAO,YAAY;aAChB,OAAO,CAAC;YACP,SAAS;YACT,YAAY;YACZ,qBAAqB;YACrB,YAAY;YACZ,aAAa;YACb,WAAW;YACX,QAAQ;YACR,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,gBAAgB;SAC3B,CAAC;aACD,IAAI,CAAC,GAAG,EAAE;YACT,IAAA,gBAAG,EAAC,sBAAsB,CAAC,CAAC;YAE5B,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,IAAA,gBAAG,EAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YAE3C,IAAI,kBAAkB,EAAE;gBACtB,OAAO,YAAY;qBAChB,UAAU,EAAE;qBACZ,IAAI,CAAC,GAAG,EAAE;oBACT,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC,CAAC;qBACD,KAAK,CAAC,GAAG,EAAE;oBACV,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;aACN;YAED,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF,kBAAe,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disconnectFromServer.d.ts","sourceRoot":"","sources":["../../src/tools/disconnectFromServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAGhD,QAAA,MAAM,2BAA2B,iBAAkB,YAAY,2BAiB9D,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const logger_1 = __importDefault(require("../logger"));
|
|
7
|
+
const resolveDisconnectFromServer = (sipConnector) => {
|
|
8
|
+
return () => {
|
|
9
|
+
(0, logger_1.default)('disconnectFromServer');
|
|
10
|
+
return sipConnector
|
|
11
|
+
.disconnect()
|
|
12
|
+
.then(() => {
|
|
13
|
+
(0, logger_1.default)('disconnectFromServer: then');
|
|
14
|
+
return false;
|
|
15
|
+
})
|
|
16
|
+
.catch((error) => {
|
|
17
|
+
(0, logger_1.default)('disconnectFromServer: catch', error);
|
|
18
|
+
return false;
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
exports.default = resolveDisconnectFromServer;
|
|
23
|
+
//# sourceMappingURL=disconnectFromServer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disconnectFromServer.js","sourceRoot":"","sources":["../../src/tools/disconnectFromServer.ts"],"names":[],"mappings":";;;;;AACA,uDAA4B;AAE5B,MAAM,2BAA2B,GAAG,CAAC,YAA0B,EAAE,EAAE;IACjE,OAAO,GAAG,EAAE;QACV,IAAA,gBAAG,EAAC,sBAAsB,CAAC,CAAC;QAE5B,OAAO,YAAY;aAChB,UAAU,EAAE;aACZ,IAAI,CAAC,GAAG,EAAE;YACT,IAAA,gBAAG,EAAC,4BAA4B,CAAC,CAAC;YAElC,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,IAAA,gBAAG,EAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YAE1C,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,2BAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getLinkError.d.ts","sourceRoot":"","sources":["../../../src/tools/error/getLinkError.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,QAAA,MAAM,YAAY,UAAW,YAAY,KAAG,MAAM,GAAG,SAUpD,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
const causes = __importStar(require("../../causes"));
|
|
27
|
+
const getLinkError = (error) => {
|
|
28
|
+
const { url, cause } = error;
|
|
29
|
+
let link = url;
|
|
30
|
+
if (cause === causes.BAD_MEDIA_DESCRIPTION || cause === causes.NOT_FOUND) {
|
|
31
|
+
link = `${error.message.to.uri.user}@${error.message.to.uri.host}`;
|
|
32
|
+
}
|
|
33
|
+
return link;
|
|
34
|
+
};
|
|
35
|
+
exports.default = getLinkError;
|
|
36
|
+
//# sourceMappingURL=getLinkError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getLinkError.js","sourceRoot":"","sources":["../../../src/tools/error/getLinkError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAuC;AAGvC,MAAM,YAAY,GAAG,CAAC,KAAmB,EAAsB,EAAE;IAC/D,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAE7B,IAAI,IAAI,GAAG,GAAG,CAAC;IAEf,IAAI,KAAK,KAAK,MAAM,CAAC,qBAAqB,IAAI,KAAK,KAAK,MAAM,CAAC,SAAS,EAAE;QACxE,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;KACpE;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,kBAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ICustomError } from '../../SipConnector';
|
|
2
|
+
export declare enum EErrorTypes {
|
|
3
|
+
CONNECT_SERVER_FAILED = "CONNECT_SERVER_FAILED",
|
|
4
|
+
WRONG_USER_OR_PASSWORD = "WRONG_USER_OR_PASSWORD",
|
|
5
|
+
BAD_MEDIA_ERROR = "BAD_MEDIA_ERROR",
|
|
6
|
+
NOT_FOUND_ERROR = "NOT_FOUND_ERROR",
|
|
7
|
+
WS_CONNECTION_FAILED = "WS_CONNECTION_FAILED",
|
|
8
|
+
CONNECT_SERVER_FAILED_BY_LINK = "CONNECT_SERVER_FAILED_BY_LINK"
|
|
9
|
+
}
|
|
10
|
+
declare const getTypeFromError: (error?: ICustomError) => EErrorTypes;
|
|
11
|
+
export default getTypeFromError;
|
|
12
|
+
//# sourceMappingURL=getTypeFromError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTypeFromError.d.ts","sourceRoot":"","sources":["../../../src/tools/error/getTypeFromError.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,oBAAY,WAAW;IACrB,qBAAqB,0BAA0B;IAC/C,sBAAsB,2BAA2B;IACjD,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,oBAAoB,yBAAyB;IAC7C,6BAA6B,kCAAkC;CAChE;AAED,QAAA,MAAM,gBAAgB,WAAW,YAAY,KAAiB,WAkB7D,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.EErrorTypes = void 0;
|
|
30
|
+
const causes = __importStar(require("../../causes"));
|
|
31
|
+
const getLinkError_1 = __importDefault(require("./getLinkError"));
|
|
32
|
+
var EErrorTypes;
|
|
33
|
+
(function (EErrorTypes) {
|
|
34
|
+
EErrorTypes["CONNECT_SERVER_FAILED"] = "CONNECT_SERVER_FAILED";
|
|
35
|
+
EErrorTypes["WRONG_USER_OR_PASSWORD"] = "WRONG_USER_OR_PASSWORD";
|
|
36
|
+
EErrorTypes["BAD_MEDIA_ERROR"] = "BAD_MEDIA_ERROR";
|
|
37
|
+
EErrorTypes["NOT_FOUND_ERROR"] = "NOT_FOUND_ERROR";
|
|
38
|
+
EErrorTypes["WS_CONNECTION_FAILED"] = "WS_CONNECTION_FAILED";
|
|
39
|
+
EErrorTypes["CONNECT_SERVER_FAILED_BY_LINK"] = "CONNECT_SERVER_FAILED_BY_LINK";
|
|
40
|
+
})(EErrorTypes || (exports.EErrorTypes = EErrorTypes = {}));
|
|
41
|
+
const getTypeFromError = (error = new Error()) => {
|
|
42
|
+
var _a;
|
|
43
|
+
const { cause, socket } = error;
|
|
44
|
+
let type = EErrorTypes.CONNECT_SERVER_FAILED;
|
|
45
|
+
if (cause === 'Forbidden') {
|
|
46
|
+
type = EErrorTypes.WRONG_USER_OR_PASSWORD;
|
|
47
|
+
}
|
|
48
|
+
else if (cause === causes.BAD_MEDIA_DESCRIPTION) {
|
|
49
|
+
type = EErrorTypes.BAD_MEDIA_ERROR;
|
|
50
|
+
}
|
|
51
|
+
else if (cause === causes.NOT_FOUND) {
|
|
52
|
+
type = EErrorTypes.NOT_FOUND_ERROR;
|
|
53
|
+
}
|
|
54
|
+
else if (socket && ((_a = socket === null || socket === void 0 ? void 0 : socket._ws) === null || _a === void 0 ? void 0 : _a.readyState) === 3) {
|
|
55
|
+
type = EErrorTypes.WS_CONNECTION_FAILED;
|
|
56
|
+
}
|
|
57
|
+
else if ((0, getLinkError_1.default)(error)) {
|
|
58
|
+
type = EErrorTypes.CONNECT_SERVER_FAILED_BY_LINK;
|
|
59
|
+
}
|
|
60
|
+
return type;
|
|
61
|
+
};
|
|
62
|
+
exports.default = getTypeFromError;
|
|
63
|
+
//# sourceMappingURL=getTypeFromError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTypeFromError.js","sourceRoot":"","sources":["../../../src/tools/error/getTypeFromError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAuC;AAEvC,kEAA0C;AAE1C,IAAY,WAOX;AAPD,WAAY,WAAW;IACrB,8DAA+C,CAAA;IAC/C,gEAAiD,CAAA;IACjD,kDAAmC,CAAA;IACnC,kDAAmC,CAAA;IACnC,4DAA6C,CAAA;IAC7C,8EAA+D,CAAA;AACjE,CAAC,EAPW,WAAW,2BAAX,WAAW,QAOtB;AAED,MAAM,gBAAgB,GAAG,CAAC,QAAsB,IAAI,KAAK,EAAE,EAAe,EAAE;;IAC1E,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEhC,IAAI,IAAI,GAAgB,WAAW,CAAC,qBAAqB,CAAC;IAE1D,IAAI,KAAK,KAAK,WAAW,EAAE;QACzB,IAAI,GAAG,WAAW,CAAC,sBAAsB,CAAC;KAC3C;SAAM,IAAI,KAAK,KAAK,MAAM,CAAC,qBAAqB,EAAE;QACjD,IAAI,GAAG,WAAW,CAAC,eAAe,CAAC;KACpC;SAAM,IAAI,KAAK,KAAK,MAAM,CAAC,SAAS,EAAE;QACrC,IAAI,GAAG,WAAW,CAAC,eAAe,CAAC;KACpC;SAAM,IAAI,MAAM,IAAI,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,0CAAE,UAAU,MAAK,CAAC,EAAE;QAClD,IAAI,GAAG,WAAW,CAAC,oBAAoB,CAAC;KACzC;SAAM,IAAI,IAAA,sBAAY,EAAC,KAAK,CAAC,EAAE;QAC9B,IAAI,GAAG,WAAW,CAAC,6BAA6B,CAAC;KAClD;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,kBAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ICustomError } from '../../SipConnector';
|
|
2
|
+
export type TValues = {
|
|
3
|
+
message?: string;
|
|
4
|
+
link?: string;
|
|
5
|
+
code?: string;
|
|
6
|
+
cause?: string;
|
|
7
|
+
};
|
|
8
|
+
declare const getValuesFromError: (error?: ICustomError) => TValues;
|
|
9
|
+
export default getValuesFromError;
|
|
10
|
+
//# sourceMappingURL=getValuesFromError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getValuesFromError.d.ts","sourceRoot":"","sources":["../../../src/tools/error/getValuesFromError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,QAAA,MAAM,kBAAkB,WAAW,YAAY,KAAiB,OAsB/D,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const getLinkError_1 = __importDefault(require("./getLinkError"));
|
|
7
|
+
const getValuesFromError = (error = new Error()) => {
|
|
8
|
+
const { code, cause, message } = error;
|
|
9
|
+
const link = (0, getLinkError_1.default)(error);
|
|
10
|
+
const values = {};
|
|
11
|
+
if (message) {
|
|
12
|
+
values.message = message;
|
|
13
|
+
}
|
|
14
|
+
if (link) {
|
|
15
|
+
values.link = link;
|
|
16
|
+
}
|
|
17
|
+
if (code) {
|
|
18
|
+
values.code = code;
|
|
19
|
+
}
|
|
20
|
+
if (cause) {
|
|
21
|
+
values.cause = cause;
|
|
22
|
+
}
|
|
23
|
+
return values;
|
|
24
|
+
};
|
|
25
|
+
exports.default = getValuesFromError;
|
|
26
|
+
//# sourceMappingURL=getValuesFromError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getValuesFromError.js","sourceRoot":"","sources":["../../../src/tools/error/getValuesFromError.ts"],"names":[],"mappings":";;;;;AACA,kEAA0C;AAS1C,MAAM,kBAAkB,GAAG,CAAC,QAAsB,IAAI,KAAK,EAAE,EAAW,EAAE;IACxE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACvC,MAAM,IAAI,GAAG,IAAA,sBAAY,EAAC,KAAK,CAAC,CAAC;IACjC,MAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,IAAI,OAAO,EAAE;QACX,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;KAC1B;IAED,IAAI,IAAI,EAAE;QACR,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;KACpB;IAED,IAAI,IAAI,EAAE;QACR,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;KACpB;IAED,IAAI,KAAK,EAAE;QACT,MAAM,CAAC,KAAK,GAAG,KAAe,CAAC;KAChC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,kBAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/error/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getValuesFromError = exports.getTypeFromError = exports.getLinkError = void 0;
|
|
7
|
+
const getLinkError_1 = __importDefault(require("./getLinkError"));
|
|
8
|
+
exports.getLinkError = getLinkError_1.default;
|
|
9
|
+
const getTypeFromError_1 = __importDefault(require("./getTypeFromError"));
|
|
10
|
+
exports.getTypeFromError = getTypeFromError_1.default;
|
|
11
|
+
const getValuesFromError_1 = __importDefault(require("./getValuesFromError"));
|
|
12
|
+
exports.getValuesFromError = getValuesFromError_1.default;
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/error/index.ts"],"names":[],"mappings":";;;;;;AAAA,kEAA0C;AAIjC,uBAJF,sBAAY,CAIE;AAHrB,0EAAkD;AAG3B,2BAHhB,0BAAgB,CAGgB;AAFvC,8EAAsD;AAEb,6BAFlC,4BAAkB,CAEkC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hasPurgatory.d.ts","sourceRoot":"","sources":["../../src/tools/hasPurgatory.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,aAAuB,CAAC;AAEhE,QAAA,MAAM,YAAY,UAAW,MAAM,YAElC,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PURGATORY_CONFERENCE_NUMBER = void 0;
|
|
4
|
+
exports.PURGATORY_CONFERENCE_NUMBER = 'purgatory';
|
|
5
|
+
const hasPurgatory = (room) => {
|
|
6
|
+
return room === exports.PURGATORY_CONFERENCE_NUMBER;
|
|
7
|
+
};
|
|
8
|
+
exports.default = hasPurgatory;
|
|
9
|
+
//# sourceMappingURL=hasPurgatory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hasPurgatory.js","sourceRoot":"","sources":["../../src/tools/hasPurgatory.ts"],"names":[],"mappings":";;;AAAa,QAAA,2BAA2B,GAAG,WAAoB,CAAC;AAEhE,MAAM,YAAY,GAAG,CAAC,IAAa,EAAE,EAAE;IACrC,OAAO,IAAI,KAAK,mCAA2B,CAAC;AAC9C,CAAC,CAAC;AAEF,kBAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as error from './error';
|
|
2
|
+
import createSyncMediaState from './syncMediaState';
|
|
3
|
+
import resolveAnswerIncomingCall from './answerIncomingCall';
|
|
4
|
+
import resolveConnectToServer from './callToServer';
|
|
5
|
+
import resolveDisconnectFromServer from './disconnectFromServer';
|
|
6
|
+
import hasPurgatory from './hasPurgatory';
|
|
7
|
+
import resolveAskPermissionToEnableCam from './resolveAskPermissionToEnableCam';
|
|
8
|
+
import resolveStopShareSipConnector from './resolveStopShareSipConnector';
|
|
9
|
+
import resolveOnMustStopPresentation from './resolveOnMustStopPresentation';
|
|
10
|
+
import resolveOnUseLicense from './resolveOnUseLicense';
|
|
11
|
+
import resolveSendMediaState from './resolveSendMediaState';
|
|
12
|
+
import resolveSendRefusalToTurnOnCam from './resolveSendRefusalToTurnOnCam';
|
|
13
|
+
import resolveSendRefusalToTurnOnMic from './resolveSendRefusalToTurnOnMic';
|
|
14
|
+
import resolveStartPresentation from './resolveStartPresentation';
|
|
15
|
+
import resolveUpdatePresentation from './resolveUpdatePresentation';
|
|
16
|
+
import resolveUpdateRemoteStreams from './resolveUpdateRemoteStreams';
|
|
17
|
+
import resolveGetRemoteStreams from './resolveGetRemoteStreams';
|
|
18
|
+
import sendDTMFAccumulated from './sendDTMFAccumulated';
|
|
19
|
+
export { error, createSyncMediaState, resolveAnswerIncomingCall, resolveConnectToServer, resolveDisconnectFromServer, hasPurgatory, resolveAskPermissionToEnableCam, resolveStopShareSipConnector, resolveOnMustStopPresentation, resolveOnUseLicense, resolveSendMediaState, resolveSendRefusalToTurnOnCam, resolveSendRefusalToTurnOnMic, resolveStartPresentation, resolveUpdatePresentation, resolveUpdateRemoteStreams, resolveGetRemoteStreams, sendDTMFAccumulated, };
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,oBAAoB,MAAM,kBAAkB,CAAC;AACpD,OAAO,yBAAyB,MAAM,sBAAsB,CAAC;AAC7D,OAAO,sBAAsB,MAAM,gBAAgB,CAAC;AACpD,OAAO,2BAA2B,MAAM,wBAAwB,CAAC;AACjE,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,+BAA+B,MAAM,mCAAmC,CAAC;AAChF,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO,6BAA6B,MAAM,iCAAiC,CAAC;AAC5E,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,6BAA6B,MAAM,iCAAiC,CAAC;AAC5E,OAAO,6BAA6B,MAAM,iCAAiC,CAAC;AAC5E,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,0BAA0B,MAAM,8BAA8B,CAAC;AACtE,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AAExD,OAAO,EACL,KAAK,EACL,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,2BAA2B,EAC3B,YAAY,EACZ,+BAA+B,EAC/B,4BAA4B,EAC5B,6BAA6B,EAC7B,mBAAmB,EACnB,qBAAqB,EACrB,6BAA6B,EAC7B,6BAA6B,EAC7B,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,GACpB,CAAC"}
|