sip-connector 5.1.7 → 5.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/SipConnector.d.ts +22 -14
- package/dist/SipConnector.d.ts.map +1 -1
- package/dist/SipConnector.js +137 -92
- package/dist/SipConnector.js.map +1 -1
- package/dist/__mocks__/jssip.mock.d.ts +6 -5
- package/dist/__mocks__/jssip.mock.d.ts.map +1 -1
- package/dist/__mocks__/jssip.mock.js +28 -12
- package/dist/__mocks__/jssip.mock.js.map +1 -1
- package/dist/__mocks__/mediaState.d.ts +8 -0
- package/dist/__mocks__/mediaState.d.ts.map +1 -0
- package/dist/__mocks__/mediaState.js +14 -0
- package/dist/__mocks__/mediaState.js.map +1 -0
- package/dist/eventNames.d.ts +4 -4
- package/dist/eventNames.d.ts.map +1 -1
- package/dist/eventNames.js +11 -11
- package/dist/eventNames.js.map +1 -1
- package/dist/headers.d.ts +9 -0
- package/dist/headers.d.ts.map +1 -1
- package/dist/headers.js +10 -1
- package/dist/headers.js.map +1 -1
- package/dist/index.es5.js +1 -1
- package/dist/index.es5.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/dist/utils/errors.d.ts +2 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +9 -0
- package/dist/utils/errors.js.map +1 -0
- package/package.json +21 -21
package/dist/SipConnector.d.ts
CHANGED
|
@@ -25,6 +25,13 @@ declare type TChannels = {
|
|
|
25
25
|
inputChannels: string;
|
|
26
26
|
outputChannels: string;
|
|
27
27
|
};
|
|
28
|
+
declare type TMediaState = {
|
|
29
|
+
cam: boolean;
|
|
30
|
+
mic: boolean;
|
|
31
|
+
};
|
|
32
|
+
declare type TOptionsInfoMediaState = {
|
|
33
|
+
noTerminateWhenError: boolean;
|
|
34
|
+
};
|
|
28
35
|
declare const CMD_CHANNELS: "channels";
|
|
29
36
|
declare const CMD_WEBCAST_STARTED: "WebcastStarted";
|
|
30
37
|
declare const CMD_ADDED_TO_LIST_MODERATORS: "addedToListModerators";
|
|
@@ -168,6 +175,8 @@ export default class SipConnector {
|
|
|
168
175
|
}) => Promise<unknown>;
|
|
169
176
|
busyIncomingCall: () => Promise<unknown>;
|
|
170
177
|
removeIncomingSession: () => void;
|
|
178
|
+
askPermissionToEnableCam(options?: TOptionsInfoMediaState): Promise<void>;
|
|
179
|
+
askPermissionToEnableMic(options?: TOptionsInfoMediaState): Promise<void>;
|
|
171
180
|
startPresentation(stream: MediaStream, { isNeedReinvite, isP2P, maxBitrate, }?: {
|
|
172
181
|
isNeedReinvite?: boolean;
|
|
173
182
|
isP2P?: boolean;
|
|
@@ -186,8 +195,6 @@ export default class SipConnector {
|
|
|
186
195
|
onceSession(eventName: TEventSession, handler: any): void;
|
|
187
196
|
waitSession(eventName: TEventSession): Promise<any>;
|
|
188
197
|
offSession(eventName: TEventSession, handler: any): void;
|
|
189
|
-
isMutedVideo(): boolean | undefined;
|
|
190
|
-
isMutedAudio(): boolean | undefined;
|
|
191
198
|
isConfigured(): boolean;
|
|
192
199
|
getConnectionConfiguration(): {
|
|
193
200
|
sipServerUrl?: string | undefined;
|
|
@@ -207,7 +214,7 @@ export default class SipConnector {
|
|
|
207
214
|
session: RTCSession | undefined;
|
|
208
215
|
};
|
|
209
216
|
get requested(): boolean;
|
|
210
|
-
get
|
|
217
|
+
get establishedSession(): RTCSession | undefined;
|
|
211
218
|
get isRegistered(): boolean;
|
|
212
219
|
get isRegisterConfig(): boolean;
|
|
213
220
|
get isCallActive(): boolean;
|
|
@@ -241,17 +248,17 @@ export default class SipConnector {
|
|
|
241
248
|
_handleShareState: (eventName: any) => void;
|
|
242
249
|
_maybeTriggerChannels: (request: IncomingRequest) => void;
|
|
243
250
|
_handleNotify: (header: TInfoNotify) => void;
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
251
|
+
_triggerRemovedFromListModeratorsNotify: ({ conference, }: TRemovedFromListModeratorsInfoNotify) => void;
|
|
252
|
+
_triggerAddedToListModeratorsNotify: ({ conference }: TAddedToListModeratorsInfoNotify) => void;
|
|
253
|
+
_triggerWebcastStartedNotify: ({ body: { conference, type } }: TWebcastInfoNotify) => void;
|
|
254
|
+
_triggerWebcastStoppedNotify: ({ body: { conference, type } }: TWebcastInfoNotify) => void;
|
|
255
|
+
_triggerAccountChangedNotify: () => void;
|
|
256
|
+
_triggerAccountDeletedNotify: () => void;
|
|
257
|
+
_triggerConferenceParticipantTokenIssued: ({ body: { conference, participant, jwt }, }: TConferenceParticipantTokenIssued) => void;
|
|
258
|
+
_triggerChannelsNotify: (channelsInfo: TChannelsInfoNotify) => void;
|
|
259
|
+
_triggerParticipantMoveRequestToConference: ({ body: { conference }, }: TMoveRequestToConferenceInfoNotify) => void;
|
|
260
|
+
_triggerParticipantCancelingWordRequest: ({ body: { conference }, }: TCancelingWordRequestInfoNotify) => void;
|
|
261
|
+
_triggerParticipantMoveRequestToStream: ({ body: { conference }, }: TMoveRequestToStreamInfoNotify) => void;
|
|
255
262
|
_triggerEnterRoom: (request: IncomingRequest) => void;
|
|
256
263
|
_triggerShareState: (request: IncomingRequest) => void;
|
|
257
264
|
_triggerMainCamControl: (request: IncomingRequest) => void;
|
|
@@ -262,6 +269,7 @@ export default class SipConnector {
|
|
|
262
269
|
_maybeHandleNotify: (request: IncomingRequest) => void;
|
|
263
270
|
waitChannels(): Promise<TChannels>;
|
|
264
271
|
sendChannels({ inputChannels, outputChannels }: TChannels): void;
|
|
272
|
+
sendMediaState({ cam, mic }: TMediaState, options?: TOptionsInfoMediaState): void;
|
|
265
273
|
_handleEnded: (error: ICustomError) => void;
|
|
266
274
|
}
|
|
267
275
|
export {};
|
|
@@ -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;AAU/B,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"SipConnector.d.ts","sourceRoot":"","sources":["../src/SipConnector.ts"],"names":[],"mappings":"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"}
|
package/dist/SipConnector.js
CHANGED
|
@@ -21,6 +21,7 @@ const causes_1 = require("./causes");
|
|
|
21
21
|
const headers_1 = require("./headers");
|
|
22
22
|
const getExtraHeadersRemoteAddress_1 = __importDefault(require("./getExtraHeadersRemoteAddress"));
|
|
23
23
|
const utils_1 = require("./utils");
|
|
24
|
+
const errors_1 = require("./utils/errors");
|
|
24
25
|
const constants_1 = require("./constants");
|
|
25
26
|
const BUSY_HERE_STATUS_CODE = 486;
|
|
26
27
|
const REQUEST_TERMINATED_STATUS_CODE = 487;
|
|
@@ -315,19 +316,24 @@ class SipConnector {
|
|
|
315
316
|
}
|
|
316
317
|
this.session = this.incomingSession;
|
|
317
318
|
this.removeIncomingSession();
|
|
319
|
+
const session = this.session;
|
|
320
|
+
if (!session) {
|
|
321
|
+
reject(new Error('No session established'));
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
318
324
|
this._sessionEvents.eachTriggers((trigger, eventName) => {
|
|
319
325
|
const sessionJsSipEvent = eventNames_1.SESSION_JSSIP_EVENT_NAMES.find((jsSipEvent) => {
|
|
320
326
|
return jsSipEvent === eventName;
|
|
321
327
|
});
|
|
322
328
|
if (sessionJsSipEvent) {
|
|
323
|
-
|
|
329
|
+
session.on(sessionJsSipEvent, trigger);
|
|
324
330
|
}
|
|
325
331
|
});
|
|
326
332
|
this._connectionConfiguration.answer = true;
|
|
327
|
-
this._connectionConfiguration.number =
|
|
333
|
+
this._connectionConfiguration.number = session.remote_identity.uri.user;
|
|
328
334
|
this._handleCall({ ontrack }).then(resolve).catch(reject);
|
|
329
335
|
const preparedMediaStream = mediaStream ? (0, utils_1.prepareMediaStream)(mediaStream) : undefined;
|
|
330
|
-
|
|
336
|
+
session.answer({
|
|
331
337
|
extraHeaders,
|
|
332
338
|
mediaStream: preparedMediaStream,
|
|
333
339
|
pcConfig: {
|
|
@@ -390,20 +396,20 @@ class SipConnector {
|
|
|
390
396
|
};
|
|
391
397
|
this._sendDTMF = (tone) => {
|
|
392
398
|
return new Promise((resolve, reject) => {
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
}
|
|
398
|
-
});
|
|
399
|
-
this.session.sendDTMF(tone, {
|
|
400
|
-
duration: 120,
|
|
401
|
-
interToneGap: 600,
|
|
402
|
-
});
|
|
403
|
-
}
|
|
404
|
-
else {
|
|
405
|
-
reject();
|
|
399
|
+
const session = this.session;
|
|
400
|
+
if (!session) {
|
|
401
|
+
reject(new Error('No session established'));
|
|
402
|
+
return;
|
|
406
403
|
}
|
|
404
|
+
this.onceSession(constants_1.NEW_DTMF, ({ originator }) => {
|
|
405
|
+
if (originator === ORIGINATOR_LOCAL) {
|
|
406
|
+
resolve();
|
|
407
|
+
}
|
|
408
|
+
});
|
|
409
|
+
session.sendDTMF(tone, {
|
|
410
|
+
duration: 120,
|
|
411
|
+
interToneGap: 600,
|
|
412
|
+
});
|
|
407
413
|
});
|
|
408
414
|
};
|
|
409
415
|
this._hangUpWithoutCancelRequests = () => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -447,115 +453,113 @@ class SipConnector {
|
|
|
447
453
|
this._handleNotify = (header) => {
|
|
448
454
|
if (header.cmd === CMD_CHANNELS) {
|
|
449
455
|
const channelsInfo = header;
|
|
450
|
-
this.
|
|
456
|
+
this._triggerChannelsNotify(channelsInfo);
|
|
451
457
|
}
|
|
452
458
|
else if (header.cmd === CMD_WEBCAST_STARTED) {
|
|
453
459
|
const webcastInfo = header;
|
|
454
|
-
this.
|
|
460
|
+
this._triggerWebcastStartedNotify(webcastInfo);
|
|
455
461
|
}
|
|
456
462
|
else if (header.cmd === CMD_WEBCAST_STOPPED) {
|
|
457
463
|
const webcastInfo = header;
|
|
458
|
-
this.
|
|
464
|
+
this._triggerWebcastStoppedNotify(webcastInfo);
|
|
459
465
|
}
|
|
460
466
|
else if (header.cmd === CMD_ADDED_TO_LIST_MODERATORS) {
|
|
461
467
|
const data = header;
|
|
462
|
-
this.
|
|
468
|
+
this._triggerAddedToListModeratorsNotify(data);
|
|
463
469
|
}
|
|
464
470
|
else if (header.cmd === CMD_REMOVED_FROM_LIST_MODERATORS) {
|
|
465
471
|
const data = header;
|
|
466
|
-
this.
|
|
472
|
+
this._triggerRemovedFromListModeratorsNotify(data);
|
|
467
473
|
}
|
|
468
474
|
else if (header.cmd === CMD_MOVE_REQUEST_TO_CONFERENCE) {
|
|
469
475
|
const data = header;
|
|
470
|
-
this.
|
|
476
|
+
this._triggerParticipantMoveRequestToConference(data);
|
|
471
477
|
}
|
|
472
478
|
else if (header.cmd === CMD_CANCELLING_WORD_REQUEST) {
|
|
473
479
|
const data = header;
|
|
474
|
-
this.
|
|
480
|
+
this._triggerParticipantCancelingWordRequest(data);
|
|
475
481
|
}
|
|
476
482
|
else if (header.cmd === CMD_MOVE_REQUEST_TO_STREAM) {
|
|
477
483
|
const data = header;
|
|
478
|
-
this.
|
|
484
|
+
this._triggerParticipantMoveRequestToStream(data);
|
|
479
485
|
}
|
|
480
486
|
else if (header.cmd === CMD_ACCOUNT_CHANGED) {
|
|
481
|
-
this.
|
|
487
|
+
this._triggerAccountChangedNotify();
|
|
482
488
|
}
|
|
483
489
|
else if (header.cmd === CMD_ACCOUNT_DELETED) {
|
|
484
|
-
this.
|
|
490
|
+
this._triggerAccountDeletedNotify();
|
|
485
491
|
}
|
|
486
492
|
else if (header.cmd === CMD_CONFERENCE_PARTICIPANT_TOKEN_ISSUED) {
|
|
487
493
|
const data = header;
|
|
488
|
-
this.
|
|
494
|
+
this._triggerConferenceParticipantTokenIssued(data);
|
|
489
495
|
}
|
|
490
496
|
};
|
|
491
|
-
this.
|
|
497
|
+
this._triggerRemovedFromListModeratorsNotify = ({ conference, }) => {
|
|
492
498
|
const headersParametersModeratorsList = {
|
|
493
499
|
conference,
|
|
494
500
|
};
|
|
495
|
-
this.
|
|
501
|
+
this._uaEvents.trigger(constants_1.PARTICIPANT_REMOVED_FROM_LIST_MODERATORS, headersParametersModeratorsList);
|
|
496
502
|
};
|
|
497
|
-
this.
|
|
503
|
+
this._triggerAddedToListModeratorsNotify = ({ conference }) => {
|
|
498
504
|
const headersParametersModeratorsList = {
|
|
499
505
|
conference,
|
|
500
506
|
};
|
|
501
|
-
this.
|
|
507
|
+
this._uaEvents.trigger(constants_1.PARTICIPANT_ADDED_TO_LIST_MODERATORS, headersParametersModeratorsList);
|
|
502
508
|
};
|
|
503
|
-
this.
|
|
509
|
+
this._triggerWebcastStartedNotify = ({ body: { conference, type } }) => {
|
|
504
510
|
const headersParametersWebcast = {
|
|
505
511
|
conference,
|
|
506
512
|
type,
|
|
507
513
|
};
|
|
508
|
-
this.
|
|
514
|
+
this._uaEvents.trigger(constants_1.WEBCAST_STARTED, headersParametersWebcast);
|
|
509
515
|
};
|
|
510
|
-
this.
|
|
516
|
+
this._triggerWebcastStoppedNotify = ({ body: { conference, type } }) => {
|
|
511
517
|
const headersParametersWebcast = {
|
|
512
518
|
conference,
|
|
513
519
|
type,
|
|
514
520
|
};
|
|
515
|
-
this.
|
|
521
|
+
this._uaEvents.trigger(constants_1.WEBCAST_STOPPED, headersParametersWebcast);
|
|
516
522
|
};
|
|
517
|
-
this.
|
|
518
|
-
this.
|
|
523
|
+
this._triggerAccountChangedNotify = () => {
|
|
524
|
+
this._uaEvents.trigger(constants_1.ACCOUNT_CHANGED, undefined);
|
|
519
525
|
};
|
|
520
|
-
this.
|
|
521
|
-
this.
|
|
526
|
+
this._triggerAccountDeletedNotify = () => {
|
|
527
|
+
this._uaEvents.trigger(constants_1.ACCOUNT_DELETED, undefined);
|
|
522
528
|
};
|
|
523
|
-
this.
|
|
529
|
+
this._triggerConferenceParticipantTokenIssued = ({ body: { conference, participant, jwt }, }) => {
|
|
524
530
|
const headersConferenceParticipantTokenIssued = {
|
|
525
531
|
conference,
|
|
526
532
|
participant,
|
|
527
533
|
jwt,
|
|
528
534
|
};
|
|
529
|
-
this.
|
|
535
|
+
this._uaEvents.trigger(constants_1.CONFERENCE_PARTICIPANT_TOKEN_ISSUED, headersConferenceParticipantTokenIssued);
|
|
530
536
|
};
|
|
531
|
-
this.
|
|
537
|
+
this._triggerChannelsNotify = (channelsInfo) => {
|
|
532
538
|
const inputChannels = channelsInfo.input;
|
|
533
539
|
const outputChannels = channelsInfo.output;
|
|
534
540
|
const data = {
|
|
535
541
|
inputChannels,
|
|
536
542
|
outputChannels,
|
|
537
543
|
};
|
|
538
|
-
|
|
539
|
-
this._sessionEvents.trigger(constants_1.CHANNELS_NOTIFY, data);
|
|
540
|
-
}
|
|
544
|
+
this._uaEvents.trigger(constants_1.CHANNELS_NOTIFY, data);
|
|
541
545
|
};
|
|
542
|
-
this.
|
|
546
|
+
this._triggerParticipantMoveRequestToConference = ({ body: { conference }, }) => {
|
|
543
547
|
const data = {
|
|
544
548
|
conference,
|
|
545
549
|
};
|
|
546
|
-
this.
|
|
550
|
+
this._uaEvents.trigger(constants_1.PARTICIPANT_MOVE_REQUEST_TO_CONFERENCE, data);
|
|
547
551
|
};
|
|
548
|
-
this.
|
|
552
|
+
this._triggerParticipantCancelingWordRequest = ({ body: { conference }, }) => {
|
|
549
553
|
const data = {
|
|
550
554
|
conference,
|
|
551
555
|
};
|
|
552
|
-
this.
|
|
556
|
+
this._uaEvents.trigger(constants_1.PARTICIPANT_CANCELLING_WORD_REQUEST, data);
|
|
553
557
|
};
|
|
554
|
-
this.
|
|
558
|
+
this._triggerParticipantMoveRequestToStream = ({ body: { conference }, }) => {
|
|
555
559
|
const data = {
|
|
556
560
|
conference,
|
|
557
561
|
};
|
|
558
|
-
this.
|
|
562
|
+
this._uaEvents.trigger(constants_1.PARTICIPANT_MOVE_REQUEST_TO_STREAM, data);
|
|
559
563
|
};
|
|
560
564
|
this._triggerEnterRoom = (request) => {
|
|
561
565
|
const room = request.getHeader(headers_1.HEADER_CONTENT_ENTER_ROOM);
|
|
@@ -660,9 +664,44 @@ class SipConnector {
|
|
|
660
664
|
});
|
|
661
665
|
}
|
|
662
666
|
replaceMediaStream(mediaStream, options) {
|
|
667
|
+
if (!this.session) {
|
|
668
|
+
throw new Error('No session established');
|
|
669
|
+
}
|
|
663
670
|
return this.session.replaceMediaStream(mediaStream, options);
|
|
664
671
|
}
|
|
672
|
+
askPermissionToEnableCam(options = { noTerminateWhenError: true }) {
|
|
673
|
+
if (!this.session) {
|
|
674
|
+
throw new Error('No session established');
|
|
675
|
+
}
|
|
676
|
+
const extraHeaders = [headers_1.HEADER_ENABLE_MAIN_CAM];
|
|
677
|
+
return this.session
|
|
678
|
+
.sendInfo(headers_1.CONTENT_TYPE_MAIN_CAM, undefined, Object.assign(Object.assign({}, options), { extraHeaders }))
|
|
679
|
+
.catch((error) => {
|
|
680
|
+
if ((0, errors_1.hasDeclineResponseFromServer)(error)) {
|
|
681
|
+
throw error;
|
|
682
|
+
}
|
|
683
|
+
return;
|
|
684
|
+
});
|
|
685
|
+
}
|
|
686
|
+
askPermissionToEnableMic(options = { noTerminateWhenError: true }) {
|
|
687
|
+
if (!this.session) {
|
|
688
|
+
throw new Error('No session established');
|
|
689
|
+
}
|
|
690
|
+
const extraHeaders = [headers_1.HEADER_ENABLE_MIC];
|
|
691
|
+
return this.session
|
|
692
|
+
.sendInfo(headers_1.CONTENT_TYPE_MIC, undefined, Object.assign(Object.assign({}, options), { extraHeaders }))
|
|
693
|
+
.catch((error) => {
|
|
694
|
+
if ((0, errors_1.hasDeclineResponseFromServer)(error)) {
|
|
695
|
+
throw error;
|
|
696
|
+
}
|
|
697
|
+
return;
|
|
698
|
+
});
|
|
699
|
+
}
|
|
665
700
|
startPresentation(stream, { isNeedReinvite = true, isP2P = false, maxBitrate, } = {}) {
|
|
701
|
+
const session = this.establishedSession;
|
|
702
|
+
if (!session) {
|
|
703
|
+
return Promise.reject(new Error('No session established'));
|
|
704
|
+
}
|
|
666
705
|
this.isPendingPresentation = true;
|
|
667
706
|
const streamPresentationCurrent = (0, utils_1.prepareMediaStream)(stream);
|
|
668
707
|
this._streamPresentationCurrent = streamPresentationCurrent;
|
|
@@ -670,29 +709,28 @@ class SipConnector {
|
|
|
670
709
|
const preparatoryHeaders = isP2P
|
|
671
710
|
? [headers_1.HEADER_START_PRESENTATION_P2P]
|
|
672
711
|
: [headers_1.HEADER_START_PRESENTATION];
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
}
|
|
712
|
+
result = session
|
|
713
|
+
.sendInfo(headers_1.CONTENT_TYPE_SHARE_STATE, undefined, {
|
|
714
|
+
extraHeaders: preparatoryHeaders,
|
|
715
|
+
})
|
|
716
|
+
.then(() => {
|
|
717
|
+
return session.startPresentation(streamPresentationCurrent, isNeedReinvite);
|
|
718
|
+
})
|
|
719
|
+
.then(() => {
|
|
720
|
+
const { connection } = this;
|
|
721
|
+
if (!connection || maxBitrate === undefined) {
|
|
722
|
+
return undefined;
|
|
723
|
+
}
|
|
724
|
+
const senders = connection.getSenders();
|
|
725
|
+
return (0, scaleBitrate_1.default)(senders, stream, maxBitrate);
|
|
726
|
+
})
|
|
727
|
+
.then(() => {
|
|
728
|
+
return stream;
|
|
729
|
+
})
|
|
730
|
+
.catch((error) => {
|
|
731
|
+
this._sessionEvents.trigger(constants_1.PRESENTATION_FAILED, error);
|
|
732
|
+
throw error;
|
|
733
|
+
});
|
|
696
734
|
return result.finally(() => {
|
|
697
735
|
this.isPendingPresentation = false;
|
|
698
736
|
});
|
|
@@ -702,19 +740,21 @@ class SipConnector {
|
|
|
702
740
|
const streamPresentationPrev = this._streamPresentationCurrent;
|
|
703
741
|
let result = Promise.resolve();
|
|
704
742
|
const preparatoryHeaders = isP2P ? [headers_1.HEADER_STOP_PRESENTATION_P2P] : [headers_1.HEADER_STOP_PRESENTATION];
|
|
705
|
-
|
|
706
|
-
|
|
743
|
+
const session = this.establishedSession;
|
|
744
|
+
if (session && streamPresentationPrev) {
|
|
745
|
+
result = session
|
|
746
|
+
.sendInfo(headers_1.CONTENT_TYPE_SHARE_STATE, undefined, {
|
|
707
747
|
extraHeaders: preparatoryHeaders,
|
|
708
748
|
})
|
|
709
749
|
.then(() => {
|
|
710
|
-
return
|
|
750
|
+
return session.stopPresentation(streamPresentationPrev);
|
|
711
751
|
})
|
|
712
752
|
.catch((error) => {
|
|
713
753
|
this._sessionEvents.trigger(constants_1.PRESENTATION_FAILED, error);
|
|
714
754
|
throw error;
|
|
715
755
|
});
|
|
716
756
|
}
|
|
717
|
-
if (!
|
|
757
|
+
if (!session && streamPresentationPrev) {
|
|
718
758
|
this._sessionEvents.trigger(constants_1.PRESENTATION_ENDED, streamPresentationPrev);
|
|
719
759
|
}
|
|
720
760
|
return result.finally(() => {
|
|
@@ -749,18 +789,6 @@ class SipConnector {
|
|
|
749
789
|
offSession(eventName, handler) {
|
|
750
790
|
this._sessionEvents.off(eventName, handler);
|
|
751
791
|
}
|
|
752
|
-
isMutedVideo() {
|
|
753
|
-
if (!this.session) {
|
|
754
|
-
return undefined;
|
|
755
|
-
}
|
|
756
|
-
return this.session.isMuted().video;
|
|
757
|
-
}
|
|
758
|
-
isMutedAudio() {
|
|
759
|
-
if (!this.session) {
|
|
760
|
-
return undefined;
|
|
761
|
-
}
|
|
762
|
-
return this.session.isMuted().audio;
|
|
763
|
-
}
|
|
764
792
|
isConfigured() {
|
|
765
793
|
return !!this.ua;
|
|
766
794
|
}
|
|
@@ -803,8 +831,8 @@ class SipConnector {
|
|
|
803
831
|
this._cancelableCall.requested ||
|
|
804
832
|
this._cancelableAnswer.requested);
|
|
805
833
|
}
|
|
806
|
-
get
|
|
807
|
-
return this.session && this.session.isEstablished();
|
|
834
|
+
get establishedSession() {
|
|
835
|
+
return this.session && this.session.isEstablished() ? this.session : undefined;
|
|
808
836
|
}
|
|
809
837
|
get isRegistered() {
|
|
810
838
|
return !!this.ua && this.ua.isRegistered();
|
|
@@ -882,6 +910,9 @@ class SipConnector {
|
|
|
882
910
|
return this.waitSession(constants_1.CHANNELS);
|
|
883
911
|
}
|
|
884
912
|
sendChannels({ inputChannels, outputChannels }) {
|
|
913
|
+
if (!this.session) {
|
|
914
|
+
throw new Error('No session established');
|
|
915
|
+
}
|
|
885
916
|
const headerInputChannels = `${headers_1.HEADER_INPUT_CHANNELS}: ${inputChannels}`;
|
|
886
917
|
const headerOutputChannels = `${headers_1.HEADER_OUTPUT_CHANNELS}: ${outputChannels}`;
|
|
887
918
|
const extraHeaders = [
|
|
@@ -890,6 +921,20 @@ class SipConnector {
|
|
|
890
921
|
];
|
|
891
922
|
this.session.sendInfo(headers_1.CONTENT_TYPE_CHANNELS, undefined, { extraHeaders });
|
|
892
923
|
}
|
|
924
|
+
sendMediaState({ cam, mic }, options = { noTerminateWhenError: true }) {
|
|
925
|
+
if (!this.session) {
|
|
926
|
+
throw new Error('No session established');
|
|
927
|
+
}
|
|
928
|
+
const headerMediaState = `${headers_1.HEADER_MEDIA_STATE}: currentstate`;
|
|
929
|
+
const headerCam = `${headers_1.HEADER_MAIN_CAM_STATE}: ${+cam}`;
|
|
930
|
+
const headerMic = `${headers_1.HEADER_MIC_STATE}: ${+mic}`;
|
|
931
|
+
const extraHeaders = [
|
|
932
|
+
headerMediaState,
|
|
933
|
+
headerCam,
|
|
934
|
+
headerMic,
|
|
935
|
+
];
|
|
936
|
+
this.session.sendInfo(headers_1.CONTENT_TYPE_MEDIA_STATE, undefined, Object.assign(Object.assign({}, options), { extraHeaders }));
|
|
937
|
+
}
|
|
893
938
|
}
|
|
894
939
|
exports.default = SipConnector;
|
|
895
940
|
//# sourceMappingURL=SipConnector.js.map
|