@wazo/sdk 0.37.34 → 0.37.37
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/README.md +8 -2
- package/dist/wazo-sdk.js +2 -2
- package/esm/__tests__/api-client.test.js +17 -0
- package/esm/__tests__/web-rtc-client.test.js +17 -0
- package/esm/api/auth.js +7 -1
- package/esm/api/call-logd.js +6 -0
- package/esm/api/chatd.js +6 -0
- package/esm/api/confd.js +6 -0
- package/esm/api-client.js +17 -0
- package/esm/checker/Checker.js +17 -0
- package/esm/checker/checks/aor.js +17 -0
- package/esm/checker/checks/api.js +17 -0
- package/esm/checker/checks/index.js +17 -0
- package/esm/checker/checks/webrtc-transport.js +17 -0
- package/esm/checker/checks/webrtc.js +17 -0
- package/esm/domain/AdHocAPIConference.js +21 -0
- package/esm/domain/CallLog.js +6 -0
- package/esm/domain/CallSession.js +14 -0
- package/esm/domain/Features.js +17 -0
- package/esm/domain/Phone/CTIPhone.js +31 -0
- package/esm/domain/Phone/WebRTCPhone.js +42 -11
- package/esm/domain/Profile.js +6 -0
- package/esm/domain/__tests__/CallLog.test.js +10 -0
- package/esm/domain/__tests__/CallSession.test.js +14 -0
- package/esm/domain/__tests__/IndirectTransfer.test.js +14 -0
- package/esm/domain/__tests__/Profile.test.js +6 -0
- package/esm/domain/__tests__/Room.test.js +14 -0
- package/esm/domain/__tests__/Session.test.js +6 -0
- package/esm/index.js +83 -18
- package/esm/service/CallApi.js +17 -0
- package/esm/service/getApiClient.js +17 -0
- package/esm/simple/Auth.js +84 -19
- package/esm/simple/Configuration.js +83 -18
- package/esm/simple/Directory.js +17 -0
- package/esm/simple/Phone.js +83 -18
- package/esm/simple/index.js +83 -18
- package/esm/simple/room/LocalParticipant.js +83 -18
- package/esm/simple/room/Participant.js +83 -18
- package/esm/simple/room/RemoteParticipant.js +83 -18
- package/esm/simple/room/Room.js +83 -18
- package/esm/simple/room/SipRoom.js +83 -18
- package/esm/simple/room/Stream.js +83 -18
- package/esm/simple/room/__tests__/RemoteParticipant.test.js +83 -18
- package/esm/simple/utils.js +83 -18
- package/esm/web-rtc-client.js +17 -0
- package/lib/__tests__/api-client.test.js +17 -0
- package/lib/__tests__/web-rtc-client.test.js +17 -0
- package/lib/api/auth.js +8 -0
- package/lib/api/call-logd.js +6 -0
- package/lib/api/chatd.js +6 -0
- package/lib/api/confd.js +6 -0
- package/lib/api-client.js +17 -0
- package/lib/checker/Checker.js +17 -0
- package/lib/checker/checks/aor.js +17 -0
- package/lib/checker/checks/api.js +17 -0
- package/lib/checker/checks/index.js +17 -0
- package/lib/checker/checks/webrtc-transport.js +17 -0
- package/lib/checker/checks/webrtc.js +17 -0
- package/lib/domain/AdHocAPIConference.js +21 -0
- package/lib/domain/CallLog.js +6 -0
- package/lib/domain/CallSession.js +14 -0
- package/lib/domain/Features.js +17 -0
- package/lib/domain/Phone/CTIPhone.js +31 -0
- package/lib/domain/Phone/WebRTCPhone.js +42 -11
- package/lib/domain/Profile.js +6 -0
- package/lib/domain/__tests__/CallLog.test.js +10 -0
- package/lib/domain/__tests__/CallSession.test.js +14 -0
- package/lib/domain/__tests__/IndirectTransfer.test.js +14 -0
- package/lib/domain/__tests__/Profile.test.js +6 -0
- package/lib/domain/__tests__/Room.test.js +14 -0
- package/lib/domain/__tests__/Session.test.js +6 -0
- package/lib/index.js +83 -18
- package/lib/service/CallApi.js +17 -0
- package/lib/service/getApiClient.js +17 -0
- package/lib/simple/Auth.js +84 -18
- package/lib/simple/Configuration.js +83 -18
- package/lib/simple/Directory.js +17 -0
- package/lib/simple/Phone.js +83 -18
- package/lib/simple/index.js +83 -18
- package/lib/simple/room/LocalParticipant.js +83 -18
- package/lib/simple/room/Participant.js +83 -18
- package/lib/simple/room/RemoteParticipant.js +83 -18
- package/lib/simple/room/Room.js +83 -18
- package/lib/simple/room/SipRoom.js +83 -18
- package/lib/simple/room/Stream.js +83 -18
- package/lib/simple/room/__tests__/RemoteParticipant.test.js +83 -18
- package/lib/simple/utils.js +83 -18
- package/lib/web-rtc-client.js +17 -0
- package/package.json +1 -1
- package/src/api/auth.js +7 -1
- package/src/domain/AdHocAPIConference.js +4 -0
- package/src/domain/CallLog.js +6 -0
- package/src/domain/CallSession.js +14 -0
- package/src/domain/Phone/WebRTCPhone.js +28 -11
- package/src/domain/Profile.js +6 -0
- package/src/domain/__tests__/CallLog.test.js +4 -0
- package/src/simple/Auth.js +13 -2
- package/src/simple/Phone.js +6 -6
- package/src/simple/index.js +2 -1
package/esm/simple/Phone.js
CHANGED
|
@@ -275,6 +275,7 @@ var updateFrom = (instance , from ) => {
|
|
|
275
275
|
|
|
276
276
|
|
|
277
277
|
|
|
278
|
+
|
|
278
279
|
|
|
279
280
|
|
|
280
281
|
class CallSession {
|
|
@@ -337,6 +338,8 @@ class CallSession {
|
|
|
337
338
|
|
|
338
339
|
|
|
339
340
|
|
|
341
|
+
|
|
342
|
+
|
|
340
343
|
|
|
341
344
|
|
|
342
345
|
|
|
@@ -368,6 +371,7 @@ class CallSession {
|
|
|
368
371
|
videoRemotelyDowngraded,
|
|
369
372
|
sipSession,
|
|
370
373
|
answerTime,
|
|
374
|
+
conference,
|
|
371
375
|
} ) {
|
|
372
376
|
this.callId = callId;
|
|
373
377
|
this.sipCallId = sipCallId;
|
|
@@ -396,6 +400,7 @@ class CallSession {
|
|
|
396
400
|
this.videoRemotelyDowngraded = videoRemotelyDowngraded;
|
|
397
401
|
this.sipSession = sipSession;
|
|
398
402
|
this.answerTime = answerTime || this.answerTime;
|
|
403
|
+
this.conference = conference;
|
|
399
404
|
|
|
400
405
|
// Useful to compare instead of instanceof with minified code
|
|
401
406
|
this.type = 'CallSession';
|
|
@@ -453,6 +458,10 @@ class CallSession {
|
|
|
453
458
|
this.screensharing = false;
|
|
454
459
|
}
|
|
455
460
|
|
|
461
|
+
setIsConference(conference ) {
|
|
462
|
+
this.conference = conference;
|
|
463
|
+
}
|
|
464
|
+
|
|
456
465
|
isIncoming() {
|
|
457
466
|
return !this.isCaller && !this.answered;
|
|
458
467
|
}
|
|
@@ -529,6 +538,10 @@ class CallSession {
|
|
|
529
538
|
return this.sipStatus === SessionState.Terminated;
|
|
530
539
|
}
|
|
531
540
|
|
|
541
|
+
isConference() {
|
|
542
|
+
return this.conference;
|
|
543
|
+
}
|
|
544
|
+
|
|
532
545
|
getElapsedTimeInSeconds() {
|
|
533
546
|
if (!this.startTime) {
|
|
534
547
|
return 0;
|
|
@@ -620,6 +633,7 @@ class CallSession {
|
|
|
620
633
|
cameraEnabled: false,
|
|
621
634
|
dialedExtension: call.dialedExtension,
|
|
622
635
|
call,
|
|
636
|
+
conference: false, // @FIXME?
|
|
623
637
|
});
|
|
624
638
|
}
|
|
625
639
|
}
|
|
@@ -1660,6 +1674,7 @@ const LINE_STATE = {
|
|
|
1660
1674
|
|
|
1661
1675
|
|
|
1662
1676
|
|
|
1677
|
+
|
|
1663
1678
|
|
|
1664
1679
|
|
|
1665
1680
|
|
|
@@ -1696,6 +1711,7 @@ const LINE_STATE = {
|
|
|
1696
1711
|
|
|
1697
1712
|
|
|
1698
1713
|
|
|
1714
|
+
|
|
1699
1715
|
|
|
1700
1716
|
|
|
1701
1717
|
|
|
@@ -1727,6 +1743,7 @@ class Profile {
|
|
|
1727
1743
|
|
|
1728
1744
|
|
|
1729
1745
|
|
|
1746
|
+
|
|
1730
1747
|
|
|
1731
1748
|
|
|
1732
1749
|
|
|
@@ -1743,6 +1760,7 @@ class Profile {
|
|
|
1743
1760
|
lines: plain.lines.map(line => Line.parse(line)),
|
|
1744
1761
|
username: plain.username,
|
|
1745
1762
|
mobileNumber: plain.mobile_phone_number || '',
|
|
1763
|
+
ringSeconds: plain.ring_seconds,
|
|
1746
1764
|
forwards: [
|
|
1747
1765
|
ForwardOption.parse(plain.forwards.unconditional, FORWARD_KEYS.UNCONDITIONAL),
|
|
1748
1766
|
ForwardOption.parse(plain.forwards.noanswer, FORWARD_KEYS.NO_ANSWER),
|
|
@@ -1779,6 +1797,7 @@ class Profile {
|
|
|
1779
1797
|
switchboards,
|
|
1780
1798
|
agent,
|
|
1781
1799
|
status,
|
|
1800
|
+
ringSeconds,
|
|
1782
1801
|
sipLines,
|
|
1783
1802
|
callPickupTargetUsers,
|
|
1784
1803
|
onlineCallRecordEnabled,
|
|
@@ -1800,6 +1819,7 @@ class Profile {
|
|
|
1800
1819
|
this.status = status;
|
|
1801
1820
|
this.callPickupTargetUsers = callPickupTargetUsers;
|
|
1802
1821
|
this.onlineCallRecordEnabled = onlineCallRecordEnabled;
|
|
1822
|
+
this.ringSeconds = ringSeconds;
|
|
1803
1823
|
|
|
1804
1824
|
this.sipLines = sipLines || [];
|
|
1805
1825
|
}
|
|
@@ -2791,6 +2811,7 @@ class Session {
|
|
|
2791
2811
|
/* */
|
|
2792
2812
|
|
|
2793
2813
|
const DEFAULT_BACKEND_USER = 'wazo_user';
|
|
2814
|
+
const BACKEND_LDAP_USER = 'ldap_user';
|
|
2794
2815
|
const DETAULT_EXPIRATION = 3600;
|
|
2795
2816
|
|
|
2796
2817
|
var authMethods = (client , baseUrl ) => ({
|
|
@@ -2805,6 +2826,7 @@ var authMethods = (client , baseUrl ) => ({
|
|
|
2805
2826
|
|
|
2806
2827
|
|
|
2807
2828
|
|
|
2829
|
+
|
|
2808
2830
|
) {
|
|
2809
2831
|
const body = {
|
|
2810
2832
|
backend: params.backend || DEFAULT_BACKEND_USER,
|
|
@@ -2824,6 +2846,10 @@ var authMethods = (client , baseUrl ) => ({
|
|
|
2824
2846
|
headers['Wazo-Session-Type'] = 'mobile';
|
|
2825
2847
|
}
|
|
2826
2848
|
|
|
2849
|
+
if (params.tenantId) {
|
|
2850
|
+
body.tenant_id = params.tenantId;
|
|
2851
|
+
}
|
|
2852
|
+
|
|
2827
2853
|
return client.post(`${baseUrl}/token`, body, headers).then(response => Session.parse(response));
|
|
2828
2854
|
},
|
|
2829
2855
|
|
|
@@ -3709,11 +3735,13 @@ class Recording {
|
|
|
3709
3735
|
|
|
3710
3736
|
|
|
3711
3737
|
|
|
3738
|
+
|
|
3712
3739
|
|
|
3713
3740
|
|
|
3714
3741
|
|
|
3715
3742
|
|
|
3716
3743
|
|
|
3744
|
+
|
|
3717
3745
|
|
|
3718
3746
|
|
|
3719
3747
|
|
|
@@ -3734,10 +3762,12 @@ class Recording {
|
|
|
3734
3762
|
|
|
3735
3763
|
|
|
3736
3764
|
|
|
3765
|
+
|
|
3737
3766
|
|
|
3738
3767
|
|
|
3739
3768
|
|
|
3740
3769
|
|
|
3770
|
+
|
|
3741
3771
|
|
|
3742
3772
|
|
|
3743
3773
|
|
|
@@ -3799,10 +3829,12 @@ class CallLog {
|
|
|
3799
3829
|
|| plain.destination_extension
|
|
3800
3830
|
|| `meeting-${plain.requested_name || plain.destination_name || ''}`,
|
|
3801
3831
|
name: plain.requested_name || plain.destination_name || '',
|
|
3832
|
+
uuid: plain.destination_user_uuid,
|
|
3802
3833
|
},
|
|
3803
3834
|
source: {
|
|
3804
3835
|
extension: plain.source_extension,
|
|
3805
3836
|
name: plain.source_name,
|
|
3837
|
+
uuid: plain.source_user_uuid,
|
|
3806
3838
|
},
|
|
3807
3839
|
id: plain.id,
|
|
3808
3840
|
duration: (plain.duration || 0) * 1000, // duration is in seconds
|
|
@@ -5645,6 +5677,10 @@ class AdHocAPIConference {
|
|
|
5645
5677
|
this.conferenceId = conferenceId || '';
|
|
5646
5678
|
this.muted = muted || false;
|
|
5647
5679
|
this.paused = paused || false;
|
|
5680
|
+
|
|
5681
|
+
if (this.host) {
|
|
5682
|
+
this.host.setIsConference(true);
|
|
5683
|
+
}
|
|
5648
5684
|
}
|
|
5649
5685
|
|
|
5650
5686
|
async start() {
|
|
@@ -9354,7 +9390,11 @@ class WebRTCPhone extends Emitter {
|
|
|
9354
9390
|
accept(callSession , cameraEnabled ) {
|
|
9355
9391
|
logger$8.info('WebRTC phone - accept call', { id: callSession ? callSession.getId() : 'n/a', cameraEnabled });
|
|
9356
9392
|
if (this.currentSipSession) {
|
|
9357
|
-
this.holdSipSession(
|
|
9393
|
+
this.holdSipSession(
|
|
9394
|
+
this.currentSipSession,
|
|
9395
|
+
this.currentCallSession,
|
|
9396
|
+
true,
|
|
9397
|
+
);
|
|
9358
9398
|
}
|
|
9359
9399
|
|
|
9360
9400
|
if (!callSession) {
|
|
@@ -9447,22 +9487,22 @@ class WebRTCPhone extends Emitter {
|
|
|
9447
9487
|
}
|
|
9448
9488
|
}
|
|
9449
9489
|
|
|
9450
|
-
hold(callSession , withEvent = true
|
|
9490
|
+
hold(callSession , withEvent = true) {
|
|
9451
9491
|
logger$8.info('WebRTC hold', { id: callSession.getId() });
|
|
9452
9492
|
|
|
9453
9493
|
const sipSession = this.findSipSession(callSession);
|
|
9454
9494
|
|
|
9455
|
-
return sipSession ? this.holdSipSession(sipSession, callSession, withEvent
|
|
9495
|
+
return sipSession ? this.holdSipSession(sipSession, callSession, withEvent) : null;
|
|
9456
9496
|
}
|
|
9457
9497
|
|
|
9458
9498
|
// @Deprecated
|
|
9459
|
-
unhold(callSession , withEvent = true
|
|
9499
|
+
unhold(callSession , withEvent = true) {
|
|
9460
9500
|
console.warn('Please note that `phone.unhold()` is being deprecated; `phone.resume()` is the preferred method');
|
|
9461
9501
|
|
|
9462
|
-
return this.resume(callSession,
|
|
9502
|
+
return this.resume(callSession, withEvent);
|
|
9463
9503
|
}
|
|
9464
9504
|
|
|
9465
|
-
resume(callSession ,
|
|
9505
|
+
resume(callSession , withEvent = true) {
|
|
9466
9506
|
logger$8.info('WebRTC resume called', { id: callSession ? callSession.getId() : null });
|
|
9467
9507
|
|
|
9468
9508
|
const sipSession = this.findSipSession(callSession);
|
|
@@ -9475,10 +9515,14 @@ class WebRTCPhone extends Emitter {
|
|
|
9475
9515
|
// Hold current session if different from the current one (we don't want 2 sessions active at the same time).
|
|
9476
9516
|
if (this.currentSipSession && this.currentSipSession.id !== sipSession.id) {
|
|
9477
9517
|
logger$8.info('WebRTC hold call after resume', { id: this.currentSipSession.id });
|
|
9478
|
-
this.holdSipSession(
|
|
9518
|
+
this.holdSipSession(
|
|
9519
|
+
this.currentSipSession,
|
|
9520
|
+
this.currentCallSession,
|
|
9521
|
+
withEvent,
|
|
9522
|
+
);
|
|
9479
9523
|
}
|
|
9480
9524
|
|
|
9481
|
-
const promise = this.unholdSipSession(sipSession, callSession, withEvent
|
|
9525
|
+
const promise = this.unholdSipSession(sipSession, callSession, withEvent);
|
|
9482
9526
|
this.currentSipSession = sipSession;
|
|
9483
9527
|
if (callSession) {
|
|
9484
9528
|
this.currentCallSession = callSession;
|
|
@@ -9491,7 +9535,6 @@ class WebRTCPhone extends Emitter {
|
|
|
9491
9535
|
sipSession ,
|
|
9492
9536
|
callSession ,
|
|
9493
9537
|
withEvent = true,
|
|
9494
|
-
isConference = false,
|
|
9495
9538
|
) {
|
|
9496
9539
|
if (!sipSession) {
|
|
9497
9540
|
return new Promise((resolve, reject) => reject(new Error('No session to hold')));
|
|
@@ -9512,6 +9555,8 @@ class WebRTCPhone extends Emitter {
|
|
|
9512
9555
|
await this.client.downgradeToAudio(sipSession);
|
|
9513
9556
|
}
|
|
9514
9557
|
|
|
9558
|
+
const isConference = !!callSession && callSession.isConference();
|
|
9559
|
+
|
|
9515
9560
|
const promise = this.client.hold(sipSession, isConference, hasVideo);
|
|
9516
9561
|
if (withEvent) {
|
|
9517
9562
|
this.eventEmitter.emit(ON_CALL_HELD, this._createCallSession(sipSession, callSession));
|
|
@@ -9524,11 +9569,13 @@ class WebRTCPhone extends Emitter {
|
|
|
9524
9569
|
sipSession ,
|
|
9525
9570
|
callSession ,
|
|
9526
9571
|
withEvent = true,
|
|
9527
|
-
isConference = false,
|
|
9528
9572
|
) {
|
|
9529
9573
|
if (!sipSession) {
|
|
9530
9574
|
return new Promise((resolve, reject) => reject(new Error('No session to unhold')));
|
|
9531
9575
|
}
|
|
9576
|
+
|
|
9577
|
+
const isConference = !!callSession && callSession.isConference();
|
|
9578
|
+
|
|
9532
9579
|
const sessionId = this.getSipSessionId(sipSession);
|
|
9533
9580
|
logger$8.info('WebRTC unhold sip session', { sessionId, isConference });
|
|
9534
9581
|
|
|
@@ -9670,7 +9717,11 @@ class WebRTCPhone extends Emitter {
|
|
|
9670
9717
|
await this.client.register();
|
|
9671
9718
|
}
|
|
9672
9719
|
if (this.currentSipSession) {
|
|
9673
|
-
this.holdSipSession(
|
|
9720
|
+
this.holdSipSession(
|
|
9721
|
+
this.currentSipSession,
|
|
9722
|
+
this.currentCallSession,
|
|
9723
|
+
true,
|
|
9724
|
+
).catch(e => {
|
|
9674
9725
|
logger$8.warn('Unable to hold current session when making another call', e);
|
|
9675
9726
|
});
|
|
9676
9727
|
}
|
|
@@ -9685,6 +9736,7 @@ class WebRTCPhone extends Emitter {
|
|
|
9685
9736
|
return Promise.resolve(null);
|
|
9686
9737
|
}
|
|
9687
9738
|
const callSession = this._createOutgoingCallSession(sipSession, cameraEnabled || false);
|
|
9739
|
+
callSession.setIsConference(conference);
|
|
9688
9740
|
callSession.creationTime = new Date();
|
|
9689
9741
|
this._updateCallSession(callSession);
|
|
9690
9742
|
|
|
@@ -10263,6 +10315,7 @@ class WebRTCPhone extends Emitter {
|
|
|
10263
10315
|
recording: fromSession ? fromSession.isRecording() : false,
|
|
10264
10316
|
recordingPaused: false, // @TODO
|
|
10265
10317
|
sipSession,
|
|
10318
|
+
conference: !!fromSession && fromSession.isConference(),
|
|
10266
10319
|
...extra,
|
|
10267
10320
|
});
|
|
10268
10321
|
|
|
@@ -10325,6 +10378,7 @@ var PHONE_EVENTS = /*#__PURE__*/Object.freeze({
|
|
|
10325
10378
|
|
|
10326
10379
|
class InvalidSubscription extends Error {}
|
|
10327
10380
|
class InvalidAuthorization extends Error {}
|
|
10381
|
+
class NoTenantIdError extends Error {}
|
|
10328
10382
|
|
|
10329
10383
|
const logger$7 = IssueReporter$1.loggerFor('simple-auth');
|
|
10330
10384
|
|
|
@@ -10338,11 +10392,15 @@ class Auth {
|
|
|
10338
10392
|
|
|
10339
10393
|
|
|
10340
10394
|
|
|
10395
|
+
|
|
10396
|
+
|
|
10341
10397
|
|
|
10342
10398
|
constructor() {
|
|
10343
10399
|
this.expiration = DETAULT_EXPIRATION;
|
|
10344
10400
|
this.authenticated = false;
|
|
10345
10401
|
this.minSubscriptionType = null;
|
|
10402
|
+
this.BACKEND_WAZO = DEFAULT_BACKEND_USER;
|
|
10403
|
+
this.BACKEND_LDAP = BACKEND_LDAP_USER;
|
|
10346
10404
|
}
|
|
10347
10405
|
|
|
10348
10406
|
init(clientId ,
|
|
@@ -10375,12 +10433,18 @@ class Auth {
|
|
|
10375
10433
|
setFetchOptions(options);
|
|
10376
10434
|
}
|
|
10377
10435
|
|
|
10378
|
-
async logIn(username , password ) {
|
|
10436
|
+
async logIn(username , password , backend , tenantId ) {
|
|
10437
|
+
if (backend && backend !== this.BACKEND_WAZO && !tenantId) {
|
|
10438
|
+
throw new NoTenantIdError('No tenant id');
|
|
10439
|
+
}
|
|
10440
|
+
|
|
10379
10441
|
this.authenticated = false;
|
|
10380
10442
|
this.session = null;
|
|
10381
10443
|
const rawSession = await getApiClient().auth.logIn({
|
|
10382
10444
|
username,
|
|
10383
10445
|
password,
|
|
10446
|
+
backend,
|
|
10447
|
+
tenantId,
|
|
10384
10448
|
expiration: this.expiration,
|
|
10385
10449
|
mobile: this.mobile,
|
|
10386
10450
|
});
|
|
@@ -13481,6 +13545,7 @@ const Wazo = {
|
|
|
13481
13545
|
InvalidAuthorization,
|
|
13482
13546
|
CanceledCallError,
|
|
13483
13547
|
SFUNotAvailableError,
|
|
13548
|
+
NoTenantIdError,
|
|
13484
13549
|
};
|
|
13485
13550
|
|
|
13486
13551
|
if (window) {
|
|
@@ -13680,16 +13745,16 @@ class Phone extends Emitter {
|
|
|
13680
13745
|
}
|
|
13681
13746
|
}
|
|
13682
13747
|
|
|
13683
|
-
hold(callSession
|
|
13684
|
-
return this.phone && this.phone.hold(callSession, true
|
|
13748
|
+
hold(callSession ) {
|
|
13749
|
+
return this.phone && this.phone.hold(callSession, true);
|
|
13685
13750
|
}
|
|
13686
13751
|
|
|
13687
|
-
unhold(callSession
|
|
13688
|
-
return this.phone && this.phone.unhold(callSession, true
|
|
13752
|
+
unhold(callSession ) {
|
|
13753
|
+
return this.phone && this.phone.unhold(callSession, true);
|
|
13689
13754
|
}
|
|
13690
13755
|
|
|
13691
|
-
resume(callSession
|
|
13692
|
-
return this.phone && this.phone.resume(callSession
|
|
13756
|
+
resume(callSession ) {
|
|
13757
|
+
return this.phone && this.phone.resume(callSession);
|
|
13693
13758
|
}
|
|
13694
13759
|
|
|
13695
13760
|
reject(callSession ) {
|