@voicenter-team/opensips-js 1.0.10 → 1.0.11
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/build/helpers/jssip.d.ts +5 -0
- package/build/helpers/jssip.js +30 -0
- package/build/index.d.ts +3 -0
- package/build/index.js +27 -7
- package/package.json +1 -1
- package/src/types/rtc.d.ts +8 -1
@@ -0,0 +1,5 @@
|
|
1
|
+
import JsSIP, { UA } from 'jssip';
|
2
|
+
import { IncomingAckEvent, IncomingEvent, OutgoingAckEvent, OutgoingEvent } from 'jssip/lib/RTCSession';
|
3
|
+
import { RTCSessionEvent, UAConfiguration, UAEventMap } from 'jssip/lib/UA';
|
4
|
+
export default JsSIP;
|
5
|
+
export { UA, IncomingAckEvent, IncomingEvent, OutgoingAckEvent, OutgoingEvent, RTCSessionEvent, UAConfiguration, UAEventMap };
|
@@ -0,0 +1,30 @@
|
|
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
|
+
exports.UA = void 0;
|
27
|
+
// @ts-nocheck
|
28
|
+
const jssip_1 = __importStar(require("jssip"));
|
29
|
+
Object.defineProperty(exports, "UA", { enumerable: true, get: function () { return jssip_1.UA; } });
|
30
|
+
exports.default = jssip_1.default;
|
package/build/index.d.ts
CHANGED
@@ -38,6 +38,7 @@ export interface InnerState {
|
|
38
38
|
[key: string]: Array<(call: RTCSessionExtended, event: ListenerEventType | undefined) => void>;
|
39
39
|
};
|
40
40
|
metricConfig: WebrtcMetricsConfigType;
|
41
|
+
isAutoAnswer: boolean;
|
41
42
|
}
|
42
43
|
declare class OpenSIPSJS extends UA {
|
43
44
|
private initialized;
|
@@ -67,6 +68,8 @@ declare class OpenSIPSJS extends UA {
|
|
67
68
|
};
|
68
69
|
get currentActiveRoomId(): number | undefined;
|
69
70
|
private set currentActiveRoomId(value);
|
71
|
+
get autoAnswer(): boolean;
|
72
|
+
set autoAnswer(value: boolean);
|
70
73
|
get callAddingInProgress(): string | undefined;
|
71
74
|
private set callAddingInProgress(value);
|
72
75
|
get muteWhenJoin(): boolean;
|
package/build/index.js
CHANGED
@@ -14,6 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
15
15
|
const jssip_1 = __importDefault(require("jssip"));
|
16
16
|
const UA_1 = __importDefault(require("./helpers/UA"));
|
17
|
+
const RTCSession_1 = require("jssip/lib/RTCSession");
|
17
18
|
const p_iteration_1 = require("p-iteration");
|
18
19
|
const time_helper_1 = require("./helpers/time.helper");
|
19
20
|
const filter_helper_1 = require("./helpers/filter.helper");
|
@@ -36,6 +37,7 @@ class OpenSIPSJS extends UA_1.default {
|
|
36
37
|
this.activeCalls = {};
|
37
38
|
this.state = {
|
38
39
|
isMuted: false,
|
40
|
+
isAutoAnswer: false,
|
39
41
|
activeCalls: {},
|
40
42
|
availableMediaDevices: [],
|
41
43
|
selectedMediaDevices: {
|
@@ -82,6 +84,12 @@ class OpenSIPSJS extends UA_1.default {
|
|
82
84
|
this._currentActiveRoomId = roomId;
|
83
85
|
this.emit('currentActiveRoomChanged', roomId);
|
84
86
|
}
|
87
|
+
get autoAnswer() {
|
88
|
+
return this.state.isAutoAnswer;
|
89
|
+
}
|
90
|
+
set autoAnswer(value) {
|
91
|
+
this.state.isAutoAnswer = value;
|
92
|
+
}
|
85
93
|
get callAddingInProgress() {
|
86
94
|
return this._callAddingInProgress;
|
87
95
|
}
|
@@ -264,7 +272,7 @@ class OpenSIPSJS extends UA_1.default {
|
|
264
272
|
}
|
265
273
|
_cancelAllOutgoingUnanswered() {
|
266
274
|
Object.values(this.getActiveCalls).filter(call => {
|
267
|
-
return call.direction ===
|
275
|
+
return call.direction === RTCSession_1.SessionDirection.OUTGOING
|
268
276
|
&& call.status === CALL_STATUS_UNANSWERED;
|
269
277
|
}).forEach(call => this.callTerminate(call._id));
|
270
278
|
}
|
@@ -296,10 +304,12 @@ class OpenSIPSJS extends UA_1.default {
|
|
296
304
|
this.state.activeRooms = Object.assign(Object.assign({}, this.state.activeRooms), { [value.roomId]: Object.assign({}, newRoomData) });
|
297
305
|
this.emit('updateRoom', { room: newRoomData, roomList: this.state.activeRooms });
|
298
306
|
}
|
299
|
-
_addCall(value) {
|
307
|
+
_addCall(value, emitEvent = true) {
|
300
308
|
this.state.activeCalls = Object.assign(Object.assign({}, this.state.activeCalls), { [value._id]: (0, audio_helper_1.simplifyCallObject)(value) });
|
301
309
|
activeCalls[value._id] = value;
|
302
|
-
|
310
|
+
if (emitEvent) {
|
311
|
+
this.emit('changeActiveCalls', this.state.activeCalls);
|
312
|
+
}
|
303
313
|
}
|
304
314
|
_addCallStatus(callId) {
|
305
315
|
this.state.callStatus = Object.assign(Object.assign({}, this.state.callStatus), { [callId]: {
|
@@ -638,7 +648,7 @@ class OpenSIPSJS extends UA_1.default {
|
|
638
648
|
incomingInProgress: false,
|
639
649
|
roomId
|
640
650
|
};
|
641
|
-
if (session.direction ===
|
651
|
+
if (session.direction === RTCSession_1.SessionDirection.INCOMING) {
|
642
652
|
newRoomInfo.incomingInProgress = true;
|
643
653
|
this.subscribe(call_event_listener_type_1.CALL_EVENT_LISTENER_TYPE.CALL_CONFIRMED, (call) => {
|
644
654
|
if (session.id === call.id) {
|
@@ -658,15 +668,25 @@ class OpenSIPSJS extends UA_1.default {
|
|
658
668
|
}
|
659
669
|
});
|
660
670
|
}
|
661
|
-
else if (session.direction ===
|
671
|
+
else if (session.direction === RTCSession_1.SessionDirection.OUTGOING) {
|
662
672
|
this._startCallTimer(session.id);
|
663
673
|
}
|
664
674
|
const call = session;
|
665
675
|
call.roomId = roomId;
|
666
676
|
call.localMuted = false;
|
667
|
-
this.
|
677
|
+
const doAutoAnswer = call.direction === RTCSession_1.SessionDirection.INCOMING && this.autoAnswer;
|
678
|
+
if (doAutoAnswer) {
|
679
|
+
this._addCall(call, false);
|
680
|
+
}
|
681
|
+
else {
|
682
|
+
this._addCall(call);
|
683
|
+
}
|
684
|
+
// this._addCall(call)
|
668
685
|
this._addCallStatus(session.id);
|
669
686
|
this._addRoom(newRoomInfo);
|
687
|
+
if (doAutoAnswer) {
|
688
|
+
this.callAnswer(call._id);
|
689
|
+
}
|
670
690
|
});
|
671
691
|
}
|
672
692
|
_triggerListener({ listenerType, session, event }) {
|
@@ -733,7 +753,7 @@ class OpenSIPSJS extends UA_1.default {
|
|
733
753
|
}
|
734
754
|
});
|
735
755
|
this.addCall(session);
|
736
|
-
if (session.direction ===
|
756
|
+
if (session.direction === RTCSession_1.SessionDirection.OUTGOING) {
|
737
757
|
const roomId = this.getActiveCalls[session.id].roomId;
|
738
758
|
this.setCurrentActiveRoomId(roomId);
|
739
759
|
}
|
package/package.json
CHANGED
package/src/types/rtc.d.ts
CHANGED
@@ -43,6 +43,13 @@ export interface AnswerOptionsExtended extends AnswerOptions {
|
|
43
43
|
mediaConstraints?: MediaStreamConstraints
|
44
44
|
}
|
45
45
|
|
46
|
+
export interface RemoteIdentityCallType {
|
47
|
+
_display_name: string
|
48
|
+
_uri: {
|
49
|
+
_user: string
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
46
53
|
export interface RTCSessionExtended extends RTCSession {
|
47
54
|
id: string
|
48
55
|
_automaticHold: boolean
|
@@ -59,7 +66,7 @@ export interface RTCSessionExtended extends RTCSession {
|
|
59
66
|
_late_sdp: string
|
60
67
|
_videoMuted: boolean
|
61
68
|
_status: number
|
62
|
-
_remote_identity:
|
69
|
+
_remote_identity: RemoteIdentityCallType
|
63
70
|
answer(options?: AnswerOptionsExtended): void
|
64
71
|
}
|
65
72
|
|