@wazo/sdk 0.37.24 → 0.37.25
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 +6 -6
- package/esm/__tests__/api-client.test.js +12 -12
- package/esm/__tests__/web-rtc-client.test.js +120 -103
- package/esm/api/amid.js +1 -1
- package/esm/api/call-logd.js +2 -2
- package/esm/api/ctid-ng.js +3 -3
- package/esm/api/dird.js +1 -1
- package/esm/api/webhookd.js +1 -1
- package/esm/api-client.js +12 -12
- package/esm/checker/Checker.js +145 -128
- package/esm/checker/checks/aor.js +12 -12
- package/esm/checker/checks/api.js +12 -12
- package/esm/checker/checks/index.js +135 -118
- package/esm/checker/checks/wazo-websocket.js +15 -15
- package/esm/checker/checks/webrtc-transport.js +120 -103
- package/esm/checker/checks/webrtc.js +120 -103
- package/esm/domain/AdHocAPIConference.js +12 -12
- package/esm/domain/CallLog.js +1 -1
- package/esm/domain/Contact.js +1 -1
- package/esm/domain/Features.js +12 -12
- package/esm/domain/Phone/CTIPhone.js +26 -26
- package/esm/domain/Phone/WebRTCPhone.js +87 -86
- package/esm/domain/__tests__/CallLog.test.js +1 -1
- package/esm/domain/__tests__/Contact.test.js +1 -1
- package/esm/index.js +356 -338
- package/esm/lib/WazoSessionDescriptionHandler.js +1 -1
- package/esm/service/CallApi.js +12 -12
- package/esm/service/IssueReporter.js +1 -1
- package/esm/service/__tests__/IssueReporter.test.js +1 -1
- package/esm/service/getApiClient.js +12 -12
- package/esm/simple/Auth.js +346 -328
- package/esm/simple/Configuration.js +346 -328
- package/esm/simple/Directory.js +12 -12
- package/esm/simple/Phone.js +346 -328
- package/esm/simple/Websocket.js +17 -17
- package/esm/simple/index.js +350 -332
- package/esm/simple/room/LocalParticipant.js +350 -332
- package/esm/simple/room/Participant.js +350 -332
- package/esm/simple/room/RemoteParticipant.js +350 -332
- package/esm/simple/room/Room.js +351 -333
- package/esm/simple/room/SipRoom.js +350 -332
- package/esm/simple/room/Stream.js +350 -332
- package/esm/simple/room/__tests__/RemoteParticipant.test.js +350 -332
- package/esm/simple/utils.js +350 -332
- package/esm/web-rtc-client.js +120 -103
- package/esm/websocket-client.js +15 -15
- package/lib/__tests__/api-client.test.js +12 -12
- package/lib/__tests__/web-rtc-client.test.js +120 -103
- package/lib/api/amid.js +1 -1
- package/lib/api/call-logd.js +2 -2
- package/lib/api/ctid-ng.js +3 -3
- package/lib/api/dird.js +1 -1
- package/lib/api/webhookd.js +1 -1
- package/lib/api-client.js +12 -12
- package/lib/checker/Checker.js +145 -128
- package/lib/checker/checks/aor.js +12 -12
- package/lib/checker/checks/api.js +12 -12
- package/lib/checker/checks/index.js +135 -118
- package/lib/checker/checks/wazo-websocket.js +15 -15
- package/lib/checker/checks/webrtc-transport.js +120 -103
- package/lib/checker/checks/webrtc.js +120 -103
- package/lib/domain/AdHocAPIConference.js +12 -12
- package/lib/domain/CallLog.js +1 -1
- package/lib/domain/Contact.js +1 -1
- package/lib/domain/Features.js +12 -12
- package/lib/domain/Phone/CTIPhone.js +26 -26
- package/lib/domain/Phone/WebRTCPhone.js +87 -86
- package/lib/domain/__tests__/CallLog.test.js +1 -1
- package/lib/domain/__tests__/Contact.test.js +1 -1
- package/lib/index.js +356 -338
- package/lib/lib/WazoSessionDescriptionHandler.js +1 -1
- package/lib/service/CallApi.js +12 -12
- package/lib/service/IssueReporter.js +1 -1
- package/lib/service/__tests__/IssueReporter.test.js +1 -1
- package/lib/service/getApiClient.js +12 -12
- package/lib/simple/Auth.js +346 -328
- package/lib/simple/Configuration.js +346 -328
- package/lib/simple/Directory.js +12 -12
- package/lib/simple/Phone.js +346 -328
- package/lib/simple/Websocket.js +17 -17
- package/lib/simple/index.js +350 -332
- package/lib/simple/room/LocalParticipant.js +350 -332
- package/lib/simple/room/Participant.js +350 -332
- package/lib/simple/room/RemoteParticipant.js +350 -332
- package/lib/simple/room/Room.js +351 -333
- package/lib/simple/room/SipRoom.js +350 -332
- package/lib/simple/room/Stream.js +350 -332
- package/lib/simple/room/__tests__/RemoteParticipant.test.js +350 -332
- package/lib/simple/utils.js +350 -332
- package/lib/web-rtc-client.js +120 -103
- package/lib/websocket-client.js +15 -15
- package/package.json +1 -1
- package/src/domain/Phone/WebRTCPhone.js +3 -2
- package/src/web-rtc-client.js +27 -10
|
@@ -660,7 +660,7 @@ var IssueReporter$1 = new IssueReporter();
|
|
|
660
660
|
|
|
661
661
|
const methods = ['head', 'get', 'post', 'put', 'delete'];
|
|
662
662
|
|
|
663
|
-
const logger = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
|
|
663
|
+
const logger$1 = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
|
|
664
664
|
|
|
665
665
|
// Use a function here to be able to mock it in tests
|
|
666
666
|
const realFetch = () => {
|
|
@@ -799,7 +799,7 @@ class ApiRequester {
|
|
|
799
799
|
};
|
|
800
800
|
|
|
801
801
|
if (this.refreshTokenPromise) {
|
|
802
|
-
logger.info('A token is already refreshing, waiting ...', { url });
|
|
802
|
+
logger$1.info('A token is already refreshing, waiting ...', { url });
|
|
803
803
|
await this.refreshTokenPromise;
|
|
804
804
|
}
|
|
805
805
|
|
|
@@ -819,7 +819,7 @@ class ApiRequester {
|
|
|
819
819
|
return promise.then(async (err ) => {
|
|
820
820
|
// Check if the token is still valid
|
|
821
821
|
if (firstCall && this._checkTokenExpired(response, err)) {
|
|
822
|
-
logger.warn('token expired', { error: err.reason });
|
|
822
|
+
logger$1.warn('token expired', { error: err.reason });
|
|
823
823
|
// Replay the call after refreshing the token
|
|
824
824
|
return this._replayWithNewToken(err, path, method, body, headers, parse);
|
|
825
825
|
}
|
|
@@ -829,7 +829,7 @@ class ApiRequester {
|
|
|
829
829
|
: exceptionClass.fromResponse(err, response.status);
|
|
830
830
|
|
|
831
831
|
if (this.shouldLogErrors) {
|
|
832
|
-
logger.error('API error', error);
|
|
832
|
+
logger$1.error('API error', error);
|
|
833
833
|
}
|
|
834
834
|
|
|
835
835
|
throw error;
|
|
@@ -839,7 +839,7 @@ class ApiRequester {
|
|
|
839
839
|
return newParse(response, isJson);
|
|
840
840
|
}).catch(error => {
|
|
841
841
|
if (this.shouldLogErrors) {
|
|
842
|
-
logger.error('Fetch failed', { url, options, message: error.message, stack: error.stack });
|
|
842
|
+
logger$1.error('Fetch failed', { url, options, message: error.message, stack: error.stack });
|
|
843
843
|
}
|
|
844
844
|
|
|
845
845
|
throw error;
|
|
@@ -867,13 +867,13 @@ class ApiRequester {
|
|
|
867
867
|
) {
|
|
868
868
|
const isTokenNotFound = this._isTokenNotFound(err);
|
|
869
869
|
let newPath = path;
|
|
870
|
-
logger.info('refreshing token', { inProgress: !!this.refreshTokenPromise });
|
|
870
|
+
logger$1.info('refreshing token', { inProgress: !!this.refreshTokenPromise });
|
|
871
871
|
|
|
872
872
|
this.refreshTokenPromise = this.refreshTokenPromise || this.refreshTokenCallback();
|
|
873
873
|
|
|
874
874
|
return this.refreshTokenPromise.then(() => {
|
|
875
875
|
this.refreshTokenPromise = null;
|
|
876
|
-
logger.info('token refreshed', { isTokenNotFound });
|
|
876
|
+
logger$1.info('token refreshed', { isTokenNotFound });
|
|
877
877
|
if (isTokenNotFound) {
|
|
878
878
|
const pathParts = path.split('/');
|
|
879
879
|
pathParts.pop();
|
|
@@ -3580,7 +3580,7 @@ const TRANSFER_FLOW_BLIND = 'blind';
|
|
|
3580
3580
|
|
|
3581
3581
|
// const MINIMUM_WAZO_ENGINE_VERSION_FOR_CTI_HOLD = '20.11';
|
|
3582
3582
|
|
|
3583
|
-
|
|
3583
|
+
IssueReporter$1 ? IssueReporter$1.loggerFor('cti-phone') : console;
|
|
3584
3584
|
|
|
3585
3585
|
/* */
|
|
3586
3586
|
|
|
@@ -4499,7 +4499,7 @@ const AGENTD_VERSION = '1.0';
|
|
|
4499
4499
|
const WEBHOOKD_VERSION = '1.0';
|
|
4500
4500
|
const AMID_VERSION = '1.0';
|
|
4501
4501
|
|
|
4502
|
-
const logger
|
|
4502
|
+
const logger = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
|
|
4503
4503
|
|
|
4504
4504
|
class ApiClient {
|
|
4505
4505
|
|
|
@@ -4551,12 +4551,12 @@ class ApiClient {
|
|
|
4551
4551
|
}
|
|
4552
4552
|
|
|
4553
4553
|
async forceRefreshToken() {
|
|
4554
|
-
logger
|
|
4554
|
+
logger.info('forcing refresh token, calling callback');
|
|
4555
4555
|
return this.refreshTokenCallback();
|
|
4556
4556
|
}
|
|
4557
4557
|
|
|
4558
4558
|
async refreshTokenCallback() {
|
|
4559
|
-
logger
|
|
4559
|
+
logger.info('refresh token callback called', {
|
|
4560
4560
|
refreshToken: this.refreshToken,
|
|
4561
4561
|
refreshBackend: this.refreshBackend,
|
|
4562
4562
|
refreshExpiration: this.refreshExpiration,
|
|
@@ -4574,7 +4574,7 @@ class ApiClient {
|
|
|
4574
4574
|
this.isMobile,
|
|
4575
4575
|
);
|
|
4576
4576
|
|
|
4577
|
-
logger
|
|
4577
|
+
logger.info('token refreshed', { token: session.token });
|
|
4578
4578
|
|
|
4579
4579
|
if (this.onRefreshToken) {
|
|
4580
4580
|
this.onRefreshToken(session.token, session);
|
package/esm/domain/CallLog.js
CHANGED
package/esm/domain/Contact.js
CHANGED
package/esm/domain/Features.js
CHANGED
|
@@ -440,7 +440,7 @@ var IssueReporter$1 = new IssueReporter();
|
|
|
440
440
|
|
|
441
441
|
const methods = ['head', 'get', 'post', 'put', 'delete'];
|
|
442
442
|
|
|
443
|
-
const logger = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
|
|
443
|
+
const logger$1 = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
|
|
444
444
|
|
|
445
445
|
// Use a function here to be able to mock it in tests
|
|
446
446
|
const realFetch = () => {
|
|
@@ -579,7 +579,7 @@ class ApiRequester {
|
|
|
579
579
|
};
|
|
580
580
|
|
|
581
581
|
if (this.refreshTokenPromise) {
|
|
582
|
-
logger.info('A token is already refreshing, waiting ...', { url });
|
|
582
|
+
logger$1.info('A token is already refreshing, waiting ...', { url });
|
|
583
583
|
await this.refreshTokenPromise;
|
|
584
584
|
}
|
|
585
585
|
|
|
@@ -599,7 +599,7 @@ class ApiRequester {
|
|
|
599
599
|
return promise.then(async (err ) => {
|
|
600
600
|
// Check if the token is still valid
|
|
601
601
|
if (firstCall && this._checkTokenExpired(response, err)) {
|
|
602
|
-
logger.warn('token expired', { error: err.reason });
|
|
602
|
+
logger$1.warn('token expired', { error: err.reason });
|
|
603
603
|
// Replay the call after refreshing the token
|
|
604
604
|
return this._replayWithNewToken(err, path, method, body, headers, parse);
|
|
605
605
|
}
|
|
@@ -609,7 +609,7 @@ class ApiRequester {
|
|
|
609
609
|
: exceptionClass.fromResponse(err, response.status);
|
|
610
610
|
|
|
611
611
|
if (this.shouldLogErrors) {
|
|
612
|
-
logger.error('API error', error);
|
|
612
|
+
logger$1.error('API error', error);
|
|
613
613
|
}
|
|
614
614
|
|
|
615
615
|
throw error;
|
|
@@ -619,7 +619,7 @@ class ApiRequester {
|
|
|
619
619
|
return newParse(response, isJson);
|
|
620
620
|
}).catch(error => {
|
|
621
621
|
if (this.shouldLogErrors) {
|
|
622
|
-
logger.error('Fetch failed', { url, options, message: error.message, stack: error.stack });
|
|
622
|
+
logger$1.error('Fetch failed', { url, options, message: error.message, stack: error.stack });
|
|
623
623
|
}
|
|
624
624
|
|
|
625
625
|
throw error;
|
|
@@ -647,13 +647,13 @@ class ApiRequester {
|
|
|
647
647
|
) {
|
|
648
648
|
const isTokenNotFound = this._isTokenNotFound(err);
|
|
649
649
|
let newPath = path;
|
|
650
|
-
logger.info('refreshing token', { inProgress: !!this.refreshTokenPromise });
|
|
650
|
+
logger$1.info('refreshing token', { inProgress: !!this.refreshTokenPromise });
|
|
651
651
|
|
|
652
652
|
this.refreshTokenPromise = this.refreshTokenPromise || this.refreshTokenCallback();
|
|
653
653
|
|
|
654
654
|
return this.refreshTokenPromise.then(() => {
|
|
655
655
|
this.refreshTokenPromise = null;
|
|
656
|
-
logger.info('token refreshed', { isTokenNotFound });
|
|
656
|
+
logger$1.info('token refreshed', { isTokenNotFound });
|
|
657
657
|
if (isTokenNotFound) {
|
|
658
658
|
const pathParts = path.split('/');
|
|
659
659
|
pathParts.pop();
|
|
@@ -3580,7 +3580,7 @@ const TRANSFER_FLOW_BLIND = 'blind';
|
|
|
3580
3580
|
|
|
3581
3581
|
// const MINIMUM_WAZO_ENGINE_VERSION_FOR_CTI_HOLD = '20.11';
|
|
3582
3582
|
|
|
3583
|
-
|
|
3583
|
+
IssueReporter$1 ? IssueReporter$1.loggerFor('cti-phone') : console;
|
|
3584
3584
|
|
|
3585
3585
|
/* */
|
|
3586
3586
|
|
|
@@ -4499,7 +4499,7 @@ const AGENTD_VERSION = '1.0';
|
|
|
4499
4499
|
const WEBHOOKD_VERSION = '1.0';
|
|
4500
4500
|
const AMID_VERSION = '1.0';
|
|
4501
4501
|
|
|
4502
|
-
const logger
|
|
4502
|
+
const logger = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
|
|
4503
4503
|
|
|
4504
4504
|
class ApiClient {
|
|
4505
4505
|
|
|
@@ -4551,12 +4551,12 @@ class ApiClient {
|
|
|
4551
4551
|
}
|
|
4552
4552
|
|
|
4553
4553
|
async forceRefreshToken() {
|
|
4554
|
-
logger
|
|
4554
|
+
logger.info('forcing refresh token, calling callback');
|
|
4555
4555
|
return this.refreshTokenCallback();
|
|
4556
4556
|
}
|
|
4557
4557
|
|
|
4558
4558
|
async refreshTokenCallback() {
|
|
4559
|
-
logger
|
|
4559
|
+
logger.info('refresh token callback called', {
|
|
4560
4560
|
refreshToken: this.refreshToken,
|
|
4561
4561
|
refreshBackend: this.refreshBackend,
|
|
4562
4562
|
refreshExpiration: this.refreshExpiration,
|
|
@@ -4574,7 +4574,7 @@ class ApiClient {
|
|
|
4574
4574
|
this.isMobile,
|
|
4575
4575
|
);
|
|
4576
4576
|
|
|
4577
|
-
logger
|
|
4577
|
+
logger.info('token refreshed', { token: session.token });
|
|
4578
4578
|
|
|
4579
4579
|
if (this.onRefreshToken) {
|
|
4580
4580
|
this.onRefreshToken(session.token, session);
|
|
@@ -2833,7 +2833,7 @@ var IssueReporter$1 = new IssueReporter();
|
|
|
2833
2833
|
|
|
2834
2834
|
const methods = ['head', 'get', 'post', 'put', 'delete'];
|
|
2835
2835
|
|
|
2836
|
-
const logger = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
|
|
2836
|
+
const logger$2 = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
|
|
2837
2837
|
|
|
2838
2838
|
// Use a function here to be able to mock it in tests
|
|
2839
2839
|
const realFetch = () => {
|
|
@@ -2972,7 +2972,7 @@ class ApiRequester {
|
|
|
2972
2972
|
};
|
|
2973
2973
|
|
|
2974
2974
|
if (this.refreshTokenPromise) {
|
|
2975
|
-
logger.info('A token is already refreshing, waiting ...', { url });
|
|
2975
|
+
logger$2.info('A token is already refreshing, waiting ...', { url });
|
|
2976
2976
|
await this.refreshTokenPromise;
|
|
2977
2977
|
}
|
|
2978
2978
|
|
|
@@ -2992,7 +2992,7 @@ class ApiRequester {
|
|
|
2992
2992
|
return promise.then(async (err ) => {
|
|
2993
2993
|
// Check if the token is still valid
|
|
2994
2994
|
if (firstCall && this._checkTokenExpired(response, err)) {
|
|
2995
|
-
logger.warn('token expired', { error: err.reason });
|
|
2995
|
+
logger$2.warn('token expired', { error: err.reason });
|
|
2996
2996
|
// Replay the call after refreshing the token
|
|
2997
2997
|
return this._replayWithNewToken(err, path, method, body, headers, parse);
|
|
2998
2998
|
}
|
|
@@ -3002,7 +3002,7 @@ class ApiRequester {
|
|
|
3002
3002
|
: exceptionClass.fromResponse(err, response.status);
|
|
3003
3003
|
|
|
3004
3004
|
if (this.shouldLogErrors) {
|
|
3005
|
-
logger.error('API error', error);
|
|
3005
|
+
logger$2.error('API error', error);
|
|
3006
3006
|
}
|
|
3007
3007
|
|
|
3008
3008
|
throw error;
|
|
@@ -3012,7 +3012,7 @@ class ApiRequester {
|
|
|
3012
3012
|
return newParse(response, isJson);
|
|
3013
3013
|
}).catch(error => {
|
|
3014
3014
|
if (this.shouldLogErrors) {
|
|
3015
|
-
logger.error('Fetch failed', { url, options, message: error.message, stack: error.stack });
|
|
3015
|
+
logger$2.error('Fetch failed', { url, options, message: error.message, stack: error.stack });
|
|
3016
3016
|
}
|
|
3017
3017
|
|
|
3018
3018
|
throw error;
|
|
@@ -3040,13 +3040,13 @@ class ApiRequester {
|
|
|
3040
3040
|
) {
|
|
3041
3041
|
const isTokenNotFound = this._isTokenNotFound(err);
|
|
3042
3042
|
let newPath = path;
|
|
3043
|
-
logger.info('refreshing token', { inProgress: !!this.refreshTokenPromise });
|
|
3043
|
+
logger$2.info('refreshing token', { inProgress: !!this.refreshTokenPromise });
|
|
3044
3044
|
|
|
3045
3045
|
this.refreshTokenPromise = this.refreshTokenPromise || this.refreshTokenCallback();
|
|
3046
3046
|
|
|
3047
3047
|
return this.refreshTokenPromise.then(() => {
|
|
3048
3048
|
this.refreshTokenPromise = null;
|
|
3049
|
-
logger.info('token refreshed', { isTokenNotFound });
|
|
3049
|
+
logger$2.info('token refreshed', { isTokenNotFound });
|
|
3050
3050
|
if (isTokenNotFound) {
|
|
3051
3051
|
const pathParts = path.split('/');
|
|
3052
3052
|
pathParts.pop();
|
|
@@ -5134,7 +5134,7 @@ const TRANSFER_FLOW_BLIND = 'blind';
|
|
|
5134
5134
|
|
|
5135
5135
|
// const MINIMUM_WAZO_ENGINE_VERSION_FOR_CTI_HOLD = '20.11';
|
|
5136
5136
|
|
|
5137
|
-
const logger
|
|
5137
|
+
const logger = IssueReporter$1 ? IssueReporter$1.loggerFor('cti-phone') : console;
|
|
5138
5138
|
|
|
5139
5139
|
class CTIPhone extends Emitter {
|
|
5140
5140
|
|
|
@@ -5147,7 +5147,7 @@ class CTIPhone extends Emitter {
|
|
|
5147
5147
|
|
|
5148
5148
|
constructor(session , isMobile = false, callbackAllLines = false) {
|
|
5149
5149
|
super();
|
|
5150
|
-
logger
|
|
5150
|
+
logger.info('CTI Phone created');
|
|
5151
5151
|
this.session = session;
|
|
5152
5152
|
this.isMobile = isMobile;
|
|
5153
5153
|
this.callbackAllLines = callbackAllLines;
|
|
@@ -5208,7 +5208,7 @@ class CTIPhone extends Emitter {
|
|
|
5208
5208
|
}
|
|
5209
5209
|
|
|
5210
5210
|
async makeCall(number , line ) {
|
|
5211
|
-
logger
|
|
5211
|
+
logger.info('make CTI call', { number });
|
|
5212
5212
|
|
|
5213
5213
|
if (!number) {
|
|
5214
5214
|
return null;
|
|
@@ -5231,7 +5231,7 @@ class CTIPhone extends Emitter {
|
|
|
5231
5231
|
if (!callSession) {
|
|
5232
5232
|
return Promise.resolve(null);
|
|
5233
5233
|
}
|
|
5234
|
-
logger
|
|
5234
|
+
logger.info('accept CTI call', { callId: callSession.getId(), number: callSession.number });
|
|
5235
5235
|
|
|
5236
5236
|
if (!this.currentCall) {
|
|
5237
5237
|
this.currentCall = callSession.call;
|
|
@@ -5244,7 +5244,7 @@ class CTIPhone extends Emitter {
|
|
|
5244
5244
|
if (!callSession) {
|
|
5245
5245
|
return;
|
|
5246
5246
|
}
|
|
5247
|
-
logger
|
|
5247
|
+
logger.info('end current CTI call', { callId: callSession.getId(), number: callSession.number });
|
|
5248
5248
|
|
|
5249
5249
|
this.currentCall = undefined;
|
|
5250
5250
|
this.eventEmitter.emit('onCallEnded', callSession);
|
|
@@ -5254,7 +5254,7 @@ class CTIPhone extends Emitter {
|
|
|
5254
5254
|
if (!callSession) {
|
|
5255
5255
|
return Promise.resolve(false);
|
|
5256
5256
|
}
|
|
5257
|
-
logger
|
|
5257
|
+
logger.info('hangup CTI call', { callId: callSession.getId(), number: callSession.number });
|
|
5258
5258
|
|
|
5259
5259
|
try {
|
|
5260
5260
|
await CallApi.cancelCall(callSession);
|
|
@@ -5265,7 +5265,7 @@ class CTIPhone extends Emitter {
|
|
|
5265
5265
|
this.eventEmitter.emit('onCallEnded', callSession);
|
|
5266
5266
|
return true;
|
|
5267
5267
|
} catch (e) {
|
|
5268
|
-
logger
|
|
5268
|
+
logger.error('hangup CTI call, error', e);
|
|
5269
5269
|
|
|
5270
5270
|
this.eventEmitter.emit('onCallFailed', callSession);
|
|
5271
5271
|
return false;
|
|
@@ -5278,7 +5278,7 @@ class CTIPhone extends Emitter {
|
|
|
5278
5278
|
if (!callSession) {
|
|
5279
5279
|
return;
|
|
5280
5280
|
}
|
|
5281
|
-
logger
|
|
5281
|
+
logger.info('reject CTI call', { callId: callSession.getId(), number: callSession.number });
|
|
5282
5282
|
|
|
5283
5283
|
await CallApi.cancelCall(callSession);
|
|
5284
5284
|
this.eventEmitter.emit('onCallEnded', callSession);
|
|
@@ -5288,7 +5288,7 @@ class CTIPhone extends Emitter {
|
|
|
5288
5288
|
if (!callSession) {
|
|
5289
5289
|
return;
|
|
5290
5290
|
}
|
|
5291
|
-
logger
|
|
5291
|
+
logger.info('transfer CTI call', { callId: callSession.getId(), number: callSession.number, to: number });
|
|
5292
5292
|
|
|
5293
5293
|
await CallApi.transferCall(callSession.callId, number, TRANSFER_FLOW_BLIND);
|
|
5294
5294
|
}
|
|
@@ -5301,19 +5301,19 @@ class CTIPhone extends Emitter {
|
|
|
5301
5301
|
if (!callSession) {
|
|
5302
5302
|
return;
|
|
5303
5303
|
}
|
|
5304
|
-
logger
|
|
5304
|
+
logger.info('indirect CTI transfer', { callId: callSession.getId(), number: callSession.number, to: number });
|
|
5305
5305
|
|
|
5306
5306
|
return CallApi.transferCall(callSession.callId, number, TRANSFER_FLOW_ATTENDED);
|
|
5307
5307
|
}
|
|
5308
5308
|
|
|
5309
5309
|
async cancelCTIIndirectTransfer(transferId ) {
|
|
5310
|
-
logger
|
|
5310
|
+
logger.info('cancel CTI transfer', { transferId });
|
|
5311
5311
|
|
|
5312
5312
|
return CallApi.cancelCallTransfer(transferId);
|
|
5313
5313
|
}
|
|
5314
5314
|
|
|
5315
5315
|
async confirmCTIIndirectTransfer(transferId ) {
|
|
5316
|
-
logger
|
|
5316
|
+
logger.info('confirm CTI transfer', { transferId });
|
|
5317
5317
|
|
|
5318
5318
|
return CallApi.confirmCallTransfer(transferId);
|
|
5319
5319
|
}
|
|
@@ -5322,19 +5322,19 @@ class CTIPhone extends Emitter {
|
|
|
5322
5322
|
if (!callSession) {
|
|
5323
5323
|
return;
|
|
5324
5324
|
}
|
|
5325
|
-
logger
|
|
5325
|
+
logger.info('send CTI key', { callId: callSession.getId(), number: callSession.number, digits });
|
|
5326
5326
|
|
|
5327
5327
|
return CallApi.sendDTMF(callSession.callId, digits);
|
|
5328
5328
|
}
|
|
5329
5329
|
|
|
5330
5330
|
onConnectionMade() {
|
|
5331
|
-
logger
|
|
5331
|
+
logger.info('on CTI connection made');
|
|
5332
5332
|
|
|
5333
5333
|
this.eventEmitter.emit('onCallAccepted');
|
|
5334
5334
|
}
|
|
5335
5335
|
|
|
5336
5336
|
async close() {
|
|
5337
|
-
logger
|
|
5337
|
+
logger.info('CTI close');
|
|
5338
5338
|
|
|
5339
5339
|
return Promise.resolve();
|
|
5340
5340
|
}
|
|
@@ -5343,7 +5343,7 @@ class CTIPhone extends Emitter {
|
|
|
5343
5343
|
if (!callSession) {
|
|
5344
5344
|
return;
|
|
5345
5345
|
}
|
|
5346
|
-
logger
|
|
5346
|
+
logger.info('CTI hold', { callId: callSession.getId(), number: callSession.number });
|
|
5347
5347
|
|
|
5348
5348
|
return CallApi.hold(callSession.callId);
|
|
5349
5349
|
}
|
|
@@ -5352,7 +5352,7 @@ class CTIPhone extends Emitter {
|
|
|
5352
5352
|
if (!callSession) {
|
|
5353
5353
|
return;
|
|
5354
5354
|
}
|
|
5355
|
-
logger
|
|
5355
|
+
logger.info('CTI resume', { callId: callSession.getId(), number: callSession.number });
|
|
5356
5356
|
|
|
5357
5357
|
return CallApi.resume(callSession.callId);
|
|
5358
5358
|
}
|
|
@@ -5361,7 +5361,7 @@ class CTIPhone extends Emitter {
|
|
|
5361
5361
|
if (!callSession) {
|
|
5362
5362
|
return;
|
|
5363
5363
|
}
|
|
5364
|
-
logger
|
|
5364
|
+
logger.info('CTI mute', { callId: callSession.getId(), number: callSession.number });
|
|
5365
5365
|
|
|
5366
5366
|
return CallApi.mute(callSession.callId);
|
|
5367
5367
|
}
|
|
@@ -5370,7 +5370,7 @@ class CTIPhone extends Emitter {
|
|
|
5370
5370
|
if (!callSession) {
|
|
5371
5371
|
return;
|
|
5372
5372
|
}
|
|
5373
|
-
logger
|
|
5373
|
+
logger.info('CTI unmute', { callId: callSession.getId(), number: callSession.number });
|
|
5374
5374
|
|
|
5375
5375
|
return CallApi.unmute(callSession.callId);
|
|
5376
5376
|
}
|