@wazo/sdk 0.37.18 → 0.37.22
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 +13 -5
- package/esm/__tests__/api-client.test.js +52 -9
- package/esm/__tests__/web-rtc-client.test.js +80 -20
- package/esm/api/agentd.js +27 -4
- package/esm/api/amid.js +27 -4
- package/esm/api/application.js +27 -4
- package/esm/api/auth.js +29 -5
- package/esm/api/call-logd.js +29 -6
- package/esm/api/calld.js +27 -4
- package/esm/api/chatd.js +27 -4
- package/esm/api/confd.js +51 -8
- package/esm/api/ctid-ng.js +27 -4
- package/esm/api/dird.js +27 -4
- package/esm/api/webhookd.js +27 -4
- package/esm/api-client.js +54 -11
- package/esm/checker/Checker.js +83 -21
- package/esm/checker/checks/aor.js +54 -11
- package/esm/checker/checks/api.js +54 -11
- package/esm/checker/checks/ice-ipv4.js +1 -1
- package/esm/checker/checks/index.js +84 -22
- package/esm/checker/checks/symmetric-nat.js +1 -1
- package/esm/checker/checks/wazo-websocket.js +29 -4
- package/esm/checker/checks/webrtc-transport.js +82 -22
- package/esm/checker/checks/webrtc.js +82 -22
- package/esm/domain/AdHocAPIConference.js +54 -11
- package/esm/domain/Agent.js +1 -1
- package/esm/domain/BadResponse.js +1 -1
- package/esm/domain/Call.js +1 -1
- package/esm/domain/CallLog.js +3 -3
- package/esm/domain/CallSession.js +1 -1
- package/esm/domain/ChatMessage.js +1 -1
- package/esm/domain/ChatRoom.js +1 -1
- package/esm/domain/Contact.js +2 -1
- package/esm/domain/Country.js +1 -1
- package/esm/domain/Device/DebugDevice.js +1 -1
- package/esm/domain/ExternalApp.js +1 -1
- package/esm/domain/Features.js +54 -10
- package/esm/domain/ForwardOption.js +2 -1
- package/esm/domain/IndirectTransfer.js +1 -1
- package/esm/domain/Line.js +1 -1
- package/esm/domain/Meeting.js +20 -3
- package/esm/domain/NotificationOptions.js +1 -1
- package/esm/domain/Phone/CTIPhone.js +55 -11
- package/esm/domain/Phone/WebRTCPhone.js +39 -6
- package/esm/domain/Profile.js +2 -1
- package/esm/domain/Recording.js +2 -2
- package/esm/domain/Relocation.js +1 -1
- package/esm/domain/Room.js +1 -1
- package/esm/domain/ServerError.js +1 -1
- package/esm/domain/Session.js +2 -2
- package/esm/domain/SipLine.js +1 -1
- package/esm/domain/Subscription.js +1 -1
- package/esm/domain/SwitchboardCall.js +1 -1
- package/esm/domain/Voicemail.js +1 -1
- package/esm/domain/__tests__/CallLog.test.js +2 -2
- package/esm/index.js +101 -24
- package/esm/lib/WazoSessionDescriptionHandler.js +28 -4
- package/esm/service/CallApi.js +54 -11
- package/esm/service/IssueReporter.js +27 -4
- package/esm/service/__tests__/IssueReporter.test.js +26 -3
- package/esm/service/getApiClient.js +55 -11
- package/esm/simple/Auth.js +101 -23
- package/esm/simple/Configuration.js +100 -23
- package/esm/simple/Directory.js +53 -10
- package/esm/simple/Phone.js +100 -23
- package/esm/simple/Websocket.js +30 -4
- package/esm/simple/index.js +100 -23
- package/esm/simple/room/LocalParticipant.js +113 -40
- package/esm/simple/room/Participant.js +112 -37
- package/esm/simple/room/RemoteParticipant.js +114 -41
- package/esm/simple/room/Room.js +113 -37
- package/esm/simple/room/SipRoom.js +101 -26
- package/esm/simple/room/Stream.js +101 -26
- package/esm/simple/room/__tests__/RemoteParticipant.test.js +99 -22
- package/esm/simple/utils.js +99 -22
- package/esm/utils/Emitter.js +1 -1
- package/esm/utils/Heartbeat.js +1 -1
- package/esm/utils/__tests__/api-requester.test.js +26 -3
- package/esm/utils/api-requester.js +28 -4
- package/esm/utils/compare-version.js +1 -1
- package/esm/utils/isMobile.js +1 -1
- package/esm/utils/new-from.js +1 -1
- package/esm/utils/once.js +1 -1
- package/esm/utils/update-from.js +1 -1
- package/esm/web-rtc-client.js +83 -22
- package/esm/websocket-client.js +30 -4
- package/lib/__tests__/api-client.test.js +61 -18
- package/lib/__tests__/web-rtc-client.test.js +97 -37
- package/lib/api/agentd.js +27 -4
- package/lib/api/amid.js +27 -4
- package/lib/api/application.js +27 -4
- package/lib/api/auth.js +28 -5
- package/lib/api/call-logd.js +34 -11
- package/lib/api/calld.js +30 -7
- package/lib/api/chatd.js +28 -5
- package/lib/api/confd.js +51 -8
- package/lib/api/ctid-ng.js +30 -7
- package/lib/api/dird.js +27 -4
- package/lib/api/webhookd.js +27 -4
- package/lib/api-client.js +61 -18
- package/lib/checker/Checker.js +100 -38
- package/lib/checker/checks/aor.js +61 -18
- package/lib/checker/checks/api.js +61 -18
- package/lib/checker/checks/index.js +100 -38
- package/lib/checker/checks/wazo-websocket.js +31 -6
- package/lib/checker/checks/webrtc-transport.js +97 -37
- package/lib/checker/checks/webrtc.js +97 -37
- package/lib/domain/AdHocAPIConference.js +61 -18
- package/lib/domain/Call.js +1 -1
- package/lib/domain/CallLog.js +7 -7
- package/lib/domain/ChatMessage.js +1 -1
- package/lib/domain/Contact.js +1 -1
- package/lib/domain/Features.js +62 -19
- package/lib/domain/ForwardOption.js +1 -1
- package/lib/domain/Meeting.js +19 -2
- package/lib/domain/Phone/CTIPhone.js +63 -20
- package/lib/domain/Phone/WebRTCPhone.js +40 -8
- package/lib/domain/Profile.js +1 -1
- package/lib/domain/Recording.js +3 -3
- package/lib/domain/Voicemail.js +1 -1
- package/lib/domain/__tests__/Call.test.js +1 -1
- package/lib/domain/__tests__/CallLog.test.js +13 -13
- package/lib/domain/__tests__/Voicemail.test.js +1 -1
- package/lib/index.js +120 -43
- package/lib/lib/WazoSessionDescriptionHandler.js +32 -9
- package/lib/service/CallApi.js +61 -18
- package/lib/service/IssueReporter.js +27 -4
- package/lib/service/__tests__/IssueReporter.test.js +27 -4
- package/lib/service/getApiClient.js +62 -19
- package/lib/simple/Auth.js +119 -42
- package/lib/simple/Configuration.js +118 -41
- package/lib/simple/Directory.js +61 -18
- package/lib/simple/Phone.js +118 -41
- package/lib/simple/Websocket.js +32 -6
- package/lib/simple/index.js +118 -41
- package/lib/simple/room/LocalParticipant.js +132 -59
- package/lib/simple/room/Participant.js +130 -55
- package/lib/simple/room/RemoteParticipant.js +133 -60
- package/lib/simple/room/Room.js +131 -56
- package/lib/simple/room/SipRoom.js +120 -45
- package/lib/simple/room/Stream.js +120 -45
- package/lib/simple/room/__tests__/RemoteParticipant.test.js +118 -41
- package/lib/simple/utils.js +118 -41
- package/lib/utils/Emitter.js +1 -1
- package/lib/utils/PhoneNumberUtil.js +2 -2
- package/lib/utils/__tests__/PhoneNumberUtil.test.js +2 -2
- package/lib/utils/__tests__/api-requester.test.js +27 -4
- package/lib/utils/__tests__/sdp.test.js +12 -12
- package/lib/utils/api-requester.js +28 -5
- package/lib/utils/sdp.js +10 -10
- package/lib/web-rtc-client.js +98 -38
- package/lib/websocket-client.js +33 -7
- package/package.json +2 -2
- package/src/api/confd.js +5 -2
- package/src/domain/CallLog.js +1 -1
- package/src/domain/Meeting.js +19 -2
- package/src/domain/Phone/WebRTCPhone.js +11 -2
- package/src/domain/Recording.js +1 -1
- package/src/service/IssueReporter.js +26 -3
- package/src/simple/Phone.js +5 -0
- package/src/types/WebSocketMessage.js +5 -1
- package/src/web-rtc-client.js +28 -11
- package/src/websocket-client.js +2 -0
|
@@ -440,6 +440,7 @@ class IssueReporter {
|
|
|
440
440
|
|
|
441
441
|
|
|
442
442
|
|
|
443
|
+
|
|
443
444
|
|
|
444
445
|
constructor() {
|
|
445
446
|
addLevelsTo(this);
|
|
@@ -451,12 +452,17 @@ class IssueReporter {
|
|
|
451
452
|
this.bufferTimeout = null;
|
|
452
453
|
this._boundProcessBuffer = this._processBuffer.bind(this);
|
|
453
454
|
this._boundParseLoggerBody = this._parseLoggerBody.bind(this);
|
|
455
|
+
this._callback = null;
|
|
454
456
|
}
|
|
455
457
|
|
|
456
458
|
init() {
|
|
457
459
|
this._catchConsole();
|
|
458
460
|
}
|
|
459
461
|
|
|
462
|
+
setCallback(cb ) {
|
|
463
|
+
this._callback = cb;
|
|
464
|
+
}
|
|
465
|
+
|
|
460
466
|
configureRemoteClient(configuration = { tag: 'wazo-sdk', host: null, port: null, level: null, extra: {} }) {
|
|
461
467
|
this.remoteClientConfiguration = configuration;
|
|
462
468
|
}
|
|
@@ -492,6 +498,7 @@ class IssueReporter {
|
|
|
492
498
|
|
|
493
499
|
// Handle category label
|
|
494
500
|
let category = null;
|
|
501
|
+
let skipSendToRemote = false;
|
|
495
502
|
let extra = {};
|
|
496
503
|
if (args[0].indexOf(CATEGORY_PREFIX) === 0) {
|
|
497
504
|
category = args[0].split('=')[1];
|
|
@@ -507,6 +514,7 @@ class IssueReporter {
|
|
|
507
514
|
errorMessage: lastArg.message,
|
|
508
515
|
errorStack: lastArg.stack,
|
|
509
516
|
errorType: lastArg.constructor.name,
|
|
517
|
+
skipSendToRemote: lastArg.skipSendToRemote,
|
|
510
518
|
};
|
|
511
519
|
} else {
|
|
512
520
|
extra = lastArg;
|
|
@@ -515,6 +523,11 @@ class IssueReporter {
|
|
|
515
523
|
args.splice(1, 1);
|
|
516
524
|
}
|
|
517
525
|
|
|
526
|
+
if (extra.skipSendToRemote) {
|
|
527
|
+
skipSendToRemote = true;
|
|
528
|
+
delete extra.skipSendToRemote;
|
|
529
|
+
}
|
|
530
|
+
|
|
518
531
|
const date = moment().format('YYYY-MM-DD HH:mm:ss.SSS');
|
|
519
532
|
const message = args.join(', ');
|
|
520
533
|
let consoleMessage = message;
|
|
@@ -535,7 +548,13 @@ class IssueReporter {
|
|
|
535
548
|
const oldMethod = this.oldConsoleMethods[consoleLevel] || this.oldConsoleMethods.log;
|
|
536
549
|
oldMethod.apply(oldMethod, [date, consoleMessage]);
|
|
537
550
|
|
|
538
|
-
this.
|
|
551
|
+
if (this._callback) {
|
|
552
|
+
this._callback(level, consoleMessage);
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
if (!skipSendToRemote) {
|
|
556
|
+
this._sendToRemoteLogger(level, { date, message, category, ...extra });
|
|
557
|
+
}
|
|
539
558
|
}
|
|
540
559
|
|
|
541
560
|
logRequest(url , options , response , start ) {
|
|
@@ -680,7 +699,11 @@ class IssueReporter {
|
|
|
680
699
|
},
|
|
681
700
|
// $FlowFixMe
|
|
682
701
|
body,
|
|
683
|
-
}).catch(() => {
|
|
702
|
+
}).catch((e ) => {
|
|
703
|
+
// $FlowFixMe
|
|
704
|
+
e.skipSendToRemote = true;
|
|
705
|
+
this.log('error', this._makeCategory('grafana'), 'Sending log to grafana, error', e);
|
|
706
|
+
|
|
684
707
|
setTimeout(() => {
|
|
685
708
|
if (isArray) {
|
|
686
709
|
payload = payload.map(message => {
|
|
@@ -692,7 +715,7 @@ class IssueReporter {
|
|
|
692
715
|
payload._retry = retry + 1;
|
|
693
716
|
}
|
|
694
717
|
|
|
695
|
-
this._sendDebugToGrafana(
|
|
718
|
+
this._sendDebugToGrafana(payload, retry + 1);
|
|
696
719
|
}, 5000 + retry * 1000);
|
|
697
720
|
});
|
|
698
721
|
}
|
|
@@ -2630,7 +2653,8 @@ class ExternalApp {
|
|
|
2630
2653
|
|
|
2631
2654
|
|
|
2632
2655
|
|
|
2633
|
-
|
|
2656
|
+
|
|
2657
|
+
|
|
2634
2658
|
|
|
2635
2659
|
|
|
2636
2660
|
class Meeting {
|
|
@@ -2642,6 +2666,7 @@ class Meeting {
|
|
|
2642
2666
|
|
|
2643
2667
|
|
|
2644
2668
|
|
|
2669
|
+
|
|
2645
2670
|
|
|
2646
2671
|
|
|
2647
2672
|
static parse(plain ) {
|
|
@@ -2653,14 +2678,28 @@ class Meeting {
|
|
|
2653
2678
|
port: plain.port,
|
|
2654
2679
|
uuid: plain.uuid,
|
|
2655
2680
|
number: plain.number,
|
|
2681
|
+
persistent: plain.persistent,
|
|
2656
2682
|
});
|
|
2657
2683
|
}
|
|
2658
2684
|
|
|
2685
|
+
static parseMany(items ) {
|
|
2686
|
+
return items.map(plain => Meeting.parse(plain));
|
|
2687
|
+
}
|
|
2688
|
+
|
|
2659
2689
|
static newFrom(meeting ) {
|
|
2660
2690
|
return newFrom(meeting, Meeting);
|
|
2661
2691
|
}
|
|
2662
2692
|
|
|
2663
|
-
constructor({
|
|
2693
|
+
constructor({
|
|
2694
|
+
uuid,
|
|
2695
|
+
name,
|
|
2696
|
+
guestSipAuthorization,
|
|
2697
|
+
ownerUuids,
|
|
2698
|
+
port,
|
|
2699
|
+
uri,
|
|
2700
|
+
number,
|
|
2701
|
+
persistent,
|
|
2702
|
+
} = {}) {
|
|
2664
2703
|
this.guestSipAuthorization = guestSipAuthorization;
|
|
2665
2704
|
this.uri = uri;
|
|
2666
2705
|
this.name = name;
|
|
@@ -2668,6 +2707,7 @@ class Meeting {
|
|
|
2668
2707
|
this.port = port;
|
|
2669
2708
|
this.uuid = uuid;
|
|
2670
2709
|
this.number = number;
|
|
2710
|
+
this.persistent = persistent;
|
|
2671
2711
|
|
|
2672
2712
|
// Useful to compare instead of instanceof with minified code
|
|
2673
2713
|
this.type = 'Meeting';
|
|
@@ -2745,8 +2785,11 @@ var confdMethods = (client , baseUrl ) => ({
|
|
|
2745
2785
|
}
|
|
2746
2786
|
},
|
|
2747
2787
|
|
|
2748
|
-
|
|
2749
|
-
client.
|
|
2788
|
+
getMyMeetings: () =>
|
|
2789
|
+
client.get(`${baseUrl}/users/me/meetings`).then(response => Meeting.parseMany(response.items)),
|
|
2790
|
+
|
|
2791
|
+
createMyMeeting: (name , persistent ) =>
|
|
2792
|
+
client.post(`${baseUrl}/users/me/meetings`, { name, persistent }).then(Meeting.parse),
|
|
2750
2793
|
|
|
2751
2794
|
deleteMyMeeting: (meetingUuid ) =>
|
|
2752
2795
|
client.delete(`${baseUrl}/users/me/meetings/${meetingUuid}`, null),
|
|
@@ -3576,7 +3619,7 @@ class Recording {
|
|
|
3576
3619
|
|
|
3577
3620
|
|
|
3578
3621
|
|
|
3579
|
-
static parseMany(recordings
|
|
3622
|
+
static parseMany(recordings = []) {
|
|
3580
3623
|
return recordings.map(item => Recording.parse(item));
|
|
3581
3624
|
}
|
|
3582
3625
|
|
|
@@ -3702,7 +3745,7 @@ class CallLog {
|
|
|
3702
3745
|
duration: (plain.duration || 0) * 1000, // duration is in seconds
|
|
3703
3746
|
start: moment(plain.start).toDate(),
|
|
3704
3747
|
end: plain.end ? moment(plain.end).toDate() : null,
|
|
3705
|
-
recordings: Recording.parseMany(plain.recordings),
|
|
3748
|
+
recordings: Recording.parseMany(plain.recordings || []),
|
|
3706
3749
|
});
|
|
3707
3750
|
}
|
|
3708
3751
|
|
|
@@ -6956,7 +6999,9 @@ class WebRTCClient extends Emitter {
|
|
|
6956
6999
|
const inviteOptions = {
|
|
6957
7000
|
requestDelegate: {
|
|
6958
7001
|
onAccept: (response ) => {
|
|
6959
|
-
session.sessionDescriptionHandler.peerConnection
|
|
7002
|
+
if (session.sessionDescriptionHandler.peerConnection) {
|
|
7003
|
+
session.sessionDescriptionHandler.peerConnection.sfu = conference;
|
|
7004
|
+
}
|
|
6960
7005
|
this._onAccepted(session, response.session, true);
|
|
6961
7006
|
},
|
|
6962
7007
|
onReject: (response ) => {
|
|
@@ -7292,7 +7337,7 @@ class WebRTCClient extends Emitter {
|
|
|
7292
7337
|
// We search for the last transceiver without `video-` in the mid (video- means remote transceiver)
|
|
7293
7338
|
const transceivers = pc.getTransceivers();
|
|
7294
7339
|
const transceiverIdx = lastIndexOf(transceivers, transceiver =>
|
|
7295
|
-
transceiver.sender.track === null && transceiver.mid.indexOf('video') === -1);
|
|
7340
|
+
transceiver.sender.track === null && transceiver.mid && transceiver.mid.indexOf('video') === -1);
|
|
7296
7341
|
|
|
7297
7342
|
videoSender = transceiverIdx !== -1 ? transceivers[transceiverIdx].sender : null;
|
|
7298
7343
|
} else {
|
|
@@ -7828,6 +7873,16 @@ class WebRTCClient extends Emitter {
|
|
|
7828
7873
|
return this.hasRemoteVideo(sessionId) ? this.getRemoteStream(sessionId) : null;
|
|
7829
7874
|
}
|
|
7830
7875
|
|
|
7876
|
+
// Useful in a react-native environment when remoteMediaStream is not updated
|
|
7877
|
+
getRemoteVideoStreamFromPc(sessionId ) {
|
|
7878
|
+
const pc = this.getPeerConnection(sessionId);
|
|
7879
|
+
if (!pc) {
|
|
7880
|
+
return null;
|
|
7881
|
+
}
|
|
7882
|
+
|
|
7883
|
+
return pc.getRemoteStreams().find(stream => !!stream.getVideoTracks().length);
|
|
7884
|
+
}
|
|
7885
|
+
|
|
7831
7886
|
hasVideo(sessionId ) {
|
|
7832
7887
|
return this.hasLocalVideo(sessionId) || this.hasRemoteVideo(sessionId);
|
|
7833
7888
|
}
|
|
@@ -8338,6 +8393,7 @@ class WebRTCClient extends Emitter {
|
|
|
8338
8393
|
session.sessionDescriptionHandler.remoteMediaStream.onaddtrack = onTrack;
|
|
8339
8394
|
|
|
8340
8395
|
pc.oniceconnectionstatechange = () => {
|
|
8396
|
+
logger$8.info('on ice connection state changed', { state: pc.iceConnectionState });
|
|
8341
8397
|
if (pc.iceConnectionState === 'disconnected') {
|
|
8342
8398
|
this.eventEmitter.emit(ON_DISCONNECTED$1);
|
|
8343
8399
|
}
|
|
@@ -8606,18 +8662,22 @@ class WebRTCClient extends Emitter {
|
|
|
8606
8662
|
});
|
|
8607
8663
|
|
|
8608
8664
|
networkStats.packetsLost = packetsLost;
|
|
8609
|
-
networkStats.
|
|
8665
|
+
networkStats.totalAudioBytesSent = audioBytesSent;
|
|
8666
|
+
networkStats.audioBytesSent = audioBytesSent - lastAudioSent;
|
|
8667
|
+
networkStats.totalAudioBytesReceived = audioBytesReceived - lastAudioReceived;
|
|
8610
8668
|
networkStats.audioBytesReceived = audioBytesReceived;
|
|
8611
|
-
networkStats.
|
|
8612
|
-
networkStats.
|
|
8669
|
+
networkStats.totalVideoBytesSent = videoBytesSent;
|
|
8670
|
+
networkStats.videoBytesSent = videoBytesSent - lastVideoSent;
|
|
8671
|
+
networkStats.totalVideoBytesReceived = videoBytesReceived;
|
|
8672
|
+
networkStats.videoBytesReceived = videoBytesReceived - lastVideoReceived;
|
|
8673
|
+
networkStats.totalTransportSent = transportSent - lastTransportSent;
|
|
8613
8674
|
networkStats.transportSent = transportSent;
|
|
8614
|
-
networkStats.
|
|
8615
|
-
|
|
8616
|
-
const bandwidth = (networkStats.audioBytesSent - lastAudioSent) + (networkStats.videoBytesSent - lastVideoSent)
|
|
8617
|
-
+ (networkStats.audioBytesReceived - lastAudioReceived) + (networkStats.videoBytesReceived - lastVideoReceived)
|
|
8618
|
-
+ (networkStats.transportReceived - lastTransportReceived) + (networkStats.transportSent - lastTransportSent);
|
|
8675
|
+
networkStats.totalTransportReceived = transportReceived;
|
|
8676
|
+
networkStats.transportReceived = transportReceived - lastTransportReceived;
|
|
8619
8677
|
|
|
8620
|
-
networkStats.bandwidth =
|
|
8678
|
+
networkStats.bandwidth = networkStats.audioBytesSent + networkStats.audioBytesReceived
|
|
8679
|
+
+ networkStats.videoBytesSent + networkStats.videoBytesReceived + networkStats.transportReceived
|
|
8680
|
+
+ networkStats.transportSent;
|
|
8621
8681
|
|
|
8622
8682
|
this.eventEmitter.emit(ON_NETWORK_STATS$1, session, networkStats, this.sessionNetworkStats[sessionId]);
|
|
8623
8683
|
this.sessionNetworkStats[sessionId].push(networkStats);
|
|
@@ -8999,7 +9059,10 @@ class WebRTCPhone extends Emitter {
|
|
|
8999
9059
|
|
|
9000
9060
|
onCancel(message);
|
|
9001
9061
|
const elsewhere = message.data.indexOf('cause=26') !== -1 && message.data.indexOf('completed elsewhere') !== -1;
|
|
9002
|
-
|
|
9062
|
+
const callSession = this._createCallSession(sipSession);
|
|
9063
|
+
delete this.callSessions[callSession.getId()];
|
|
9064
|
+
|
|
9065
|
+
this.eventEmitter.emit(ON_CALL_CANCELED, callSession, elsewhere);
|
|
9003
9066
|
};
|
|
9004
9067
|
} else if (sipSession instanceof Invitation) {
|
|
9005
9068
|
console.warn('sipSession._onCancel not found, please update the wazo SDK accordingly');
|
|
@@ -9028,9 +9091,11 @@ class WebRTCPhone extends Emitter {
|
|
|
9028
9091
|
case SessionState.Terminated: {
|
|
9029
9092
|
logger$7.info('WebRTC phone - call terminated', { sipId: sipSession.id });
|
|
9030
9093
|
|
|
9094
|
+
// Should be called before `_onCallTerminated` or the callCount will not decrement...
|
|
9095
|
+
const callSession = this._createCallSession(sipSession);
|
|
9031
9096
|
const wasCurrentSession = this._onCallTerminated(sipSession);
|
|
9032
9097
|
|
|
9033
|
-
return this.eventEmitter.emit(ON_CALL_ENDED,
|
|
9098
|
+
return this.eventEmitter.emit(ON_CALL_ENDED, callSession, wasCurrentSession);
|
|
9034
9099
|
}
|
|
9035
9100
|
}
|
|
9036
9101
|
});
|
|
@@ -9978,6 +10043,10 @@ class WebRTCPhone extends Emitter {
|
|
|
9978
10043
|
return callSession ? this.client.getRemoteVideoStream(callSession.sipCallId) : null;
|
|
9979
10044
|
}
|
|
9980
10045
|
|
|
10046
|
+
getRemoteVideoStreamFromPc(callSession ) {
|
|
10047
|
+
return callSession ? this.client.getRemoteVideoStreamFromPc(callSession.sipCallId) : null;
|
|
10048
|
+
}
|
|
10049
|
+
|
|
9981
10050
|
hasRemoteVideo(callSession ) {
|
|
9982
10051
|
return callSession ? this.client.hasRemoteVideo(callSession.sipCallId) : false;
|
|
9983
10052
|
}
|
|
@@ -10661,6 +10730,11 @@ class Phone extends Emitter {
|
|
|
10661
10730
|
return this.getRemoteVideoStream(callSession);
|
|
10662
10731
|
}
|
|
10663
10732
|
|
|
10733
|
+
// Useful in a react-native environment when remoteMediaStream is not updated
|
|
10734
|
+
getRemoteVideoStreamFromPc(callSession ) {
|
|
10735
|
+
return this.phone ? this.phone.getRemoteVideoStreamFromPc(callSession) : false;
|
|
10736
|
+
}
|
|
10737
|
+
|
|
10664
10738
|
hasVideo(callSession ) {
|
|
10665
10739
|
return this.phone ? this.phone.hasVideo(callSession) : false;
|
|
10666
10740
|
}
|
|
@@ -10820,6 +10894,7 @@ const AGENT_PAUSED = 'agent_paused';
|
|
|
10820
10894
|
const AGENT_UNPAUSED = 'agent_unpaused';
|
|
10821
10895
|
const CONFERENCE_ADHOC_PARTICIPANT_LEFT = 'conference_adhoc_participant_left';
|
|
10822
10896
|
const CONFERENCE_ADHOC_DELETED = 'conference_adhoc_deleted';
|
|
10897
|
+
const MEETING_USER_PROGRESS = 'meeting_user_progress';
|
|
10823
10898
|
|
|
10824
10899
|
const BLACKLIST_EVENTS = [
|
|
10825
10900
|
CHAT_MESSAGE_SENT,
|
|
@@ -11170,6 +11245,7 @@ WebSocketClient.eventLists = [
|
|
|
11170
11245
|
AGENT_UNPAUSED,
|
|
11171
11246
|
CONFERENCE_ADHOC_PARTICIPANT_LEFT,
|
|
11172
11247
|
CONFERENCE_ADHOC_DELETED,
|
|
11248
|
+
MEETING_USER_PROGRESS,
|
|
11173
11249
|
];
|
|
11174
11250
|
|
|
11175
11251
|
var WebSocketClient$1 = /*#__PURE__*/Object.freeze({
|
|
@@ -11240,6 +11316,7 @@ var WebSocketClient$1 = /*#__PURE__*/Object.freeze({
|
|
|
11240
11316
|
AGENT_UNPAUSED: AGENT_UNPAUSED,
|
|
11241
11317
|
CONFERENCE_ADHOC_PARTICIPANT_LEFT: CONFERENCE_ADHOC_PARTICIPANT_LEFT,
|
|
11242
11318
|
CONFERENCE_ADHOC_DELETED: CONFERENCE_ADHOC_DELETED,
|
|
11319
|
+
MEETING_USER_PROGRESS: MEETING_USER_PROGRESS,
|
|
11243
11320
|
HEARTBEAT_ENGINE_VERSION: HEARTBEAT_ENGINE_VERSION,
|
|
11244
11321
|
'default': WebSocketClient
|
|
11245
11322
|
});
|
|
@@ -11331,7 +11408,7 @@ var Websocket$1 = global.wazoWebsocketInstance;
|
|
|
11331
11408
|
|
|
11332
11409
|
const logger$3 = IssueReporter$1.loggerFor('sdk-sip-room');
|
|
11333
11410
|
|
|
11334
|
-
class SipRoom extends Room
|
|
11411
|
+
class SipRoom extends Room {
|
|
11335
11412
|
|
|
11336
11413
|
static async connect({ extension, constraints, audioOnly = false, extra, room } ) {
|
|
11337
11414
|
logger$3.info('connecting to sip room', { extension, audioOnly, room: !!room });
|
|
@@ -11666,7 +11743,7 @@ class NotificationOptions {
|
|
|
11666
11743
|
|
|
11667
11744
|
|
|
11668
11745
|
// Represents a conference room, like `9000`.
|
|
11669
|
-
class Room$
|
|
11746
|
+
class Room$1 {
|
|
11670
11747
|
|
|
11671
11748
|
|
|
11672
11749
|
|
|
@@ -11687,7 +11764,7 @@ class Room$2 {
|
|
|
11687
11764
|
}
|
|
11688
11765
|
|
|
11689
11766
|
connect(callSession ) {
|
|
11690
|
-
return new Room$
|
|
11767
|
+
return new Room$1({ ...this, connectedCallSession: callSession });
|
|
11691
11768
|
}
|
|
11692
11769
|
|
|
11693
11770
|
has(callSession ) {
|
|
@@ -11696,7 +11773,7 @@ class Room$2 {
|
|
|
11696
11773
|
|
|
11697
11774
|
addParticipant(uuid , extension , talking = null) {
|
|
11698
11775
|
if (!this.participants.some(participant => participant.uuid === uuid || participant.extension === extension)) {
|
|
11699
|
-
return new Room$
|
|
11776
|
+
return new Room$1({ ...this, participants: [...this.participants, { uuid, extension, talking }] });
|
|
11700
11777
|
}
|
|
11701
11778
|
|
|
11702
11779
|
return this;
|
|
@@ -11715,7 +11792,7 @@ class Room$2 {
|
|
|
11715
11792
|
updatedParticipants.push(participant);
|
|
11716
11793
|
}
|
|
11717
11794
|
|
|
11718
|
-
return new Room$
|
|
11795
|
+
return new Room$1({ ...this, participants: updatedParticipants });
|
|
11719
11796
|
}
|
|
11720
11797
|
|
|
11721
11798
|
updateParticipantByExtension(extension , participant , shouldAdd = false) {
|
|
@@ -11731,7 +11808,7 @@ class Room$2 {
|
|
|
11731
11808
|
updatedParticipants.push(participant);
|
|
11732
11809
|
}
|
|
11733
11810
|
|
|
11734
|
-
return new Room$
|
|
11811
|
+
return new Room$1({ ...this, participants: updatedParticipants });
|
|
11735
11812
|
}
|
|
11736
11813
|
|
|
11737
11814
|
hasCallWithId(id ) {
|
|
@@ -11739,18 +11816,18 @@ class Room$2 {
|
|
|
11739
11816
|
}
|
|
11740
11817
|
|
|
11741
11818
|
disconnect() {
|
|
11742
|
-
return new Room$
|
|
11819
|
+
return new Room$1({ ...this, connectedCallSession: null });
|
|
11743
11820
|
}
|
|
11744
11821
|
|
|
11745
11822
|
removeParticipantWithUUID(uuid ) {
|
|
11746
|
-
return new Room$
|
|
11823
|
+
return new Room$1({
|
|
11747
11824
|
...this,
|
|
11748
11825
|
participants: this.participants.filter(participant => participant.uuid !== uuid),
|
|
11749
11826
|
});
|
|
11750
11827
|
}
|
|
11751
11828
|
|
|
11752
11829
|
removeParticipantWithExtension(extension ) {
|
|
11753
|
-
return new Room$
|
|
11830
|
+
return new Room$1({
|
|
11754
11831
|
...this,
|
|
11755
11832
|
participants: this.participants.filter(participant => participant.extension !== extension),
|
|
11756
11833
|
});
|
|
@@ -11761,7 +11838,7 @@ class Room$2 {
|
|
|
11761
11838
|
}
|
|
11762
11839
|
|
|
11763
11840
|
static newFrom(room ) {
|
|
11764
|
-
return newFrom(room, Room$
|
|
11841
|
+
return newFrom(room, Room$1);
|
|
11765
11842
|
}
|
|
11766
11843
|
}
|
|
11767
11844
|
|
|
@@ -12432,7 +12509,7 @@ const Wazo = {
|
|
|
12432
12509
|
Auth: Auth$1,
|
|
12433
12510
|
Phone: Phone$1,
|
|
12434
12511
|
Websocket: Websocket$1,
|
|
12435
|
-
Room
|
|
12512
|
+
Room,
|
|
12436
12513
|
SipRoom,
|
|
12437
12514
|
RemoteParticipant,
|
|
12438
12515
|
LocalParticipant,
|
|
@@ -12465,7 +12542,7 @@ const Wazo = {
|
|
|
12465
12542
|
Session,
|
|
12466
12543
|
Voicemail,
|
|
12467
12544
|
Relocation,
|
|
12468
|
-
ConferenceRoom: Room$
|
|
12545
|
+
ConferenceRoom: Room$1,
|
|
12469
12546
|
CallSession,
|
|
12470
12547
|
IndirectTransfer,
|
|
12471
12548
|
SwitchboardCall,
|
|
@@ -13335,8 +13412,6 @@ class Room extends Emitter {
|
|
|
13335
13412
|
}
|
|
13336
13413
|
}
|
|
13337
13414
|
|
|
13338
|
-
var Room$1 = Room;
|
|
13339
|
-
|
|
13340
13415
|
//
|
|
13341
13416
|
|
|
13342
13417
|
const logger = IssueReporter$1.loggerFor('room');
|
|
@@ -13627,4 +13702,4 @@ class Participant extends Emitter {
|
|
|
13627
13702
|
}
|
|
13628
13703
|
}
|
|
13629
13704
|
|
|
13630
|
-
export
|
|
13705
|
+
export default Participant;
|