sip-connector 5.0.1 → 5.1.3
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 +14 -5
- package/dist/SipConnector.d.ts.map +1 -1
- package/dist/SipConnector.js +108 -109
- package/dist/SipConnector.js.map +1 -1
- package/dist/__mocks__/BaseSession.mock.d.ts +3 -3
- package/dist/__mocks__/BaseSession.mock.d.ts.map +1 -1
- package/dist/__mocks__/BaseSession.mock.js +1 -0
- package/dist/__mocks__/BaseSession.mock.js.map +1 -1
- package/dist/__mocks__/UA.mock.js +1 -1
- package/dist/__mocks__/UA.mock.js.map +1 -1
- package/dist/__mocks__/conferenceParticipantTokenIssuedNotify.d.ts +7 -0
- package/dist/__mocks__/conferenceParticipantTokenIssuedNotify.d.ts.map +1 -0
- package/dist/__mocks__/conferenceParticipantTokenIssuedNotify.js +22 -0
- package/dist/__mocks__/conferenceParticipantTokenIssuedNotify.js.map +1 -0
- package/dist/constants.d.ts +63 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +67 -0
- package/dist/constants.js.map +1 -0
- package/dist/eventNames.d.ts +4 -2
- package/dist/eventNames.d.ts.map +1 -1
- package/dist/eventNames.js +69 -67
- package/dist/eventNames.js.map +1 -1
- package/dist/index.es5.js +2 -2
- package/dist/index.es5.js.map +1 -1
- package/dist/index.umd.js +2 -2
- package/dist/index.umd.js.map +1 -1
- package/package.json +21 -21
package/dist/SipConnector.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export declare enum EEventsMainCAM {
|
|
|
10
10
|
}
|
|
11
11
|
interface ICustomError extends Error {
|
|
12
12
|
originator?: string;
|
|
13
|
-
cause?:
|
|
13
|
+
cause?: Error;
|
|
14
14
|
message: any;
|
|
15
15
|
socket?: any;
|
|
16
16
|
url?: string;
|
|
@@ -32,6 +32,7 @@ declare const CMD_REMOVED_FROM_LIST_MODERATORS: "removedFromListModerators";
|
|
|
32
32
|
declare const CMD_MOVE_REQUEST_TO_CONFERENCE: "WebcastParticipationAccepted";
|
|
33
33
|
declare const CMD_CANCELLING_WORD_REQUEST: "WebcastParticipationRejected";
|
|
34
34
|
declare const CMD_MOVE_REQUEST_TO_STREAM: "ParticipantMovedToWebcast";
|
|
35
|
+
declare const CMD_CONFERENCE_PARTICIPANT_TOKEN_ISSUED: "ConferenceParticipantTokenIssued";
|
|
35
36
|
declare type TAddedToListModeratorsInfoNotify = {
|
|
36
37
|
cmd: typeof CMD_ADDED_TO_LIST_MODERATORS;
|
|
37
38
|
conference: string;
|
|
@@ -58,6 +59,14 @@ declare type TMoveRequestToStreamInfoNotify = {
|
|
|
58
59
|
conference: string;
|
|
59
60
|
};
|
|
60
61
|
};
|
|
62
|
+
declare type TConferenceParticipantTokenIssued = {
|
|
63
|
+
cmd: typeof CMD_CONFERENCE_PARTICIPANT_TOKEN_ISSUED;
|
|
64
|
+
body: {
|
|
65
|
+
conference: string;
|
|
66
|
+
participant: string;
|
|
67
|
+
jwt: string;
|
|
68
|
+
};
|
|
69
|
+
};
|
|
61
70
|
declare type TWebcastInfoNotify = {
|
|
62
71
|
cmd: typeof CMD_WEBCAST_STARTED;
|
|
63
72
|
body: {
|
|
@@ -115,7 +124,6 @@ declare type TParametersAnswerToIncomingCall = {
|
|
|
115
124
|
declare type TAnswerToIncomingCall = (parameters: TParametersAnswerToIncomingCall) => Promise<RTCPeerConnection>;
|
|
116
125
|
declare type TSendDTMF = (tone: number | string) => Promise<void>;
|
|
117
126
|
declare type THangUp = () => Promise<void>;
|
|
118
|
-
declare type TRestoreSession = () => Promise<void>;
|
|
119
127
|
export default class SipConnector {
|
|
120
128
|
private _isRegisterConfig;
|
|
121
129
|
private _connectionConfiguration;
|
|
@@ -130,7 +138,6 @@ export default class SipConnector {
|
|
|
130
138
|
private _cancelableCall;
|
|
131
139
|
private _cancelableAnswer;
|
|
132
140
|
private _cancelableSendDTMF;
|
|
133
|
-
private _cancelableRestoreSession;
|
|
134
141
|
private getSipServerUrl;
|
|
135
142
|
isPendingPresentation: boolean;
|
|
136
143
|
ua?: UA;
|
|
@@ -149,7 +156,6 @@ export default class SipConnector {
|
|
|
149
156
|
answerToIncomingCall: TAnswerToIncomingCall;
|
|
150
157
|
sendDTMF: TSendDTMF;
|
|
151
158
|
hangUp: THangUp;
|
|
152
|
-
restoreSession: TRestoreSession;
|
|
153
159
|
register(): Promise<RegisteredEvent>;
|
|
154
160
|
unregister(): Promise<UnRegisteredEvent>;
|
|
155
161
|
tryRegister: () => Promise<UnRegisteredEvent>;
|
|
@@ -170,6 +176,7 @@ export default class SipConnector {
|
|
|
170
176
|
stopPresentation({ isP2P, }?: {
|
|
171
177
|
isP2P?: boolean;
|
|
172
178
|
}): Promise<MediaStream | void>;
|
|
179
|
+
_resetPresentation(): void;
|
|
173
180
|
handleNewRTCSession: ({ originator, session }: IncomingRTCSessionEvent) => void;
|
|
174
181
|
on(eventName: TEventUA, handler: any): void;
|
|
175
182
|
once(eventName: TEventUA, handler: any): void;
|
|
@@ -220,7 +227,7 @@ export default class SipConnector {
|
|
|
220
227
|
_handleCall: ({ ontrack }: {
|
|
221
228
|
ontrack?: TOntrack | undefined;
|
|
222
229
|
}) => Promise<RTCPeerConnection>;
|
|
223
|
-
_restoreSession:
|
|
230
|
+
_restoreSession: () => void;
|
|
224
231
|
_sendDTMF: TSendDTMF;
|
|
225
232
|
_generateStream(videoTrack: MediaStreamTrack, audioTrack?: MediaStreamTrack): MediaStream;
|
|
226
233
|
_generateAudioStream(audioTrack: MediaStreamTrack): MediaStream;
|
|
@@ -240,6 +247,7 @@ export default class SipConnector {
|
|
|
240
247
|
_maybeTriggerWebcastStoppedNotify: ({ body: { conference, type } }: TWebcastInfoNotify) => void;
|
|
241
248
|
_maybeTriggerAccountChangedNotify: () => void;
|
|
242
249
|
_maybeTriggerAccountDeletedNotify: () => void;
|
|
250
|
+
_maybeTriggerConferenceParticipantTokenIssued: ({ body: { conference, participant, jwt }, }: TConferenceParticipantTokenIssued) => void;
|
|
243
251
|
_maybeTriggerChannelsNotify: (channelsInfo: TChannelsInfoNotify) => void;
|
|
244
252
|
_maybeTriggerParticipantMoveRequestToConference: ({ body: { conference }, }: TMoveRequestToConferenceInfoNotify) => void;
|
|
245
253
|
_maybeTriggerParticipantCancelingWordRequest: ({ body: { conference }, }: TCancelingWordRequestInfoNotify) => void;
|
|
@@ -254,6 +262,7 @@ export default class SipConnector {
|
|
|
254
262
|
_maybeHandleNotify: (request: IncomingRequest) => void;
|
|
255
263
|
waitChannels(): Promise<TChannels>;
|
|
256
264
|
sendChannels({ inputChannels, outputChannels }: TChannels): void;
|
|
265
|
+
_handleEnded: (error: ICustomError) => void;
|
|
257
266
|
}
|
|
258
267
|
export {};
|
|
259
268
|
//# sourceMappingURL=SipConnector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SipConnector.d.ts","sourceRoot":"","sources":["../src/SipConnector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACX,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"SipConnector.d.ts","sourceRoot":"","sources":["../src/SipConnector.ts"],"names":[],"mappings":"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"}
|
package/dist/SipConnector.js
CHANGED
|
@@ -1,23 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
22
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
23
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -32,7 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
32
13
|
};
|
|
33
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
15
|
exports.hasCanceledCallError = exports.EEventsMainCAM = void 0;
|
|
35
|
-
const
|
|
16
|
+
const cancelable_promise_1 = require("@krivega/cancelable-promise");
|
|
36
17
|
const events_constructor_1 = __importDefault(require("events-constructor"));
|
|
37
18
|
const scaleBitrate_1 = __importDefault(require("./videoSendingBalancer/scaleBitrate"));
|
|
38
19
|
const eventNames_1 = require("./eventNames");
|
|
@@ -40,6 +21,7 @@ const causes_1 = require("./causes");
|
|
|
40
21
|
const headers_1 = require("./headers");
|
|
41
22
|
const getExtraHeadersRemoteAddress_1 = __importDefault(require("./getExtraHeadersRemoteAddress"));
|
|
42
23
|
const utils_1 = require("./utils");
|
|
24
|
+
const constants_1 = require("./constants");
|
|
43
25
|
const BUSY_HERE_STATUS_CODE = 486;
|
|
44
26
|
const REQUEST_TERMINATED_STATUS_CODE = 487;
|
|
45
27
|
const ORIGINATOR_LOCAL = 'local';
|
|
@@ -52,10 +34,15 @@ var EEventsMainCAM;
|
|
|
52
34
|
})(EEventsMainCAM = exports.EEventsMainCAM || (exports.EEventsMainCAM = {}));
|
|
53
35
|
const hasCanceledCallError = (error = new Error()) => {
|
|
54
36
|
const { originator, cause } = error;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
37
|
+
if ((0, cancelable_promise_1.isCanceledError)(error)) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
if (typeof cause === 'string') {
|
|
41
|
+
return (cause === causes_1.REQUEST_TIMEOUT ||
|
|
42
|
+
cause === causes_1.REJECTED ||
|
|
43
|
+
(originator === ORIGINATOR_LOCAL && (cause === causes_1.CANCELED || cause === causes_1.BYE)));
|
|
44
|
+
}
|
|
45
|
+
return false;
|
|
59
46
|
};
|
|
60
47
|
exports.hasCanceledCallError = hasCanceledCallError;
|
|
61
48
|
const moduleName = 'SipConnector';
|
|
@@ -69,6 +56,7 @@ const CMD_REMOVED_FROM_LIST_MODERATORS = 'removedFromListModerators';
|
|
|
69
56
|
const CMD_MOVE_REQUEST_TO_CONFERENCE = 'WebcastParticipationAccepted';
|
|
70
57
|
const CMD_CANCELLING_WORD_REQUEST = 'WebcastParticipationRejected';
|
|
71
58
|
const CMD_MOVE_REQUEST_TO_STREAM = 'ParticipantMovedToWebcast';
|
|
59
|
+
const CMD_CONFERENCE_PARTICIPANT_TOKEN_ISSUED = 'ConferenceParticipantTokenIssued';
|
|
72
60
|
class SipConnector {
|
|
73
61
|
constructor({ JsSIP }) {
|
|
74
62
|
this._isRegisterConfig = false;
|
|
@@ -105,14 +93,11 @@ class SipConnector {
|
|
|
105
93
|
this._cancelRequests();
|
|
106
94
|
return this._hangUpWithoutCancelRequests();
|
|
107
95
|
};
|
|
108
|
-
this.restoreSession = () => {
|
|
109
|
-
return this._cancelableRestoreSession.request();
|
|
110
|
-
};
|
|
111
96
|
this.tryRegister = () => {
|
|
112
97
|
if (!this.isRegisterConfig) {
|
|
113
98
|
return Promise.reject(new Error('Config is not registered'));
|
|
114
99
|
}
|
|
115
|
-
this._uaEvents.trigger(
|
|
100
|
+
this._uaEvents.trigger(constants_1.CONNECTING, undefined);
|
|
116
101
|
return this.unregister()
|
|
117
102
|
.finally(() => {
|
|
118
103
|
return this.register();
|
|
@@ -132,7 +117,7 @@ class SipConnector {
|
|
|
132
117
|
this._cancelableCall.cancelRequest();
|
|
133
118
|
this._cancelableAnswer.cancelRequest();
|
|
134
119
|
this.removeIncomingSession();
|
|
135
|
-
this._uaEvents.trigger(
|
|
120
|
+
this._uaEvents.trigger(constants_1.DECLINED_INCOMING_CALL, callerData);
|
|
136
121
|
resolve(incomingSession.terminate({ status_code: statusCode }));
|
|
137
122
|
return undefined;
|
|
138
123
|
});
|
|
@@ -147,11 +132,11 @@ class SipConnector {
|
|
|
147
132
|
if (originator === ORIGINATOR_REMOTE) {
|
|
148
133
|
this.incomingSession = session;
|
|
149
134
|
const callerData = this.remoteCallerData;
|
|
150
|
-
this.incomingSession.on(
|
|
135
|
+
this.incomingSession.on(constants_1.FAILED, () => {
|
|
151
136
|
this.removeIncomingSession();
|
|
152
|
-
this._uaEvents.trigger(
|
|
137
|
+
this._uaEvents.trigger(constants_1.FAILED_INCOMING_CALL, callerData);
|
|
153
138
|
});
|
|
154
|
-
this._uaEvents.trigger(
|
|
139
|
+
this._uaEvents.trigger(constants_1.INCOMING_CALL, callerData);
|
|
155
140
|
}
|
|
156
141
|
};
|
|
157
142
|
this._connect = (params) => {
|
|
@@ -235,22 +220,22 @@ class SipConnector {
|
|
|
235
220
|
};
|
|
236
221
|
const addEventListeners = () => {
|
|
237
222
|
if (this.isRegisterConfig) {
|
|
238
|
-
this.on(
|
|
239
|
-
this.on(
|
|
223
|
+
this.on(constants_1.REGISTERED, resolveUa);
|
|
224
|
+
this.on(constants_1.REGISTRATION_FAILED, rejectError);
|
|
240
225
|
}
|
|
241
226
|
else {
|
|
242
|
-
this.on(
|
|
227
|
+
this.on(constants_1.CONNECTED, resolveUa);
|
|
243
228
|
}
|
|
244
|
-
this.on(
|
|
229
|
+
this.on(constants_1.DISCONNECTED, rejectError);
|
|
245
230
|
};
|
|
246
231
|
const removeEventListeners = () => {
|
|
247
|
-
this.off(
|
|
248
|
-
this.off(
|
|
249
|
-
this.off(
|
|
250
|
-
this.off(
|
|
232
|
+
this.off(constants_1.REGISTERED, resolveUa);
|
|
233
|
+
this.off(constants_1.REGISTRATION_FAILED, rejectError);
|
|
234
|
+
this.off(constants_1.CONNECTED, resolveUa);
|
|
235
|
+
this.off(constants_1.DISCONNECTED, rejectError);
|
|
251
236
|
};
|
|
252
237
|
addEventListeners();
|
|
253
|
-
this.on(
|
|
238
|
+
this.on(constants_1.NEW_RTC_SESSION, this.handleNewRTCSession);
|
|
254
239
|
this.ua.start();
|
|
255
240
|
});
|
|
256
241
|
};
|
|
@@ -286,9 +271,9 @@ class SipConnector {
|
|
|
286
271
|
return this._cancelableDisconnect.request();
|
|
287
272
|
};
|
|
288
273
|
this._disconnect = () => __awaiter(this, void 0, void 0, function* () {
|
|
289
|
-
this.off(
|
|
274
|
+
this.off(constants_1.NEW_RTC_SESSION, this.handleNewRTCSession);
|
|
290
275
|
const disconnectedPromise = new Promise((resolve) => {
|
|
291
|
-
this.once(
|
|
276
|
+
this.once(constants_1.DISCONNECTED, () => {
|
|
292
277
|
delete this.ua;
|
|
293
278
|
resolve();
|
|
294
279
|
});
|
|
@@ -299,11 +284,11 @@ class SipConnector {
|
|
|
299
284
|
this.ua.stop();
|
|
300
285
|
}
|
|
301
286
|
else {
|
|
302
|
-
this._uaEvents.trigger(
|
|
287
|
+
this._uaEvents.trigger(constants_1.DISCONNECTED, undefined);
|
|
303
288
|
}
|
|
304
289
|
}
|
|
305
290
|
else {
|
|
306
|
-
this._uaEvents.trigger(
|
|
291
|
+
this._uaEvents.trigger(constants_1.DISCONNECTED, undefined);
|
|
307
292
|
}
|
|
308
293
|
return disconnectedPromise;
|
|
309
294
|
});
|
|
@@ -355,38 +340,31 @@ class SipConnector {
|
|
|
355
340
|
this._handleCall = ({ ontrack }) => {
|
|
356
341
|
return new Promise((resolve, reject) => {
|
|
357
342
|
const addStartedEventListeners = () => {
|
|
358
|
-
this.onSession(
|
|
359
|
-
this.onSession(
|
|
343
|
+
this.onSession(constants_1.PEER_CONNECTION, handlePeerConnection);
|
|
344
|
+
this.onSession(constants_1.CONFIRMED, handleConfirmed);
|
|
360
345
|
};
|
|
361
346
|
const removeStartedEventListeners = () => {
|
|
362
|
-
this.offSession(
|
|
363
|
-
this.offSession(
|
|
347
|
+
this.offSession(constants_1.PEER_CONNECTION, handlePeerConnection);
|
|
348
|
+
this.offSession(constants_1.CONFIRMED, handleConfirmed);
|
|
364
349
|
};
|
|
365
350
|
const addEndedEventListeners = () => {
|
|
366
|
-
this.onSession(
|
|
367
|
-
this.onSession(
|
|
351
|
+
this.onSession(constants_1.FAILED, handleEnded);
|
|
352
|
+
this.onSession(constants_1.ENDED, handleEnded);
|
|
368
353
|
};
|
|
369
354
|
const removeEndedEventListeners = () => {
|
|
370
|
-
this.offSession(
|
|
371
|
-
this.offSession(
|
|
355
|
+
this.offSession(constants_1.FAILED, handleEnded);
|
|
356
|
+
this.offSession(constants_1.ENDED, handleEnded);
|
|
372
357
|
};
|
|
373
|
-
const handleEnded = (
|
|
374
|
-
const { originator } = data;
|
|
375
|
-
if (originator === ORIGINATOR_REMOTE) {
|
|
376
|
-
this._sessionEvents.trigger('ended:fromserver', data);
|
|
377
|
-
}
|
|
378
|
-
if (this.session && !this._cancelableRestoreSession.requested) {
|
|
379
|
-
this.restoreSession();
|
|
380
|
-
}
|
|
358
|
+
const handleEnded = (error) => {
|
|
381
359
|
removeStartedEventListeners();
|
|
382
360
|
removeEndedEventListeners();
|
|
383
|
-
reject(
|
|
361
|
+
reject(error);
|
|
384
362
|
};
|
|
385
363
|
let savedPeerconnection;
|
|
386
364
|
const handlePeerConnection = ({ peerconnection }) => {
|
|
387
365
|
savedPeerconnection = peerconnection;
|
|
388
366
|
savedPeerconnection.ontrack = (track) => {
|
|
389
|
-
this._sessionEvents.trigger(
|
|
367
|
+
this._sessionEvents.trigger(constants_1.PEER_CONNECTION_ONTRACK, savedPeerconnection);
|
|
390
368
|
if (ontrack) {
|
|
391
369
|
ontrack(track);
|
|
392
370
|
}
|
|
@@ -394,27 +372,26 @@ class SipConnector {
|
|
|
394
372
|
};
|
|
395
373
|
const handleConfirmed = () => {
|
|
396
374
|
if (savedPeerconnection) {
|
|
397
|
-
this._sessionEvents.trigger(
|
|
375
|
+
this._sessionEvents.trigger(constants_1.PEER_CONNECTION_CONFIRMED, savedPeerconnection);
|
|
398
376
|
}
|
|
399
377
|
removeStartedEventListeners();
|
|
378
|
+
removeEndedEventListeners();
|
|
400
379
|
resolve(savedPeerconnection);
|
|
401
380
|
};
|
|
402
381
|
addStartedEventListeners();
|
|
403
382
|
addEndedEventListeners();
|
|
404
383
|
});
|
|
405
384
|
};
|
|
406
|
-
this._restoreSession = () =>
|
|
407
|
-
|
|
408
|
-
yield this.stopPresentation();
|
|
409
|
-
}
|
|
385
|
+
this._restoreSession = () => {
|
|
386
|
+
this._resetPresentation();
|
|
410
387
|
delete this._connectionConfiguration.number;
|
|
411
388
|
delete this.session;
|
|
412
389
|
this._remoteStreams = {};
|
|
413
|
-
}
|
|
390
|
+
};
|
|
414
391
|
this._sendDTMF = (tone) => {
|
|
415
392
|
return new Promise((resolve, reject) => {
|
|
416
393
|
if (this.session) {
|
|
417
|
-
this.onceSession(
|
|
394
|
+
this.onceSession(constants_1.NEW_DTMF, ({ originator }) => {
|
|
418
395
|
if (originator === ORIGINATOR_LOCAL) {
|
|
419
396
|
resolve();
|
|
420
397
|
}
|
|
@@ -432,7 +409,7 @@ class SipConnector {
|
|
|
432
409
|
this._hangUpWithoutCancelRequests = () => __awaiter(this, void 0, void 0, function* () {
|
|
433
410
|
if (this.ua && this.session) {
|
|
434
411
|
const { session } = this;
|
|
435
|
-
yield this.
|
|
412
|
+
yield this._restoreSession();
|
|
436
413
|
if (!session.isEnded()) {
|
|
437
414
|
session.terminate();
|
|
438
415
|
}
|
|
@@ -441,13 +418,13 @@ class SipConnector {
|
|
|
441
418
|
this._handleShareState = (eventName) => {
|
|
442
419
|
switch (eventName) {
|
|
443
420
|
case headers_1.AVAILABLE_SECOND_REMOTE_STREAM:
|
|
444
|
-
this._sessionEvents.trigger(
|
|
421
|
+
this._sessionEvents.trigger(constants_1.AVAILABLE_SECOND_REMOTE_STREAM_EVENT, undefined);
|
|
445
422
|
break;
|
|
446
423
|
case headers_1.NOT_AVAILABLE_SECOND_REMOTE_STREAM:
|
|
447
|
-
this._sessionEvents.trigger(
|
|
424
|
+
this._sessionEvents.trigger(constants_1.NOT_AVAILABLE_SECOND_REMOTE_STREAM_EVENT, undefined);
|
|
448
425
|
break;
|
|
449
426
|
case headers_1.MUST_STOP_PRESENTATION:
|
|
450
|
-
this._sessionEvents.trigger(
|
|
427
|
+
this._sessionEvents.trigger(constants_1.MUST_STOP_PRESENTATION_EVENT, undefined);
|
|
451
428
|
break;
|
|
452
429
|
default:
|
|
453
430
|
break;
|
|
@@ -461,7 +438,7 @@ class SipConnector {
|
|
|
461
438
|
inputChannels,
|
|
462
439
|
outputChannels,
|
|
463
440
|
};
|
|
464
|
-
this._sessionEvents.trigger(
|
|
441
|
+
this._sessionEvents.trigger(constants_1.CHANNELS, headersChannels);
|
|
465
442
|
}
|
|
466
443
|
};
|
|
467
444
|
this._handleNotify = (header) => {
|
|
@@ -503,38 +480,50 @@ class SipConnector {
|
|
|
503
480
|
else if (header.cmd === CMD_ACCOUNT_DELETED) {
|
|
504
481
|
this._maybeTriggerAccountDeletedNotify();
|
|
505
482
|
}
|
|
483
|
+
else if (header.cmd === CMD_CONFERENCE_PARTICIPANT_TOKEN_ISSUED) {
|
|
484
|
+
const data = header;
|
|
485
|
+
this._maybeTriggerConferenceParticipantTokenIssued(data);
|
|
486
|
+
}
|
|
506
487
|
};
|
|
507
488
|
this._maybeTriggerRemovedFromListModeratorsNotify = ({ conference, }) => {
|
|
508
489
|
const headersParametersModeratorsList = {
|
|
509
490
|
conference,
|
|
510
491
|
};
|
|
511
|
-
this._sessionEvents.trigger(
|
|
492
|
+
this._sessionEvents.trigger(constants_1.PARTICIPANT_REMOVED_FROM_LIST_MODERATORS, headersParametersModeratorsList);
|
|
512
493
|
};
|
|
513
494
|
this._maybeTriggerAddedToListModeratorsNotify = ({ conference }) => {
|
|
514
495
|
const headersParametersModeratorsList = {
|
|
515
496
|
conference,
|
|
516
497
|
};
|
|
517
|
-
this._sessionEvents.trigger(
|
|
498
|
+
this._sessionEvents.trigger(constants_1.PARTICIPANT_ADDED_TO_LIST_MODERATORS, headersParametersModeratorsList);
|
|
518
499
|
};
|
|
519
500
|
this._maybeTriggerWebcastStartedNotify = ({ body: { conference, type } }) => {
|
|
520
501
|
const headersParametersWebcast = {
|
|
521
502
|
conference,
|
|
522
503
|
type,
|
|
523
504
|
};
|
|
524
|
-
this._sessionEvents.trigger(
|
|
505
|
+
this._sessionEvents.trigger(constants_1.WEBCAST_STARTED, headersParametersWebcast);
|
|
525
506
|
};
|
|
526
507
|
this._maybeTriggerWebcastStoppedNotify = ({ body: { conference, type } }) => {
|
|
527
508
|
const headersParametersWebcast = {
|
|
528
509
|
conference,
|
|
529
510
|
type,
|
|
530
511
|
};
|
|
531
|
-
this._sessionEvents.trigger(
|
|
512
|
+
this._sessionEvents.trigger(constants_1.WEBCAST_STOPPED, headersParametersWebcast);
|
|
532
513
|
};
|
|
533
514
|
this._maybeTriggerAccountChangedNotify = () => {
|
|
534
|
-
this._sessionEvents.trigger(
|
|
515
|
+
this._sessionEvents.trigger(constants_1.ACCOUNT_CHANGED, undefined);
|
|
535
516
|
};
|
|
536
517
|
this._maybeTriggerAccountDeletedNotify = () => {
|
|
537
|
-
this._sessionEvents.trigger(
|
|
518
|
+
this._sessionEvents.trigger(constants_1.ACCOUNT_DELETED, undefined);
|
|
519
|
+
};
|
|
520
|
+
this._maybeTriggerConferenceParticipantTokenIssued = ({ body: { conference, participant, jwt }, }) => {
|
|
521
|
+
const headersConferenceParticipantTokenIssued = {
|
|
522
|
+
conference,
|
|
523
|
+
participant,
|
|
524
|
+
jwt,
|
|
525
|
+
};
|
|
526
|
+
this._sessionEvents.trigger(constants_1.CONFERENCE_PARTICIPANT_TOKEN_ISSUED, headersConferenceParticipantTokenIssued);
|
|
538
527
|
};
|
|
539
528
|
this._maybeTriggerChannelsNotify = (channelsInfo) => {
|
|
540
529
|
const inputChannels = channelsInfo.input;
|
|
@@ -544,39 +533,39 @@ class SipConnector {
|
|
|
544
533
|
outputChannels,
|
|
545
534
|
};
|
|
546
535
|
if (this.session) {
|
|
547
|
-
this._sessionEvents.trigger(
|
|
536
|
+
this._sessionEvents.trigger(constants_1.CHANNELS_NOTIFY, data);
|
|
548
537
|
}
|
|
549
538
|
};
|
|
550
539
|
this._maybeTriggerParticipantMoveRequestToConference = ({ body: { conference }, }) => {
|
|
551
540
|
const data = {
|
|
552
541
|
conference,
|
|
553
542
|
};
|
|
554
|
-
this._sessionEvents.trigger(
|
|
543
|
+
this._sessionEvents.trigger(constants_1.PARTICIPANT_MOVE_REQUEST_TO_CONFERENCE, data);
|
|
555
544
|
};
|
|
556
545
|
this._maybeTriggerParticipantCancelingWordRequest = ({ body: { conference }, }) => {
|
|
557
546
|
const data = {
|
|
558
547
|
conference,
|
|
559
548
|
};
|
|
560
|
-
this._sessionEvents.trigger(
|
|
549
|
+
this._sessionEvents.trigger(constants_1.PARTICIPANT_CANCELLING_WORD_REQUEST, data);
|
|
561
550
|
};
|
|
562
551
|
this._maybeTriggerParticipantMoveRequestToStream = ({ body: { conference }, }) => {
|
|
563
552
|
const data = {
|
|
564
553
|
conference,
|
|
565
554
|
};
|
|
566
|
-
this._sessionEvents.trigger(
|
|
555
|
+
this._sessionEvents.trigger(constants_1.PARTICIPANT_MOVE_REQUEST_TO_STREAM, data);
|
|
567
556
|
};
|
|
568
557
|
this._triggerEnterRoom = (request) => {
|
|
569
558
|
const room = request.getHeader(headers_1.HEADER_CONTENT_ENTER_ROOM);
|
|
570
|
-
this._sessionEvents.trigger(
|
|
559
|
+
this._sessionEvents.trigger(constants_1.ENTER_ROOM, room);
|
|
571
560
|
};
|
|
572
561
|
this._triggerShareState = (request) => {
|
|
573
562
|
const eventName = request.getHeader(headers_1.HEADER_CONTENT_SHARE_STATE);
|
|
574
|
-
this._sessionEvents.trigger(
|
|
563
|
+
this._sessionEvents.trigger(constants_1.SHARE_STATE, eventName);
|
|
575
564
|
};
|
|
576
565
|
this._triggerMainCamControl = (request) => {
|
|
577
566
|
const mainCam = request.getHeader(headers_1.HEADER_MAIN_CAM);
|
|
578
567
|
const resolutionMainCam = request.getHeader(headers_1.HEADER_MAIN_CAM_RESOLUTION);
|
|
579
|
-
this._sessionEvents.trigger(
|
|
568
|
+
this._sessionEvents.trigger(constants_1.MAIN_CAM_CONTROL, {
|
|
580
569
|
mainCam,
|
|
581
570
|
resolutionMainCam,
|
|
582
571
|
});
|
|
@@ -618,29 +607,37 @@ class SipConnector {
|
|
|
618
607
|
this._handleNotify(headerNotifyParsed);
|
|
619
608
|
}
|
|
620
609
|
};
|
|
610
|
+
this._handleEnded = (error) => {
|
|
611
|
+
const { originator } = error;
|
|
612
|
+
if (originator === ORIGINATOR_REMOTE) {
|
|
613
|
+
this._sessionEvents.trigger(constants_1.ENDED_FROM_SERVER, error);
|
|
614
|
+
}
|
|
615
|
+
this._restoreSession();
|
|
616
|
+
};
|
|
621
617
|
this.JsSIP = JsSIP;
|
|
622
618
|
this._sessionEvents = new events_constructor_1.default(eventNames_1.SESSION_EVENT_NAMES);
|
|
623
619
|
this._uaEvents = new events_constructor_1.default(eventNames_1.UA_EVENT_NAMES);
|
|
624
|
-
this._cancelableConnect = new
|
|
620
|
+
this._cancelableConnect = new cancelable_promise_1.CancelableRequest(this._connect, moduleName, () => {
|
|
625
621
|
this._cancelableCreateUa.cancelRequest();
|
|
626
622
|
this._cancelableDisconnect.cancelRequest();
|
|
627
623
|
});
|
|
628
|
-
this._cancelableCreateUa = new
|
|
629
|
-
this._cancelableDisconnect = new
|
|
630
|
-
this._cancelableSet = new
|
|
631
|
-
this._cancelableCall = new
|
|
632
|
-
this._cancelableAnswer = new
|
|
633
|
-
this._cancelableSendDTMF = new
|
|
634
|
-
this.
|
|
635
|
-
this.onSession(
|
|
636
|
-
this.
|
|
637
|
-
this.
|
|
624
|
+
this._cancelableCreateUa = new cancelable_promise_1.CancelableRequest(this._createUa, moduleName);
|
|
625
|
+
this._cancelableDisconnect = new cancelable_promise_1.CancelableRequest(this._disconnect, moduleName);
|
|
626
|
+
this._cancelableSet = new cancelable_promise_1.CancelableRequest(this._set, moduleName);
|
|
627
|
+
this._cancelableCall = new cancelable_promise_1.CancelableRequest(this._call, moduleName);
|
|
628
|
+
this._cancelableAnswer = new cancelable_promise_1.CancelableRequest(this._answer, moduleName);
|
|
629
|
+
this._cancelableSendDTMF = new cancelable_promise_1.CancelableRequest(this._sendDTMF, moduleName);
|
|
630
|
+
this.onSession(constants_1.SHARE_STATE, this._handleShareState);
|
|
631
|
+
this.onSession(constants_1.NEW_INFO, this._handleNewInfo);
|
|
632
|
+
this.on(constants_1.SIP_EVENT, this._handleSipEvent);
|
|
633
|
+
this.onSession(constants_1.FAILED, this._handleEnded);
|
|
634
|
+
this.onSession(constants_1.ENDED, this._handleEnded);
|
|
638
635
|
}
|
|
639
636
|
register() {
|
|
640
637
|
return new Promise((resolve, reject) => {
|
|
641
638
|
if (this.isRegisterConfig) {
|
|
642
|
-
this.ua.on(
|
|
643
|
-
this.ua.on(
|
|
639
|
+
this.ua.on(constants_1.REGISTERED, resolve);
|
|
640
|
+
this.ua.on(constants_1.REGISTRATION_FAILED, reject);
|
|
644
641
|
this.ua.register();
|
|
645
642
|
}
|
|
646
643
|
else {
|
|
@@ -651,7 +648,7 @@ class SipConnector {
|
|
|
651
648
|
unregister() {
|
|
652
649
|
return new Promise((resolve, reject) => {
|
|
653
650
|
if (this.isRegistered) {
|
|
654
|
-
this.ua.on(
|
|
651
|
+
this.ua.on(constants_1.UNREGISTERED, resolve);
|
|
655
652
|
this.ua.unregister();
|
|
656
653
|
}
|
|
657
654
|
else {
|
|
@@ -689,7 +686,7 @@ class SipConnector {
|
|
|
689
686
|
return stream;
|
|
690
687
|
})
|
|
691
688
|
.catch((error) => {
|
|
692
|
-
this._sessionEvents.trigger(
|
|
689
|
+
this._sessionEvents.trigger(constants_1.PRESENTATION_FAILED, error);
|
|
693
690
|
throw error;
|
|
694
691
|
});
|
|
695
692
|
}
|
|
@@ -710,18 +707,21 @@ class SipConnector {
|
|
|
710
707
|
return this.session.stopPresentation(streamPresentationPrev);
|
|
711
708
|
})
|
|
712
709
|
.catch((error) => {
|
|
713
|
-
this._sessionEvents.trigger(
|
|
710
|
+
this._sessionEvents.trigger(constants_1.PRESENTATION_FAILED, error);
|
|
714
711
|
throw error;
|
|
715
712
|
});
|
|
716
713
|
}
|
|
717
714
|
if (!this.isEstablishedSession && streamPresentationPrev) {
|
|
718
|
-
this._sessionEvents.trigger(
|
|
715
|
+
this._sessionEvents.trigger(constants_1.PRESENTATION_ENDED, streamPresentationPrev);
|
|
719
716
|
}
|
|
720
717
|
return result.finally(() => {
|
|
721
|
-
|
|
722
|
-
this.isPendingPresentation = false;
|
|
718
|
+
this._resetPresentation();
|
|
723
719
|
});
|
|
724
720
|
}
|
|
721
|
+
_resetPresentation() {
|
|
722
|
+
delete this._streamPresentationCurrent;
|
|
723
|
+
this.isPendingPresentation = false;
|
|
724
|
+
}
|
|
725
725
|
on(eventName, handler) {
|
|
726
726
|
this._uaEvents.on(eventName, handler);
|
|
727
727
|
}
|
|
@@ -870,14 +870,13 @@ class SipConnector {
|
|
|
870
870
|
_cancelCallRequests() {
|
|
871
871
|
this._cancelableCall.cancelRequest();
|
|
872
872
|
this._cancelableAnswer.cancelRequest();
|
|
873
|
-
this._cancelableRestoreSession.cancelRequest();
|
|
874
873
|
}
|
|
875
874
|
_cancelActionsRequests() {
|
|
876
875
|
this._cancelableAnswer.cancelRequest();
|
|
877
876
|
this._cancelableSendDTMF.cancelRequest();
|
|
878
877
|
}
|
|
879
878
|
waitChannels() {
|
|
880
|
-
return this.waitSession(
|
|
879
|
+
return this.waitSession(constants_1.CHANNELS);
|
|
881
880
|
}
|
|
882
881
|
sendChannels({ inputChannels, outputChannels }) {
|
|
883
882
|
const headerInputChannels = `${headers_1.HEADER_INPUT_CHANNELS}: ${inputChannels}`;
|