@vgroup/dialbox 0.2.80 → 0.2.82
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/esm2020/lib/components/call-progress/call-progress.component.mjs +5 -3
- package/esm2020/lib/dialbox.component.mjs +43 -43
- package/esm2020/lib/service/incomeing-call-socket.service.mjs +11 -7
- package/fesm2015/vgroup-dialbox.mjs +56 -50
- package/fesm2015/vgroup-dialbox.mjs.map +1 -1
- package/fesm2020/vgroup-dialbox.mjs +56 -50
- package/fesm2020/vgroup-dialbox.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -8,23 +8,27 @@ export class IncomeingCallSocketService {
|
|
|
8
8
|
}
|
|
9
9
|
connect() {
|
|
10
10
|
// Replace with your WebSocket URL
|
|
11
|
-
this.socket = new WebSocket(`${environment.websocketUrl}incoming/call`);
|
|
11
|
+
this.socket = new WebSocket(`${environment.websocketUrl}incoming/call?userId=${localStorage.getItem('userId')}&authKey=${localStorage.getItem('ext_token')}`);
|
|
12
12
|
this.socket.onopen = () => {
|
|
13
13
|
console.log("WebSocket connected");
|
|
14
14
|
// Authenticate (if needed)
|
|
15
|
-
const authMessage = {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
const authMessage = { "incomingCall": {
|
|
16
|
+
"userId": localStorage.getItem('userId')
|
|
17
|
+
} };
|
|
18
|
+
// {
|
|
19
|
+
// userId: localStorage.getItem('userId'),
|
|
20
|
+
// authKey: localStorage.getItem('ext_token')
|
|
21
|
+
// };
|
|
19
22
|
this.socket?.send(JSON.stringify(authMessage));
|
|
20
23
|
};
|
|
21
24
|
this.socket.onmessage = (msg) => {
|
|
25
|
+
console.log("WS RAW:", msg.data);
|
|
22
26
|
try {
|
|
23
27
|
const data = JSON.parse(msg.data);
|
|
24
28
|
this.eventSubject.next(data);
|
|
25
29
|
}
|
|
26
30
|
catch (e) {
|
|
27
|
-
console.error("
|
|
31
|
+
console.error("WS PARSE ERROR:", msg.data);
|
|
28
32
|
}
|
|
29
33
|
};
|
|
30
34
|
this.socket.onerror = (err) => {
|
|
@@ -47,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
47
51
|
providedIn: 'root'
|
|
48
52
|
}]
|
|
49
53
|
}] });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jb21laW5nLWNhbGwtc29ja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kaWFsYm94L3NyYy9saWIvc2VydmljZS9pbmNvbWVpbmctY2FsbC1zb2NrZXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUszRCxNQUFNLE9BQU8sMEJBQTBCO0lBSHZDO1FBTVUsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO0tBMkMzQztJQXpDQyxPQUFPO1FBQ0wsa0NBQWtDO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxTQUFTLENBQUMsR0FBRyxXQUFXLENBQUMsWUFBWSx3QkFBd0IsWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxZQUFZLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUU5SixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7WUFDeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBRW5DLDJCQUEyQjtZQUMzQixNQUFNLFdBQVcsR0FBRyxFQUFDLGNBQWMsRUFBQztvQkFDbEMsUUFBUSxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO2lCQUN6QyxFQUFDLENBQUE7WUFDRixJQUFJO1lBQ0osNENBQTRDO1lBQzVDLCtDQUErQztZQUMvQyxLQUFLO1lBQ0wsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQztRQUVGLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pDLElBQUk7Z0JBQ0YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzlCO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDNUM7UUFDSCxDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzVCLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUN2QyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCO1FBQzNELENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7O3dIQTdDVSwwQkFBMEI7NEhBQTFCLDBCQUEwQixjQUZ6QixNQUFNOzRGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZW52aXJvbm1lbnQgfSBmcm9tICcuLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnRzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEluY29tZWluZ0NhbGxTb2NrZXRTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBzb2NrZXQ/OiBXZWJTb2NrZXQ7XHJcbiAgcHJpdmF0ZSBldmVudFN1YmplY3QgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcblxyXG4gIGNvbm5lY3QoKSB7XHJcbiAgICAvLyBSZXBsYWNlIHdpdGggeW91ciBXZWJTb2NrZXQgVVJMXHJcbiAgICB0aGlzLnNvY2tldCA9IG5ldyBXZWJTb2NrZXQoYCR7ZW52aXJvbm1lbnQud2Vic29ja2V0VXJsfWluY29taW5nL2NhbGw/dXNlcklkPSR7bG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJJZCcpfSZhdXRoS2V5PSR7bG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2V4dF90b2tlbicpfWApO1xyXG5cclxuICAgIHRoaXMuc29ja2V0Lm9ub3BlbiA9ICgpID0+IHtcclxuICAgICAgY29uc29sZS5sb2coXCJXZWJTb2NrZXQgY29ubmVjdGVkXCIpO1xyXG5cclxuICAgICAgLy8gQXV0aGVudGljYXRlIChpZiBuZWVkZWQpXHJcbiAgICAgIGNvbnN0IGF1dGhNZXNzYWdlID0ge1wiaW5jb21pbmdDYWxsXCI6e1xyXG4gICAgICAgIFwidXNlcklkXCI6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VySWQnKVxyXG4gICAgICB9fVxyXG4gICAgICAvLyB7XHJcbiAgICAgIC8vICAgdXNlcklkOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcklkJyksXHJcbiAgICAgIC8vICAgYXV0aEtleTogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2V4dF90b2tlbicpXHJcbiAgICAgIC8vIH07XHJcbiAgICAgIHRoaXMuc29ja2V0Py5zZW5kKEpTT04uc3RyaW5naWZ5KGF1dGhNZXNzYWdlKSk7XHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuc29ja2V0Lm9ubWVzc2FnZSA9IChtc2cpID0+IHtcclxuICAgICAgY29uc29sZS5sb2coXCJXUyBSQVc6XCIsIG1zZy5kYXRhKTtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZShtc2cuZGF0YSk7XHJcbiAgICAgICAgdGhpcy5ldmVudFN1YmplY3QubmV4dChkYXRhKTtcclxuICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJXUyBQQVJTRSBFUlJPUjpcIiwgbXNnLmRhdGEpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuc29ja2V0Lm9uZXJyb3IgPSAoZXJyKSA9PiB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJXZWJTb2NrZXQgRXJyb3I6XCIsIGVycik7XHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuc29ja2V0Lm9uY2xvc2UgPSAoKSA9PiB7XHJcbiAgICAgIGNvbnNvbGUud2FybihcIldlYlNvY2tldCBkaXNjb25uZWN0ZWRcIik7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jb25uZWN0KCksIDMwMDApOyAvLyBBdXRvLXJlY29ubmVjdFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGxpc3RlbigpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZXZlbnRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1648,24 +1648,28 @@ class IncomeingCallSocketService {
|
|
|
1648
1648
|
}
|
|
1649
1649
|
connect() {
|
|
1650
1650
|
// Replace with your WebSocket URL
|
|
1651
|
-
this.socket = new WebSocket(`${environment.websocketUrl}incoming/call`);
|
|
1651
|
+
this.socket = new WebSocket(`${environment.websocketUrl}incoming/call?userId=${localStorage.getItem('userId')}&authKey=${localStorage.getItem('ext_token')}`);
|
|
1652
1652
|
this.socket.onopen = () => {
|
|
1653
1653
|
var _a;
|
|
1654
1654
|
console.log("WebSocket connected");
|
|
1655
1655
|
// Authenticate (if needed)
|
|
1656
|
-
const authMessage = {
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1656
|
+
const authMessage = { "incomingCall": {
|
|
1657
|
+
"userId": localStorage.getItem('userId')
|
|
1658
|
+
} };
|
|
1659
|
+
// {
|
|
1660
|
+
// userId: localStorage.getItem('userId'),
|
|
1661
|
+
// authKey: localStorage.getItem('ext_token')
|
|
1662
|
+
// };
|
|
1660
1663
|
(_a = this.socket) === null || _a === void 0 ? void 0 : _a.send(JSON.stringify(authMessage));
|
|
1661
1664
|
};
|
|
1662
1665
|
this.socket.onmessage = (msg) => {
|
|
1666
|
+
console.log("WS RAW:", msg.data);
|
|
1663
1667
|
try {
|
|
1664
1668
|
const data = JSON.parse(msg.data);
|
|
1665
1669
|
this.eventSubject.next(data);
|
|
1666
1670
|
}
|
|
1667
1671
|
catch (e) {
|
|
1668
|
-
console.error("
|
|
1672
|
+
console.error("WS PARSE ERROR:", msg.data);
|
|
1669
1673
|
}
|
|
1670
1674
|
};
|
|
1671
1675
|
this.socket.onerror = (err) => {
|
|
@@ -2084,6 +2088,7 @@ class CallProgressComponent {
|
|
|
2084
2088
|
if (changes['callData']) {
|
|
2085
2089
|
if ((_a = changes['callData'].currentValue) === null || _a === void 0 ? void 0 : _a.isIncomingCall) {
|
|
2086
2090
|
this.incomingCallDiv = true;
|
|
2091
|
+
this.call['callInfo'] = Object.assign({}, this.callData);
|
|
2087
2092
|
this.cdr.detectChanges();
|
|
2088
2093
|
}
|
|
2089
2094
|
else if (((_b = changes['callData'].currentValue) === null || _b === void 0 ? void 0 : _b.displayNum) || ((_c = changes['callData'].currentValue) === null || _c === void 0 ? void 0 : _c.from)) {
|
|
@@ -2186,7 +2191,7 @@ class CallProgressComponent {
|
|
|
2186
2191
|
conferenceId: this.conferenceId
|
|
2187
2192
|
});
|
|
2188
2193
|
this.callData = Object.assign(Object.assign({}, this.callData), { participantId: (_b = this.addRes) === null || _b === void 0 ? void 0 : _b.participantId });
|
|
2189
|
-
this.call['callInfo'] = this.callData;
|
|
2194
|
+
this.call['callInfo'] = Object.assign({}, this.callData);
|
|
2190
2195
|
console.log('Initial participantId:', (_c = this.addRes) === null || _c === void 0 ? void 0 : _c.participantId);
|
|
2191
2196
|
}
|
|
2192
2197
|
catch (e) {
|
|
@@ -2481,7 +2486,7 @@ class CallProgressComponent {
|
|
|
2481
2486
|
hold: true
|
|
2482
2487
|
});
|
|
2483
2488
|
// Put current call on hold
|
|
2484
|
-
this.heldCall = this.call;
|
|
2489
|
+
this.heldCall = Object.assign({}, this.call);
|
|
2485
2490
|
this.isCallOnHold = true;
|
|
2486
2491
|
this.heldCall.mute(true);
|
|
2487
2492
|
// Close contacts panel and show ring animation
|
|
@@ -2492,6 +2497,7 @@ class CallProgressComponent {
|
|
|
2492
2497
|
.filter(Boolean)
|
|
2493
2498
|
.join(' ');
|
|
2494
2499
|
this.callData = Object.assign(Object.assign({}, this.callData), { phone: phoneNumber, displayNum: phoneNumber, name: contactName || phoneNumber, img: (contact === null || contact === void 0 ? void 0 : contact.img) || 'assets/images/user.jpg' });
|
|
2500
|
+
this.call['callInfo'] = Object.assign({}, this.callData);
|
|
2495
2501
|
this.cdr.detectChanges();
|
|
2496
2502
|
// Get the conference ID from the current call or use the stored one
|
|
2497
2503
|
const conferenceId = this.conferenceId;
|
|
@@ -3099,50 +3105,50 @@ class DialboxComponent {
|
|
|
3099
3105
|
// Ensure Twilio is initialized even when dialpad starts hidden,
|
|
3100
3106
|
// so we can auto-open on incoming calls.
|
|
3101
3107
|
this.initializeTwilio();
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
if (incomingCallData) {
|
|
3108
|
-
if (
|
|
3109
|
-
this._isDialpadHidden
|
|
3110
|
-
|
|
3111
|
-
|
|
3112
|
-
this.
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
|
|
3117
|
-
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
|
|
3125
|
-
|
|
3126
|
-
|
|
3108
|
+
try {
|
|
3109
|
+
this.incomeingCallSocketService.connect();
|
|
3110
|
+
this.incomeingCallSocketService.listen().subscribe((incomingCallData) => {
|
|
3111
|
+
console.log("WS Event Received:", incomingCallData);
|
|
3112
|
+
console.log("WS Event Received:", incomingCallData.data);
|
|
3113
|
+
if (incomingCallData.type === "/incoming/call") {
|
|
3114
|
+
if (incomingCallData) {
|
|
3115
|
+
if (this.autoOpenOnIncoming && this._isDialpadHidden) {
|
|
3116
|
+
this._isDialpadHidden = false;
|
|
3117
|
+
}
|
|
3118
|
+
if (this.isCallInProgress) {
|
|
3119
|
+
this.newIncomingCalls.push(incomingCallData);
|
|
3120
|
+
console.log('325', incomingCallData);
|
|
3121
|
+
this.getUserInformation(incomingCallData);
|
|
3122
|
+
}
|
|
3123
|
+
else {
|
|
3124
|
+
incomingCallData['isFirstCall'] = true;
|
|
3125
|
+
console.log('dd1');
|
|
3126
|
+
this.isCallInProgress = true;
|
|
3127
|
+
this.isDialpadHidden = false;
|
|
3128
|
+
this.callData.phone = incomingCallData.parameters['From'];
|
|
3129
|
+
console.log('dd2');
|
|
3130
|
+
this.getUserInformation(incomingCallData);
|
|
3131
|
+
this.callData.name = incomingCallData.customParameters.get('name');
|
|
3132
|
+
this.callData.img = incomingCallData.customParameters.get('image') || 'assets/images/user.jpg';
|
|
3133
|
+
this.callData.isIncomingCall = true;
|
|
3134
|
+
}
|
|
3135
|
+
incomingCallData.on('cancel', () => {
|
|
3136
|
+
this.incomingCallsList = this.incomingCallsList.filter((item) => item.parameters['CallSid'] !== incomingCallData.parameters['CallSid']);
|
|
3137
|
+
// if(this.incomingCallsList.length == 0){
|
|
3138
|
+
// console.log('dd3')
|
|
3139
|
+
// this.isCallInProgress = false;
|
|
3140
|
+
// }
|
|
3141
|
+
});
|
|
3142
|
+
incomingCallData.on('disconnect', () => {
|
|
3143
|
+
this.incomingCallsList = this.incomingCallsList.filter((item) => item.parameters['CallSid'] !== incomingCallData.parameters['CallSid']);
|
|
3144
|
+
// if(this.incomingCallsList.length == 0){
|
|
3145
|
+
// console.log('dd4')
|
|
3146
|
+
// this.isCallInProgress = false;
|
|
3147
|
+
// }
|
|
3148
|
+
});
|
|
3127
3149
|
}
|
|
3128
|
-
incomingCallData.on('cancel', () => {
|
|
3129
|
-
this.incomingCallsList = this.incomingCallsList.filter((item) => item.parameters['CallSid'] !== incomingCallData.parameters['CallSid']);
|
|
3130
|
-
// if(this.incomingCallsList.length == 0){
|
|
3131
|
-
// console.log('dd3')
|
|
3132
|
-
// this.isCallInProgress = false;
|
|
3133
|
-
// }
|
|
3134
|
-
});
|
|
3135
|
-
incomingCallData.on('disconnect', () => {
|
|
3136
|
-
this.incomingCallsList = this.incomingCallsList.filter((item) => item.parameters['CallSid'] !== incomingCallData.parameters['CallSid']);
|
|
3137
|
-
// if(this.incomingCallsList.length == 0){
|
|
3138
|
-
// console.log('dd4')
|
|
3139
|
-
// this.isCallInProgress = false;
|
|
3140
|
-
// }
|
|
3141
|
-
});
|
|
3142
3150
|
}
|
|
3143
|
-
}
|
|
3144
|
-
});
|
|
3145
|
-
try {
|
|
3151
|
+
});
|
|
3146
3152
|
this.token = localStorage.getItem('ext_token') || '';
|
|
3147
3153
|
//this.isCallInProgress = true;
|
|
3148
3154
|
this.getContactList();
|