@wazo/sdk 0.37.0 → 0.37.4
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/wazo-sdk.js +5 -5
- package/esm/__tests__/api-client.test.js +91 -23
- package/esm/__tests__/web-rtc-client.test.js +165 -56
- package/esm/api/agentd.js +7 -1
- package/esm/api/amid.js +7 -1
- package/esm/api/application.js +7 -1
- package/esm/api/auth.js +7 -1
- package/esm/api/call-logd.js +17 -23
- package/esm/api/calld.js +10 -18
- package/esm/api/chatd.js +7 -1
- package/esm/api/confd.js +78 -1
- package/esm/api/ctid-ng.js +7 -1
- package/esm/api/dird.js +7 -1
- package/esm/api/webhookd.js +7 -1
- package/esm/api-client.js +91 -23
- package/esm/checker/Checker.js +169 -56
- package/esm/checker/checks/aor.js +91 -23
- package/esm/checker/checks/api.js +91 -23
- package/esm/checker/checks/index.js +169 -56
- package/esm/checker/checks/wazo-websocket.js +11 -1
- package/esm/checker/checks/webrtc-transport.js +165 -56
- package/esm/checker/checks/webrtc.js +165 -56
- package/esm/domain/AdHocAPIConference.js +1722 -1654
- package/esm/domain/CallLog.js +10 -22
- package/esm/domain/CallSession.js +1 -18
- package/esm/domain/Features.js +91 -23
- package/esm/domain/IndirectTransfer.js +0 -17
- package/esm/domain/Meeting.js +71 -0
- package/esm/domain/Phone/CTIPhone.js +98 -26
- package/esm/domain/Phone/Phone.js +0 -17
- package/esm/domain/Phone/WebRTCPhone.js +47 -27
- package/esm/domain/Room.js +0 -17
- package/esm/domain/SwitchboardCall.js +0 -17
- package/esm/domain/__tests__/CallLog.test.js +10 -22
- package/esm/domain/__tests__/CallSession.test.js +1 -18
- package/esm/domain/__tests__/IndirectTransfer.test.js +1 -18
- package/esm/domain/__tests__/Room.test.js +1 -18
- package/esm/index.js +3880 -3111
- package/esm/lib/WazoSessionDescriptionHandler.js +24 -10
- package/esm/service/CallApi.js +91 -23
- package/esm/service/IssueReporter.js +7 -1
- package/esm/service/__tests__/IssueReporter.test.js +9 -1
- package/esm/service/getApiClient.js +91 -23
- package/esm/simple/Auth.js +1126 -360
- package/esm/simple/Configuration.js +1126 -360
- package/esm/simple/Directory.js +91 -23
- package/esm/simple/Phone.js +3724 -2958
- package/esm/simple/Websocket.js +13 -1
- package/esm/simple/index.js +1128 -362
- package/esm/simple/room/LocalParticipant.js +1097 -331
- package/esm/simple/room/Participant.js +1097 -331
- package/esm/simple/room/RemoteParticipant.js +1097 -331
- package/esm/simple/room/Room.js +1097 -331
- package/esm/simple/room/SipRoom.js +12996 -0
- package/esm/simple/room/Stream.js +1128 -362
- package/esm/simple/room/__tests__/RemoteParticipant.test.js +5157 -4389
- package/esm/simple/utils.js +1128 -362
- package/esm/utils/__tests__/api-requester.test.js +7 -1
- package/esm/utils/api-requester.js +7 -1
- package/esm/web-rtc-client.js +165 -56
- package/esm/websocket-client.js +12 -2
- package/lib/__tests__/api-client.test.js +91 -23
- package/lib/__tests__/web-rtc-client.test.js +165 -56
- package/lib/api/agentd.js +7 -1
- package/lib/api/amid.js +7 -1
- package/lib/api/application.js +7 -1
- package/lib/api/auth.js +7 -1
- package/lib/api/call-logd.js +17 -23
- package/lib/api/calld.js +10 -18
- package/lib/api/chatd.js +7 -1
- package/lib/api/confd.js +78 -1
- package/lib/api/ctid-ng.js +7 -1
- package/lib/api/dird.js +7 -1
- package/lib/api/webhookd.js +7 -1
- package/lib/api-client.js +91 -23
- package/lib/checker/Checker.js +169 -56
- package/lib/checker/checks/aor.js +91 -23
- package/lib/checker/checks/api.js +91 -23
- package/lib/checker/checks/index.js +169 -56
- package/lib/checker/checks/wazo-websocket.js +11 -1
- package/lib/checker/checks/webrtc-transport.js +165 -56
- package/lib/checker/checks/webrtc.js +165 -56
- package/lib/domain/AdHocAPIConference.js +1722 -1654
- package/lib/domain/CallLog.js +10 -22
- package/lib/domain/CallSession.js +1 -18
- package/lib/domain/Features.js +91 -23
- package/lib/domain/IndirectTransfer.js +0 -17
- package/lib/domain/Meeting.js +73 -0
- package/lib/domain/Phone/CTIPhone.js +98 -26
- package/lib/domain/Phone/Phone.js +0 -16
- package/lib/domain/Phone/WebRTCPhone.js +47 -27
- package/lib/domain/Room.js +0 -17
- package/lib/domain/SwitchboardCall.js +0 -17
- package/lib/domain/__tests__/CallLog.test.js +10 -22
- package/lib/domain/__tests__/CallSession.test.js +1 -18
- package/lib/domain/__tests__/IndirectTransfer.test.js +1 -18
- package/lib/domain/__tests__/Room.test.js +1 -18
- package/lib/index.js +3880 -3111
- package/lib/lib/WazoSessionDescriptionHandler.js +24 -10
- package/lib/service/CallApi.js +91 -23
- package/lib/service/IssueReporter.js +7 -1
- package/lib/service/__tests__/IssueReporter.test.js +9 -1
- package/lib/service/getApiClient.js +91 -23
- package/lib/simple/Auth.js +1126 -360
- package/lib/simple/Configuration.js +1126 -360
- package/lib/simple/Directory.js +91 -23
- package/lib/simple/Phone.js +3724 -2958
- package/lib/simple/Websocket.js +13 -1
- package/lib/simple/index.js +1128 -362
- package/lib/simple/room/LocalParticipant.js +1097 -331
- package/lib/simple/room/Participant.js +1097 -331
- package/lib/simple/room/RemoteParticipant.js +1097 -331
- package/lib/simple/room/Room.js +1097 -331
- package/lib/simple/room/SipRoom.js +13006 -0
- package/lib/simple/room/Stream.js +1128 -362
- package/lib/simple/room/__tests__/RemoteParticipant.test.js +5157 -4389
- package/lib/simple/utils.js +1128 -362
- package/lib/utils/__tests__/api-requester.test.js +7 -1
- package/lib/utils/api-requester.js +7 -1
- package/lib/web-rtc-client.js +165 -56
- package/lib/websocket-client.js +13 -1
- package/package.json +1 -1
- package/src/api/calld.js +3 -0
- package/src/api/confd.js +13 -0
- package/src/domain/CallLog.js +10 -22
- package/src/domain/CallSession.js +1 -2
- package/src/domain/Meeting.js +59 -0
- package/src/domain/Phone/CTIPhone.js +6 -2
- package/src/domain/Phone/Phone.js +2 -0
- package/src/domain/Phone/WebRTCPhone.js +22 -8
- package/src/index.js +6 -0
- package/src/lib/WazoSessionDescriptionHandler.js +17 -9
- package/src/service/IssueReporter.js +7 -1
- package/src/service/__tests__/IssueReporter.test.js +2 -0
- package/src/simple/Phone.js +13 -4
- package/src/simple/index.js +8 -0
- package/src/simple/room/Participant.js +7 -0
- package/src/simple/room/Room.js +157 -79
- package/src/simple/room/SipRoom.js +147 -0
- package/src/simple/room/Stream.js +1 -3
- package/src/simple/room/__tests__/RemoteParticipant.test.js +3 -2
- package/src/types/WebSocketMessage.js +21 -0
- package/src/web-rtc-client.js +57 -24
- package/src/websocket-client.js +4 -0
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var invitation = require('sip.js/lib/api/invitation');
|
|
6
6
|
var sessionState = require('sip.js/lib/api/session-state');
|
|
7
7
|
var moment = require('moment');
|
|
8
|
-
var jsrsasign = require('jsrsasign');
|
|
9
8
|
require('webrtc-adapter');
|
|
10
9
|
require('sip.js/lib/api/user-agent-state');
|
|
11
10
|
require('sip.js/lib/core/messages/parser');
|
|
@@ -25,6 +24,7 @@ require('sip.js/lib/platform/web/session-description-handler/session-description
|
|
|
25
24
|
require('sip.js/lib/platform/web/session-description-handler/session-description-handler-options');
|
|
26
25
|
require('js-base64');
|
|
27
26
|
require('sdp-transform');
|
|
27
|
+
var jsrsasign = require('jsrsasign');
|
|
28
28
|
require('json-to-graphql-query/lib/jsonToGraphQLQuery');
|
|
29
29
|
|
|
30
30
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -43,22 +43,6 @@ var newFrom = (instance , ToClass ) => {
|
|
|
43
43
|
return new ToClass(args);
|
|
44
44
|
};
|
|
45
45
|
|
|
46
|
-
//
|
|
47
|
-
|
|
48
|
-
const swarmPublicKey = `-----BEGIN PUBLIC KEY-----
|
|
49
|
-
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmkXOuNfY8u5xoTiIhkb8
|
|
50
|
-
djnbIwG/Wrz3vpo8BZir8L5e1a1nSy740qBjP7ZINBQoALDhFfmdOfJnCyEGiHuz
|
|
51
|
-
ZW6jbG6C3PryE3Bu6GKwqSmD6k3q4Zk27fpwYAnNl+rWhYYM563rJZBda/INyHNN
|
|
52
|
-
pK7M1mixWi7gNdjjXwoEXSSBx+VpYMkY6LiAB2mvHXTY9M1qI14dvgGoQISZQoKi
|
|
53
|
-
NMTRCg5UP2ic0Dd9nSz/XpcOxGfa+0fwIl1F7RC1tJXOqvkGGPTOV4LLfg/Yta3h
|
|
54
|
-
nUPX9EZZDIX6vO/0IBV1LzjSl2A1bYFYAjJfowv3i1CpvONBOClHjSY5t9Y8MH6p
|
|
55
|
-
BwIDAQAB
|
|
56
|
-
-----END PUBLIC KEY-----`;
|
|
57
|
-
|
|
58
|
-
//
|
|
59
|
-
|
|
60
|
-
jsrsasign.KEYUTIL.getKey(swarmPublicKey);
|
|
61
|
-
|
|
62
46
|
//
|
|
63
47
|
/* eslint-disable no-param-reassign */
|
|
64
48
|
|
|
@@ -382,7 +366,7 @@ class CallSession {
|
|
|
382
366
|
return newFrom(callSession, CallSession);
|
|
383
367
|
}
|
|
384
368
|
|
|
385
|
-
static parseCall(
|
|
369
|
+
static parseCall(call ) {
|
|
386
370
|
return new CallSession({
|
|
387
371
|
callId: call.id,
|
|
388
372
|
sipCallId: call.sipCallId,
|
|
@@ -678,7 +662,13 @@ class IssueReporter {
|
|
|
678
662
|
}
|
|
679
663
|
|
|
680
664
|
_isLevelAbove(level1 , level2 ) {
|
|
681
|
-
|
|
665
|
+
const index1 = LOG_LEVELS.indexOf(level1);
|
|
666
|
+
const index2 = LOG_LEVELS.indexOf(level2);
|
|
667
|
+
if (index1 === -1 || index2 === -1) {
|
|
668
|
+
return false;
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
return index1 > index2;
|
|
682
672
|
}
|
|
683
673
|
|
|
684
674
|
_makeCategory(category ) {
|
|
@@ -737,6 +727,22 @@ class Emitter {
|
|
|
737
727
|
}
|
|
738
728
|
}
|
|
739
729
|
|
|
730
|
+
//
|
|
731
|
+
|
|
732
|
+
const swarmPublicKey = `-----BEGIN PUBLIC KEY-----
|
|
733
|
+
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmkXOuNfY8u5xoTiIhkb8
|
|
734
|
+
djnbIwG/Wrz3vpo8BZir8L5e1a1nSy740qBjP7ZINBQoALDhFfmdOfJnCyEGiHuz
|
|
735
|
+
ZW6jbG6C3PryE3Bu6GKwqSmD6k3q4Zk27fpwYAnNl+rWhYYM563rJZBda/INyHNN
|
|
736
|
+
pK7M1mixWi7gNdjjXwoEXSSBx+VpYMkY6LiAB2mvHXTY9M1qI14dvgGoQISZQoKi
|
|
737
|
+
NMTRCg5UP2ic0Dd9nSz/XpcOxGfa+0fwIl1F7RC1tJXOqvkGGPTOV4LLfg/Yta3h
|
|
738
|
+
nUPX9EZZDIX6vO/0IBV1LzjSl2A1bYFYAjJfowv3i1CpvONBOClHjSY5t9Y8MH6p
|
|
739
|
+
BwIDAQAB
|
|
740
|
+
-----END PUBLIC KEY-----`;
|
|
741
|
+
|
|
742
|
+
//
|
|
743
|
+
|
|
744
|
+
jsrsasign.KEYUTIL.getKey(swarmPublicKey);
|
|
745
|
+
|
|
740
746
|
/* eslint-disable dot-notation */
|
|
741
747
|
|
|
742
748
|
// Can't use node cache mechanism here because when requiring lib/CallApi.js
|
|
@@ -954,7 +960,7 @@ class WebRTCPhone extends Emitter {
|
|
|
954
960
|
});
|
|
955
961
|
|
|
956
962
|
if (!sipSession) {
|
|
957
|
-
return
|
|
963
|
+
return false;
|
|
958
964
|
}
|
|
959
965
|
|
|
960
966
|
// $FlowFixMe
|
|
@@ -964,19 +970,17 @@ class WebRTCPhone extends Emitter {
|
|
|
964
970
|
// Downgrade
|
|
965
971
|
if (constraints && !isUpgrade) {
|
|
966
972
|
// No reinvite needed
|
|
967
|
-
|
|
973
|
+
this._downgradeToAudio(callSession);
|
|
974
|
+
return false;
|
|
968
975
|
}
|
|
969
976
|
|
|
970
977
|
if (isUpgrade) {
|
|
971
978
|
const shouldReinvite = await this._upgradeToVideo(callSession, constraints, conference);
|
|
972
979
|
if (!shouldReinvite) {
|
|
973
|
-
return;
|
|
980
|
+
return false;
|
|
974
981
|
}
|
|
975
982
|
}
|
|
976
983
|
|
|
977
|
-
// Force reinvite in SDH
|
|
978
|
-
sipSession.sessionDescriptionHandler.localMediaStreamConstraints = null;
|
|
979
|
-
|
|
980
984
|
return this.client.reinvite(sipSession, constraints, conference, audioOnly);
|
|
981
985
|
}
|
|
982
986
|
|
|
@@ -1049,7 +1053,7 @@ class WebRTCPhone extends Emitter {
|
|
|
1049
1053
|
_downgradeToAudio(callSession ) {
|
|
1050
1054
|
const sipSession = this.findSipSession(callSession);
|
|
1051
1055
|
if (!sipSession) {
|
|
1052
|
-
return;
|
|
1056
|
+
return false;
|
|
1053
1057
|
}
|
|
1054
1058
|
|
|
1055
1059
|
// Release local video stream when downgrading to audio
|
|
@@ -1251,6 +1255,10 @@ class WebRTCPhone extends Emitter {
|
|
|
1251
1255
|
localStream.removeTrack(videoTrack);
|
|
1252
1256
|
}
|
|
1253
1257
|
|
|
1258
|
+
if (localStream) {
|
|
1259
|
+
localStream.addTrack(screenTrack);
|
|
1260
|
+
}
|
|
1261
|
+
|
|
1254
1262
|
if (sender) {
|
|
1255
1263
|
sender.replaceTrack(screenTrack);
|
|
1256
1264
|
}
|
|
@@ -1266,6 +1274,7 @@ class WebRTCPhone extends Emitter {
|
|
|
1266
1274
|
}
|
|
1267
1275
|
|
|
1268
1276
|
logger.info('WebRTC phone - stop screen sharing');
|
|
1277
|
+
let reinvited = false;
|
|
1269
1278
|
|
|
1270
1279
|
try {
|
|
1271
1280
|
if (this.currentScreenShare.stream) {
|
|
@@ -1280,7 +1289,8 @@ class WebRTCPhone extends Emitter {
|
|
|
1280
1289
|
// When upgrading directly to screenshare (eg: we don't have a videoLocalStream to replace)
|
|
1281
1290
|
// We have to downgrade to audio.
|
|
1282
1291
|
const screenshareStopped = this.currentScreenShare.sender && this.currentScreenShare.hadVideo;
|
|
1283
|
-
|
|
1292
|
+
const constraints = { audio: false, video: screenshareStopped };
|
|
1293
|
+
reinvited = await this.sendReinvite(targetCallSession, constraints, conference);
|
|
1284
1294
|
}
|
|
1285
1295
|
} catch (e) {
|
|
1286
1296
|
console.warn(e);
|
|
@@ -1294,6 +1304,8 @@ class WebRTCPhone extends Emitter {
|
|
|
1294
1304
|
);
|
|
1295
1305
|
|
|
1296
1306
|
this.currentScreenShare = null;
|
|
1307
|
+
|
|
1308
|
+
return reinvited;
|
|
1297
1309
|
}
|
|
1298
1310
|
|
|
1299
1311
|
async _getStreamFromConstraints(constraints , conference = false) {
|
|
@@ -1354,6 +1366,10 @@ class WebRTCPhone extends Emitter {
|
|
|
1354
1366
|
this.client.changeAudioOutputDevice(id);
|
|
1355
1367
|
}
|
|
1356
1368
|
|
|
1369
|
+
createAudioElementFor(sessionId ) {
|
|
1370
|
+
return this.client.createAudioElementFor(sessionId);
|
|
1371
|
+
}
|
|
1372
|
+
|
|
1357
1373
|
changeRingDevice(id ) {
|
|
1358
1374
|
this.audioRingDeviceId = id;
|
|
1359
1375
|
}
|
|
@@ -2001,6 +2017,10 @@ class WebRTCPhone extends Emitter {
|
|
|
2001
2017
|
return callSession ? this.client.hasLocalVideo(callSession.sipCallId) : null;
|
|
2002
2018
|
}
|
|
2003
2019
|
|
|
2020
|
+
hasALocalVideoTrack(callSession ) {
|
|
2021
|
+
return callSession ? this.client.hasALocalVideoTrack(callSession.sipCallId) : null;
|
|
2022
|
+
}
|
|
2023
|
+
|
|
2004
2024
|
getRemoteStream(callSession ) {
|
|
2005
2025
|
return callSession ? this.client.getRemoteStream(callSession.sipCallId) : null;
|
|
2006
2026
|
}
|
package/lib/domain/Room.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
require('sip.js/lib/api/session-state');
|
|
4
4
|
require('moment');
|
|
5
|
-
var jsrsasign = require('jsrsasign');
|
|
6
5
|
|
|
7
6
|
//
|
|
8
7
|
|
|
@@ -15,22 +14,6 @@ var newFrom = (instance , ToClass ) => {
|
|
|
15
14
|
return new ToClass(args);
|
|
16
15
|
};
|
|
17
16
|
|
|
18
|
-
//
|
|
19
|
-
|
|
20
|
-
const swarmPublicKey = `-----BEGIN PUBLIC KEY-----
|
|
21
|
-
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmkXOuNfY8u5xoTiIhkb8
|
|
22
|
-
djnbIwG/Wrz3vpo8BZir8L5e1a1nSy740qBjP7ZINBQoALDhFfmdOfJnCyEGiHuz
|
|
23
|
-
ZW6jbG6C3PryE3Bu6GKwqSmD6k3q4Zk27fpwYAnNl+rWhYYM563rJZBda/INyHNN
|
|
24
|
-
pK7M1mixWi7gNdjjXwoEXSSBx+VpYMkY6LiAB2mvHXTY9M1qI14dvgGoQISZQoKi
|
|
25
|
-
NMTRCg5UP2ic0Dd9nSz/XpcOxGfa+0fwIl1F7RC1tJXOqvkGGPTOV4LLfg/Yta3h
|
|
26
|
-
nUPX9EZZDIX6vO/0IBV1LzjSl2A1bYFYAjJfowv3i1CpvONBOClHjSY5t9Y8MH6p
|
|
27
|
-
BwIDAQAB
|
|
28
|
-
-----END PUBLIC KEY-----`;
|
|
29
|
-
|
|
30
|
-
//
|
|
31
|
-
|
|
32
|
-
jsrsasign.KEYUTIL.getKey(swarmPublicKey);
|
|
33
|
-
|
|
34
17
|
//
|
|
35
18
|
/* eslint-disable no-param-reassign */
|
|
36
19
|
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
require('sip.js/lib/api/session-state');
|
|
4
4
|
require('moment');
|
|
5
|
-
var jsrsasign = require('jsrsasign');
|
|
6
5
|
|
|
7
6
|
//
|
|
8
7
|
|
|
@@ -15,22 +14,6 @@ var newFrom = (instance , ToClass ) => {
|
|
|
15
14
|
return new ToClass(args);
|
|
16
15
|
};
|
|
17
16
|
|
|
18
|
-
//
|
|
19
|
-
|
|
20
|
-
const swarmPublicKey = `-----BEGIN PUBLIC KEY-----
|
|
21
|
-
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmkXOuNfY8u5xoTiIhkb8
|
|
22
|
-
djnbIwG/Wrz3vpo8BZir8L5e1a1nSy740qBjP7ZINBQoALDhFfmdOfJnCyEGiHuz
|
|
23
|
-
ZW6jbG6C3PryE3Bu6GKwqSmD6k3q4Zk27fpwYAnNl+rWhYYM563rJZBda/INyHNN
|
|
24
|
-
pK7M1mixWi7gNdjjXwoEXSSBx+VpYMkY6LiAB2mvHXTY9M1qI14dvgGoQISZQoKi
|
|
25
|
-
NMTRCg5UP2ic0Dd9nSz/XpcOxGfa+0fwIl1F7RC1tJXOqvkGGPTOV4LLfg/Yta3h
|
|
26
|
-
nUPX9EZZDIX6vO/0IBV1LzjSl2A1bYFYAjJfowv3i1CpvONBOClHjSY5t9Y8MH6p
|
|
27
|
-
BwIDAQAB
|
|
28
|
-
-----END PUBLIC KEY-----`;
|
|
29
|
-
|
|
30
|
-
//
|
|
31
|
-
|
|
32
|
-
jsrsasign.KEYUTIL.getKey(swarmPublicKey);
|
|
33
|
-
|
|
34
17
|
//
|
|
35
18
|
/* eslint-disable no-param-reassign */
|
|
36
19
|
|
|
@@ -168,7 +168,11 @@ class CallLog {
|
|
|
168
168
|
answered: plain.answered,
|
|
169
169
|
callDirection: plain.call_direction,
|
|
170
170
|
destination: {
|
|
171
|
-
|
|
171
|
+
// @TEMP: Temporarily assuming empty numbers are meetings
|
|
172
|
+
// which is admittedly a very dangerous assumption. Did i mention it was temporary?
|
|
173
|
+
extension: plain.requested_extension
|
|
174
|
+
|| plain.destination_extension
|
|
175
|
+
|| `meeting-${plain.requested_name || plain.destination_name || ''}`,
|
|
172
176
|
name: plain.requested_name || plain.destination_name || '',
|
|
173
177
|
},
|
|
174
178
|
source: {
|
|
@@ -184,27 +188,11 @@ class CallLog {
|
|
|
184
188
|
}
|
|
185
189
|
|
|
186
190
|
static parseNew(plain , session ) {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
extension: plain.requested_extension || plain.destination_extension,
|
|
193
|
-
name: plain.requested_name || plain.destination_name || '',
|
|
194
|
-
},
|
|
195
|
-
source: {
|
|
196
|
-
extension: plain.source_extension,
|
|
197
|
-
name: plain.source_name,
|
|
198
|
-
},
|
|
199
|
-
id: plain.id,
|
|
200
|
-
duration: (plain.duration || 0) * 1000, // duration is in seconds
|
|
201
|
-
start: moment__default['default'](plain.start).toDate(),
|
|
202
|
-
end: plain.end ? moment__default['default'](plain.end).toDate() : null,
|
|
203
|
-
recordings: Recording.parseMany(plain.recordings),
|
|
204
|
-
// @TODO: FIXME add verification declined vs missed call
|
|
205
|
-
newMissedCall: session
|
|
206
|
-
&& session.hasExtension(plain.requested_extension || plain.destination_extension) && !plain.answered,
|
|
207
|
-
});
|
|
191
|
+
const callLog = CallLog.parse(plain);
|
|
192
|
+
// @TODO: FIXME add verification declined vs missed call
|
|
193
|
+
callLog.newMissedCall = session
|
|
194
|
+
&& session.hasExtension(plain.requested_extension || plain.destination_extension) && !plain.answered;
|
|
195
|
+
return callLog;
|
|
208
196
|
}
|
|
209
197
|
|
|
210
198
|
static newFrom(profile ) {
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var sessionState = require('sip.js/lib/api/session-state');
|
|
4
4
|
require('moment');
|
|
5
|
-
var jsrsasign = require('jsrsasign');
|
|
6
5
|
|
|
7
6
|
//
|
|
8
7
|
|
|
@@ -15,22 +14,6 @@ var newFrom = (instance , ToClass ) => {
|
|
|
15
14
|
return new ToClass(args);
|
|
16
15
|
};
|
|
17
16
|
|
|
18
|
-
//
|
|
19
|
-
|
|
20
|
-
const swarmPublicKey = `-----BEGIN PUBLIC KEY-----
|
|
21
|
-
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmkXOuNfY8u5xoTiIhkb8
|
|
22
|
-
djnbIwG/Wrz3vpo8BZir8L5e1a1nSy740qBjP7ZINBQoALDhFfmdOfJnCyEGiHuz
|
|
23
|
-
ZW6jbG6C3PryE3Bu6GKwqSmD6k3q4Zk27fpwYAnNl+rWhYYM563rJZBda/INyHNN
|
|
24
|
-
pK7M1mixWi7gNdjjXwoEXSSBx+VpYMkY6LiAB2mvHXTY9M1qI14dvgGoQISZQoKi
|
|
25
|
-
NMTRCg5UP2ic0Dd9nSz/XpcOxGfa+0fwIl1F7RC1tJXOqvkGGPTOV4LLfg/Yta3h
|
|
26
|
-
nUPX9EZZDIX6vO/0IBV1LzjSl2A1bYFYAjJfowv3i1CpvONBOClHjSY5t9Y8MH6p
|
|
27
|
-
BwIDAQAB
|
|
28
|
-
-----END PUBLIC KEY-----`;
|
|
29
|
-
|
|
30
|
-
//
|
|
31
|
-
|
|
32
|
-
jsrsasign.KEYUTIL.getKey(swarmPublicKey);
|
|
33
|
-
|
|
34
17
|
//
|
|
35
18
|
/* eslint-disable no-param-reassign */
|
|
36
19
|
|
|
@@ -354,7 +337,7 @@ class CallSession {
|
|
|
354
337
|
return newFrom(callSession, CallSession);
|
|
355
338
|
}
|
|
356
339
|
|
|
357
|
-
static parseCall(
|
|
340
|
+
static parseCall(call ) {
|
|
358
341
|
return new CallSession({
|
|
359
342
|
callId: call.id,
|
|
360
343
|
sipCallId: call.sipCallId,
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var sessionState = require('sip.js/lib/api/session-state');
|
|
4
4
|
require('moment');
|
|
5
|
-
var jsrsasign = require('jsrsasign');
|
|
6
5
|
|
|
7
6
|
//
|
|
8
7
|
|
|
@@ -15,22 +14,6 @@ var newFrom = (instance , ToClass ) => {
|
|
|
15
14
|
return new ToClass(args);
|
|
16
15
|
};
|
|
17
16
|
|
|
18
|
-
//
|
|
19
|
-
|
|
20
|
-
const swarmPublicKey = `-----BEGIN PUBLIC KEY-----
|
|
21
|
-
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmkXOuNfY8u5xoTiIhkb8
|
|
22
|
-
djnbIwG/Wrz3vpo8BZir8L5e1a1nSy740qBjP7ZINBQoALDhFfmdOfJnCyEGiHuz
|
|
23
|
-
ZW6jbG6C3PryE3Bu6GKwqSmD6k3q4Zk27fpwYAnNl+rWhYYM563rJZBda/INyHNN
|
|
24
|
-
pK7M1mixWi7gNdjjXwoEXSSBx+VpYMkY6LiAB2mvHXTY9M1qI14dvgGoQISZQoKi
|
|
25
|
-
NMTRCg5UP2ic0Dd9nSz/XpcOxGfa+0fwIl1F7RC1tJXOqvkGGPTOV4LLfg/Yta3h
|
|
26
|
-
nUPX9EZZDIX6vO/0IBV1LzjSl2A1bYFYAjJfowv3i1CpvONBOClHjSY5t9Y8MH6p
|
|
27
|
-
BwIDAQAB
|
|
28
|
-
-----END PUBLIC KEY-----`;
|
|
29
|
-
|
|
30
|
-
//
|
|
31
|
-
|
|
32
|
-
jsrsasign.KEYUTIL.getKey(swarmPublicKey);
|
|
33
|
-
|
|
34
17
|
//
|
|
35
18
|
/* eslint-disable no-param-reassign */
|
|
36
19
|
|
|
@@ -354,7 +337,7 @@ class CallSession {
|
|
|
354
337
|
return newFrom(callSession, CallSession);
|
|
355
338
|
}
|
|
356
339
|
|
|
357
|
-
static parseCall(
|
|
340
|
+
static parseCall(call ) {
|
|
358
341
|
return new CallSession({
|
|
359
342
|
callId: call.id,
|
|
360
343
|
sipCallId: call.sipCallId,
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var sessionState = require('sip.js/lib/api/session-state');
|
|
4
4
|
require('moment');
|
|
5
|
-
var jsrsasign = require('jsrsasign');
|
|
6
5
|
|
|
7
6
|
//
|
|
8
7
|
|
|
@@ -15,22 +14,6 @@ var newFrom = (instance , ToClass ) => {
|
|
|
15
14
|
return new ToClass(args);
|
|
16
15
|
};
|
|
17
16
|
|
|
18
|
-
//
|
|
19
|
-
|
|
20
|
-
const swarmPublicKey = `-----BEGIN PUBLIC KEY-----
|
|
21
|
-
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmkXOuNfY8u5xoTiIhkb8
|
|
22
|
-
djnbIwG/Wrz3vpo8BZir8L5e1a1nSy740qBjP7ZINBQoALDhFfmdOfJnCyEGiHuz
|
|
23
|
-
ZW6jbG6C3PryE3Bu6GKwqSmD6k3q4Zk27fpwYAnNl+rWhYYM563rJZBda/INyHNN
|
|
24
|
-
pK7M1mixWi7gNdjjXwoEXSSBx+VpYMkY6LiAB2mvHXTY9M1qI14dvgGoQISZQoKi
|
|
25
|
-
NMTRCg5UP2ic0Dd9nSz/XpcOxGfa+0fwIl1F7RC1tJXOqvkGGPTOV4LLfg/Yta3h
|
|
26
|
-
nUPX9EZZDIX6vO/0IBV1LzjSl2A1bYFYAjJfowv3i1CpvONBOClHjSY5t9Y8MH6p
|
|
27
|
-
BwIDAQAB
|
|
28
|
-
-----END PUBLIC KEY-----`;
|
|
29
|
-
|
|
30
|
-
//
|
|
31
|
-
|
|
32
|
-
jsrsasign.KEYUTIL.getKey(swarmPublicKey);
|
|
33
|
-
|
|
34
17
|
//
|
|
35
18
|
/* eslint-disable no-param-reassign */
|
|
36
19
|
|
|
@@ -354,7 +337,7 @@ class CallSession {
|
|
|
354
337
|
return newFrom(callSession, CallSession);
|
|
355
338
|
}
|
|
356
339
|
|
|
357
|
-
static parseCall(
|
|
340
|
+
static parseCall(call ) {
|
|
358
341
|
return new CallSession({
|
|
359
342
|
callId: call.id,
|
|
360
343
|
sipCallId: call.sipCallId,
|