@wazo/sdk 0.44.0 → 0.44.2
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/index.js +31 -9
- package/dist/index.mjs +31 -10
- package/dist/types/api/auth.d.ts +1 -0
- package/dist/types/api/auth.d.ts.map +1 -1
- package/dist/types/domain/Call.d.ts +13 -2
- package/dist/types/domain/Call.d.ts.map +1 -1
- package/dist/types/domain/CallSession.d.ts +6 -4
- package/dist/types/domain/CallSession.d.ts.map +1 -1
- package/dist/types/domain/Phone/WebRTCPhone.d.ts.map +1 -1
- package/dist/types/domain/Session.d.ts +18 -14
- package/dist/types/domain/Session.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/wazo-sdk.js +186 -211
- package/package.json +2 -2
package/dist/wazo-sdk.js
CHANGED
|
@@ -377,47 +377,34 @@
|
|
|
377
377
|
})(void 0 !== __webpack_require__.g ? __webpack_require__.g : null);
|
|
378
378
|
var RTCPeerConnection1 = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
|
|
379
379
|
if ('undefined' == typeof MediaStreamTrack) MediaStreamTrack = {};
|
|
380
|
-
|
|
380
|
+
const systemNetworkType = ((navigator.connection || {}).type || 'unknown').toString().toLowerCase();
|
|
381
381
|
var getStatsResult = {
|
|
382
382
|
encryption: 'sha-256',
|
|
383
383
|
audio: {
|
|
384
384
|
send: {
|
|
385
385
|
tracks: [],
|
|
386
386
|
codecs: [],
|
|
387
|
-
|
|
388
|
-
streams: 0,
|
|
389
|
-
framerateMean: 0,
|
|
390
|
-
bitrateMean: 0
|
|
387
|
+
streams: 0
|
|
391
388
|
},
|
|
392
389
|
recv: {
|
|
393
390
|
tracks: [],
|
|
394
391
|
codecs: [],
|
|
395
|
-
|
|
396
|
-
streams: 0,
|
|
397
|
-
framerateMean: 0,
|
|
398
|
-
bitrateMean: 0
|
|
392
|
+
streams: 0
|
|
399
393
|
},
|
|
400
394
|
bytesSent: 0,
|
|
401
395
|
bytesReceived: 0,
|
|
402
|
-
latency: 0,
|
|
403
396
|
packetsLost: 0
|
|
404
397
|
},
|
|
405
398
|
video: {
|
|
406
399
|
send: {
|
|
407
400
|
tracks: [],
|
|
408
401
|
codecs: [],
|
|
409
|
-
|
|
410
|
-
streams: 0,
|
|
411
|
-
framerateMean: 0,
|
|
412
|
-
bitrateMean: 0
|
|
402
|
+
streams: 0
|
|
413
403
|
},
|
|
414
404
|
recv: {
|
|
415
405
|
tracks: [],
|
|
416
406
|
codecs: [],
|
|
417
|
-
|
|
418
|
-
streams: 0,
|
|
419
|
-
framerateMean: 0,
|
|
420
|
-
bitrateMean: 0
|
|
407
|
+
streams: 0
|
|
421
408
|
},
|
|
422
409
|
bytesSent: 0,
|
|
423
410
|
bytesReceived: 0,
|
|
@@ -462,6 +449,9 @@
|
|
|
462
449
|
}
|
|
463
450
|
},
|
|
464
451
|
internal: {
|
|
452
|
+
bandwidth: {
|
|
453
|
+
prevBytesReceived: 0
|
|
454
|
+
},
|
|
465
455
|
audio: {
|
|
466
456
|
send: {},
|
|
467
457
|
recv: {}
|
|
@@ -487,12 +477,15 @@
|
|
|
487
477
|
nomore = true;
|
|
488
478
|
}
|
|
489
479
|
};
|
|
490
|
-
|
|
480
|
+
const getStatsParser = {
|
|
491
481
|
checkIfOfferer: function(result) {
|
|
492
482
|
if ('googLibjingleSession' === result.type) getStatsResult.isOfferer = result.googInitiator;
|
|
493
483
|
}
|
|
494
484
|
};
|
|
495
|
-
|
|
485
|
+
const getCodecResult = (results, codecId)=>results.find((result)=>'codec' === result.type && result.id === codecId);
|
|
486
|
+
const getCodecName = (mimeType)=>mimeType && mimeType.split('/')[1];
|
|
487
|
+
const getRtpResult = (results, directionType, kind)=>results.find((r)=>r.type === directionType && r.kind === kind);
|
|
488
|
+
const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
|
|
496
489
|
var peer = this;
|
|
497
490
|
if (!(arguments[0] instanceof RTCPeerConnection1)) throw '1st argument is not instance of RTCPeerConnection.';
|
|
498
491
|
peer = arguments[0];
|
|
@@ -505,6 +498,7 @@
|
|
|
505
498
|
function getStatsLooper() {
|
|
506
499
|
getStatsWrapper(function(results) {
|
|
507
500
|
if (!results || !results.forEach) return;
|
|
501
|
+
getStatsResult.results = results;
|
|
508
502
|
results.forEach(function(result) {
|
|
509
503
|
Object.keys(getStatsParser).forEach(function(key) {
|
|
510
504
|
if ('function' == typeof getStatsParser[key]) try {
|
|
@@ -523,7 +517,6 @@
|
|
|
523
517
|
if (getStatsResult.datachannel) getStatsResult.datachannel.state = 'close';
|
|
524
518
|
getStatsResult.ended = true;
|
|
525
519
|
}
|
|
526
|
-
getStatsResult.results = results;
|
|
527
520
|
if (getStatsResult.audio && getStatsResult.video) {
|
|
528
521
|
getStatsResult.bandwidth.speed = getStatsResult.audio.bytesSent - getStatsResult.bandwidth.helper.audioBytesSent + (getStatsResult.video.bytesSent - getStatsResult.bandwidth.helper.videoBytesSent);
|
|
529
522
|
getStatsResult.bandwidth.helper.audioBytesSent = getStatsResult.audio.bytesSent;
|
|
@@ -549,208 +542,164 @@
|
|
|
549
542
|
};
|
|
550
543
|
};
|
|
551
544
|
getStatsParser.googCertificate = function(result) {
|
|
552
|
-
if ('
|
|
553
|
-
|
|
545
|
+
if ('certificate' == result.type) {
|
|
546
|
+
const transportResult = getStatsResult.results.find((r)=>'transport' === r.type);
|
|
547
|
+
if (transportResult.localCertificateId === result.id) {
|
|
548
|
+
getStatsResult.encryption = result.fingerprintAlgorithm;
|
|
549
|
+
getStatsResult.encryptionLocal = result.fingerprintAlgorithm;
|
|
550
|
+
}
|
|
551
|
+
if (transportResult.remoteCertificateId === result.id) getStatsResult.encryptionRemote = result.fingerprintAlgorithm;
|
|
552
|
+
}
|
|
554
553
|
};
|
|
555
554
|
getStatsParser.checkAudioTracks = function(result) {
|
|
556
|
-
if ('audio' !== result.
|
|
557
|
-
|
|
555
|
+
if ('audio' !== result.kind || !result.remoteId) return;
|
|
556
|
+
const sendrecvType = getStatsResult.internal.getSendrecvType(result);
|
|
558
557
|
if (!sendrecvType) return;
|
|
559
|
-
|
|
558
|
+
const rtpResult = getRtpResult(getStatsResult.results, result.type, 'audio');
|
|
559
|
+
if (!rtpResult) return;
|
|
560
|
+
const remoteRtpResult = getStatsResult.results.find((r)=>r.id === result.remoteId) || {};
|
|
561
|
+
const codecResult = getCodecResult(getStatsResult.results, rtpResult.codecId);
|
|
562
|
+
if (!codecResult) return;
|
|
563
|
+
const currentCodec = getCodecName(codecResult.mimeType) || 'opus';
|
|
564
|
+
if (-1 === getStatsResult.audio[sendrecvType].codecs.indexOf(currentCodec)) getStatsResult.audio[sendrecvType].codecs.push(currentCodec);
|
|
560
565
|
if (!!result.bytesSent) {
|
|
561
|
-
var kilobytes = 0;
|
|
562
566
|
if (!getStatsResult.internal.audio[sendrecvType].prevBytesSent) getStatsResult.internal.audio[sendrecvType].prevBytesSent = result.bytesSent;
|
|
563
567
|
var bytes = result.bytesSent - getStatsResult.internal.audio[sendrecvType].prevBytesSent;
|
|
564
568
|
getStatsResult.internal.audio[sendrecvType].prevBytesSent = result.bytesSent;
|
|
565
|
-
kilobytes = bytes / 1024;
|
|
566
|
-
getStatsResult.audio[sendrecvType].
|
|
567
|
-
getStatsResult.audio.bytesSent = kilobytes
|
|
569
|
+
var kilobytes = bytes / 1024;
|
|
570
|
+
getStatsResult.audio[sendrecvType].bytesSent = kilobytes;
|
|
571
|
+
getStatsResult.audio.bytesSent = kilobytes;
|
|
568
572
|
}
|
|
569
573
|
if (!!result.bytesReceived) {
|
|
570
|
-
var kilobytes = 0;
|
|
571
574
|
if (!getStatsResult.internal.audio[sendrecvType].prevBytesReceived) getStatsResult.internal.audio[sendrecvType].prevBytesReceived = result.bytesReceived;
|
|
572
575
|
var bytes = result.bytesReceived - getStatsResult.internal.audio[sendrecvType].prevBytesReceived;
|
|
573
576
|
getStatsResult.internal.audio[sendrecvType].prevBytesReceived = result.bytesReceived;
|
|
574
|
-
kilobytes = bytes / 1024;
|
|
575
|
-
getStatsResult.audio.bytesReceived =
|
|
576
|
-
}
|
|
577
|
-
if (result.
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
var bytes = result.packetsLost - getStatsResult.internal.audio.prevPacketsLost;
|
|
590
|
-
getStatsResult.internal.audio.prevPacketsLost = result.packetsLost;
|
|
591
|
-
getStatsResult.audio.packetsLost = bytes.toFixed(1);
|
|
577
|
+
var kilobytes = bytes / 1024;
|
|
578
|
+
getStatsResult.audio.bytesReceived = bytes / 1024;
|
|
579
|
+
}
|
|
580
|
+
if (result.trackIdentifier && -1 === getStatsResult.audio[sendrecvType].tracks.indexOf(result.trackIdentifier)) getStatsResult.audio[sendrecvType].tracks.push(result.trackIdentifier);
|
|
581
|
+
getStatsResult.audio[sendrecvType].totalRoundTripTime = remoteRtpResult.totalRoundTripTime || 0;
|
|
582
|
+
getStatsResult.audio[sendrecvType].jitter = remoteRtpResult.jitter || 0;
|
|
583
|
+
getStatsResult.audio[sendrecvType].jitterBufferDelay = remoteRtpResult.jitterBufferDelay || 0;
|
|
584
|
+
getStatsResult.audio[sendrecvType].packetsLost = 'inbound-rtp' === result.type ? rtpResult.packetsLost : remoteRtpResult.packetsLost;
|
|
585
|
+
getStatsResult.audio[sendrecvType].packetsReceived = 'inbound-rtp' === result.type ? rtpResult.packetsReceived : 0;
|
|
586
|
+
if (remoteRtpResult.totalRoundTripTime) getStatsResult.audio.latency = remoteRtpResult.totalRoundTripTime;
|
|
587
|
+
if (Number.isInteger(rtpResult.packetsLost)) {
|
|
588
|
+
if (!getStatsResult.internal.audio.prevPacketsLost) getStatsResult.internal.audio.prevPacketsLost = rtpResult.packetsLost;
|
|
589
|
+
var diff = rtpResult.packetsLost - getStatsResult.internal.audio.prevPacketsLost;
|
|
590
|
+
getStatsResult.internal.audio.prevPacketsLost = rtpResult.packetsLost;
|
|
591
|
+
getStatsResult.audio.packetsLost = diff;
|
|
592
592
|
if (getStatsResult.audio.packetsLost < 0) getStatsResult.audio.packetsLost = 0;
|
|
593
593
|
}
|
|
594
594
|
};
|
|
595
595
|
getStatsParser.checkVideoTracks = function(result) {
|
|
596
|
-
if ('video' !== result.
|
|
596
|
+
if ('video' !== result.kind) return;
|
|
597
597
|
var sendrecvType = getStatsResult.internal.getSendrecvType(result);
|
|
598
598
|
if (!sendrecvType) return;
|
|
599
|
-
|
|
599
|
+
const rtpResult = getRtpResult(getStatsResult.results, result.type, 'video');
|
|
600
|
+
if (!rtpResult) return;
|
|
601
|
+
const remoteRtpResult = getStatsResult.results.find((r)=>r.id === result.remoteId) || {};
|
|
602
|
+
const codecResult = getCodecResult(getStatsResult.results, rtpResult.codecId);
|
|
603
|
+
if (!codecResult) return;
|
|
604
|
+
const currentCodec = getCodecName(codecResult.mimeType) || 'VP8';
|
|
605
|
+
if (-1 === getStatsResult.video[sendrecvType].codecs.indexOf(currentCodec)) getStatsResult.video[sendrecvType].codecs.push(currentCodec);
|
|
600
606
|
if (!!result.bytesSent) {
|
|
601
|
-
var kilobytes = 0;
|
|
602
607
|
if (!getStatsResult.internal.video[sendrecvType].prevBytesSent) getStatsResult.internal.video[sendrecvType].prevBytesSent = result.bytesSent;
|
|
603
608
|
var bytes = result.bytesSent - getStatsResult.internal.video[sendrecvType].prevBytesSent;
|
|
604
609
|
getStatsResult.internal.video[sendrecvType].prevBytesSent = result.bytesSent;
|
|
605
|
-
kilobytes = bytes / 1024;
|
|
606
|
-
getStatsResult.video[sendrecvType].
|
|
607
|
-
getStatsResult.video.bytesSent = kilobytes
|
|
610
|
+
var kilobytes = bytes / 1024;
|
|
611
|
+
getStatsResult.video[sendrecvType].bytesSent = kilobytes;
|
|
612
|
+
getStatsResult.video.bytesSent = kilobytes;
|
|
608
613
|
}
|
|
609
614
|
if (!!result.bytesReceived) {
|
|
610
|
-
var kilobytes = 0;
|
|
611
615
|
if (!getStatsResult.internal.video[sendrecvType].prevBytesReceived) getStatsResult.internal.video[sendrecvType].prevBytesReceived = result.bytesReceived;
|
|
612
616
|
var bytes = result.bytesReceived - getStatsResult.internal.video[sendrecvType].prevBytesReceived;
|
|
613
617
|
getStatsResult.internal.video[sendrecvType].prevBytesReceived = result.bytesReceived;
|
|
614
|
-
kilobytes = bytes / 1024;
|
|
615
|
-
getStatsResult.video.bytesReceived = kilobytes
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
getStatsResult.resolutions[sendrecvType].
|
|
620
|
-
|
|
621
|
-
if (result.googFrameHeightSent && result.googFrameWidthSent) {
|
|
622
|
-
getStatsResult.resolutions[sendrecvType].width = result.googFrameWidthSent;
|
|
623
|
-
getStatsResult.resolutions[sendrecvType].height = result.googFrameHeightSent;
|
|
624
|
-
}
|
|
625
|
-
if (result.googTrackId && -1 === getStatsResult.video[sendrecvType].tracks.indexOf(result.googTrackId)) getStatsResult.video[sendrecvType].tracks.push(result.googTrackId);
|
|
626
|
-
if (result.framerateMean) {
|
|
627
|
-
getStatsResult.bandwidth.framerateMean = result.framerateMean;
|
|
628
|
-
var kilobytes = 0;
|
|
629
|
-
if (!getStatsResult.internal.video[sendrecvType].prevFramerateMean) getStatsResult.internal.video[sendrecvType].prevFramerateMean = result.bitrateMean;
|
|
630
|
-
var bytes = result.bytesSent - getStatsResult.internal.video[sendrecvType].prevFramerateMean;
|
|
631
|
-
getStatsResult.internal.video[sendrecvType].prevFramerateMean = result.framerateMean;
|
|
632
|
-
kilobytes = bytes / 1024;
|
|
633
|
-
getStatsResult.video[sendrecvType].framerateMean = bytes.toFixed(1);
|
|
634
|
-
}
|
|
635
|
-
if (result.bitrateMean) {
|
|
636
|
-
getStatsResult.bandwidth.bitrateMean = result.bitrateMean;
|
|
637
|
-
var kilobytes = 0;
|
|
638
|
-
if (!getStatsResult.internal.video[sendrecvType].prevBitrateMean) getStatsResult.internal.video[sendrecvType].prevBitrateMean = result.bitrateMean;
|
|
639
|
-
var bytes = result.bytesSent - getStatsResult.internal.video[sendrecvType].prevBitrateMean;
|
|
640
|
-
getStatsResult.internal.video[sendrecvType].prevBitrateMean = result.bitrateMean;
|
|
641
|
-
kilobytes = bytes / 1024;
|
|
642
|
-
getStatsResult.video[sendrecvType].bitrateMean = bytes.toFixed(1);
|
|
643
|
-
}
|
|
644
|
-
if (!!result.googCurrentDelayMs) {
|
|
645
|
-
var kilobytes = 0;
|
|
646
|
-
if (!getStatsResult.internal.video.prevGoogCurrentDelayMs) getStatsResult.internal.video.prevGoogCurrentDelayMs = result.googCurrentDelayMs;
|
|
647
|
-
var bytes = result.googCurrentDelayMs - getStatsResult.internal.video.prevGoogCurrentDelayMs;
|
|
648
|
-
getStatsResult.internal.video.prevGoogCurrentDelayMs = result.googCurrentDelayMs;
|
|
649
|
-
getStatsResult.video.latency = bytes.toFixed(1);
|
|
650
|
-
if (getStatsResult.video.latency < 0) getStatsResult.video.latency = 0;
|
|
651
|
-
}
|
|
652
|
-
if (!!result.packetsLost) {
|
|
653
|
-
var kilobytes = 0;
|
|
654
|
-
if (!getStatsResult.internal.video.prevPacketsLost) getStatsResult.internal.video.prevPacketsLost = result.packetsLost;
|
|
655
|
-
var bytes = result.packetsLost - getStatsResult.internal.video.prevPacketsLost;
|
|
656
|
-
getStatsResult.internal.video.prevPacketsLost = result.packetsLost;
|
|
657
|
-
getStatsResult.video.packetsLost = bytes.toFixed(1);
|
|
658
|
-
if (getStatsResult.video.packetsLost < 0) getStatsResult.video.packetsLost = 0;
|
|
618
|
+
var kilobytes = bytes / 1024;
|
|
619
|
+
getStatsResult.video[sendrecvType].bytesReceived = kilobytes;
|
|
620
|
+
getStatsResult.video.bytesReceived = kilobytes;
|
|
621
|
+
}
|
|
622
|
+
if (rtpResult.frameHeight && result.frameWidth) {
|
|
623
|
+
getStatsResult.resolutions[sendrecvType].width = result.frameHeight;
|
|
624
|
+
getStatsResult.resolutions[sendrecvType].height = result.frameHeight;
|
|
659
625
|
}
|
|
626
|
+
if (result.trackIdentifier && -1 === getStatsResult.video[sendrecvType].tracks.indexOf(result.trackIdentifier)) getStatsResult.video[sendrecvType].tracks.push(result.trackIdentifier);
|
|
627
|
+
if (result.framesPerSecond) getStatsResult.video[sendrecvType].framesPerSecond = result.framesPerSecond;
|
|
628
|
+
if (Number.isInteger(result.framesSent)) {
|
|
629
|
+
if (!getStatsResult.internal.video[sendrecvType].prevFramesSent) getStatsResult.internal.video[sendrecvType].prevFramesSent = result.framesSent;
|
|
630
|
+
var newFramesSent = result.framesSent - getStatsResult.internal.video[sendrecvType].prevFramesSent;
|
|
631
|
+
getStatsResult.internal.video[sendrecvType].prevFramesSent = result.framesSent;
|
|
632
|
+
getStatsResult.video[sendrecvType].framesSent = newFramesSent;
|
|
633
|
+
}
|
|
634
|
+
getStatsResult.video[sendrecvType].totalRoundTripTime = remoteRtpResult.totalRoundTripTime || 0;
|
|
635
|
+
getStatsResult.video[sendrecvType].jitter = remoteRtpResult.jitter || 0;
|
|
636
|
+
getStatsResult.video[sendrecvType].jitterBufferDelay = remoteRtpResult.jitterBufferDelay || 0;
|
|
637
|
+
getStatsResult.video[sendrecvType].packetsLost = 'inbound-rtp' === result.type ? rtpResult.packetsLost : remoteRtpResult.packetsLost;
|
|
638
|
+
getStatsResult.video[sendrecvType].packetsReceived = 'inbound-rtp' === result.type ? rtpResult.packetsReceived : 0;
|
|
639
|
+
if (remoteRtpResult.totalRoundTripTime) getStatsResult.video.latency = remoteRtpResult.totalRoundTripTime;
|
|
640
|
+
if (Number.isInteger(rtpResult.packetsLost)) getStatsResult.video.packetsLost = rtpResult.packetsLost;
|
|
660
641
|
};
|
|
661
642
|
getStatsParser.bweforvideo = function(result) {
|
|
662
|
-
if ('
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
getStatsResult.bandwidth.googTransmitBitrate = result.googTransmitBitrate;
|
|
643
|
+
if ('candidate-pair' === result.type) getStatsResult.bandwidth.availableSendBandwidth = result.availableOutgoingBitrate || 0;
|
|
644
|
+
if ('outbound-rtp' === result.type) {
|
|
645
|
+
getStatsResult.bandwidth.transmitBitrate = result.headerBytesSent + result.bytesSent || 0;
|
|
646
|
+
getStatsResult.bandwidth.bucketDelay = result.packetsSent > 0 ? result.totalPacketSendDelay / result.packetsSent : 0;
|
|
647
|
+
getStatsResult.bandwidth.targetEncBitrate = result.targetBitrate;
|
|
648
|
+
getStatsResult.bandwidth.actualEncBitrate = result.bytesSent - result.retransmittedBytesSent;
|
|
649
|
+
getStatsResult.bandwidth.retransmitBitrate = result.retransmittedBytesSent;
|
|
650
|
+
}
|
|
671
651
|
};
|
|
672
652
|
getStatsParser.candidatePair = function(result) {
|
|
653
|
+
if (isSafari) return;
|
|
673
654
|
if ('googCandidatePair' !== result.type && 'candidate-pair' !== result.type && 'local-candidate' !== result.type && 'remote-candidate' !== result.type) return;
|
|
674
|
-
|
|
655
|
+
const transportResult = getStatsResult.results.find((result)=>'transport' === result.type);
|
|
656
|
+
const localCandidateResult = getStatsResult.results.find((result)=>'local-candidate' === result.type);
|
|
657
|
+
const isStunTurnUsed = transportResult && transportResult.selectedCandidatePairId === result.id;
|
|
658
|
+
var localCandidate;
|
|
659
|
+
var remoteCandidate;
|
|
660
|
+
if (isStunTurnUsed) {
|
|
675
661
|
Object.keys(getStatsResult.internal.candidates).forEach(function(cid) {
|
|
676
|
-
|
|
677
|
-
if (
|
|
662
|
+
const candidate = getStatsResult.internal.candidates[cid];
|
|
663
|
+
if (candidate.id === result.localCandidateId) {
|
|
678
664
|
getStatsResult.connectionType.local.candidateType = candidate.candidateType;
|
|
679
665
|
getStatsResult.connectionType.local.ipAddress = candidate.ipAddress;
|
|
680
666
|
getStatsResult.connectionType.local.networkType = candidate.networkType;
|
|
681
667
|
getStatsResult.connectionType.local.transport = candidate.transport;
|
|
682
668
|
}
|
|
683
|
-
if (
|
|
669
|
+
if (candidate.id === result.remoteCandidateId) {
|
|
684
670
|
getStatsResult.connectionType.remote.candidateType = candidate.candidateType;
|
|
685
671
|
getStatsResult.connectionType.remote.ipAddress = candidate.ipAddress;
|
|
686
672
|
getStatsResult.connectionType.remote.networkType = candidate.networkType;
|
|
687
673
|
getStatsResult.connectionType.remote.transport = candidate.transport;
|
|
688
674
|
}
|
|
689
675
|
});
|
|
690
|
-
getStatsResult.connectionType.transport =
|
|
691
|
-
|
|
676
|
+
getStatsResult.connectionType.transport = localCandidateResult.protocol;
|
|
677
|
+
localCandidate = getStatsResult.internal.candidates[result.localCandidateId];
|
|
692
678
|
if (localCandidate) {
|
|
693
679
|
if (localCandidate.ipAddress) getStatsResult.connectionType.systemIpAddress = localCandidate.ipAddress;
|
|
694
680
|
}
|
|
695
|
-
|
|
681
|
+
remoteCandidate = getStatsResult.internal.candidates[result.remoteCandidateId];
|
|
696
682
|
if (remoteCandidate) {
|
|
697
683
|
if (remoteCandidate.ipAddress) getStatsResult.connectionType.systemIpAddress = remoteCandidate.ipAddress;
|
|
698
684
|
}
|
|
699
685
|
}
|
|
700
686
|
if ('candidate-pair' === result.type) {
|
|
701
687
|
if (true === result.selected && true === result.nominated && 'succeeded' === result.state) {
|
|
702
|
-
|
|
703
|
-
|
|
688
|
+
localCandidate = getStatsResult.internal.candidates[result.remoteCandidateId];
|
|
689
|
+
remoteCandidate = getStatsResult.internal.candidates[result.remoteCandidateId];
|
|
704
690
|
}
|
|
705
691
|
}
|
|
706
692
|
if ('local-candidate' === result.type) {
|
|
707
693
|
getStatsResult.connectionType.local.candidateType = result.candidateType;
|
|
708
|
-
getStatsResult.connectionType.local.ipAddress = result.
|
|
694
|
+
getStatsResult.connectionType.local.ipAddress = result.adress;
|
|
709
695
|
getStatsResult.connectionType.local.networkType = result.networkType;
|
|
710
|
-
getStatsResult.connectionType.local.transport = result.
|
|
696
|
+
getStatsResult.connectionType.local.transport = result.protocol;
|
|
711
697
|
}
|
|
712
698
|
if ('remote-candidate' === result.type) {
|
|
713
699
|
getStatsResult.connectionType.remote.candidateType = result.candidateType;
|
|
714
|
-
getStatsResult.connectionType.remote.ipAddress = result.
|
|
700
|
+
getStatsResult.connectionType.remote.ipAddress = result.adress;
|
|
715
701
|
getStatsResult.connectionType.remote.networkType = result.networkType;
|
|
716
|
-
getStatsResult.connectionType.remote.transport = result.
|
|
717
|
-
}
|
|
718
|
-
if (isSafari) {
|
|
719
|
-
var sendrecvType = result.localCandidateId ? 'send' : 'recv';
|
|
720
|
-
if (!sendrecvType) return;
|
|
721
|
-
if (!!result.bytesSent) {
|
|
722
|
-
var kilobytes = 0;
|
|
723
|
-
if (!getStatsResult.internal.video[sendrecvType].prevBytesSent) getStatsResult.internal.video[sendrecvType].prevBytesSent = result.bytesSent;
|
|
724
|
-
var bytes = result.bytesSent - getStatsResult.internal.video[sendrecvType].prevBytesSent;
|
|
725
|
-
getStatsResult.internal.video[sendrecvType].prevBytesSent = result.bytesSent;
|
|
726
|
-
kilobytes = bytes / 1024;
|
|
727
|
-
getStatsResult.video[sendrecvType].availableBandwidth = kilobytes.toFixed(1);
|
|
728
|
-
getStatsResult.video.bytesSent = kilobytes.toFixed(1);
|
|
729
|
-
}
|
|
730
|
-
if (!!result.bytesReceived) {
|
|
731
|
-
var kilobytes = 0;
|
|
732
|
-
if (!getStatsResult.internal.video[sendrecvType].prevBytesReceived) getStatsResult.internal.video[sendrecvType].prevBytesReceived = result.bytesReceived;
|
|
733
|
-
var bytes = result.bytesReceived - getStatsResult.internal.video[sendrecvType].prevBytesReceived;
|
|
734
|
-
getStatsResult.internal.video[sendrecvType].prevBytesReceived = result.bytesReceived;
|
|
735
|
-
kilobytes = bytes / 1024;
|
|
736
|
-
getStatsResult.video.bytesReceived = kilobytes.toFixed(1);
|
|
737
|
-
}
|
|
738
|
-
if (!!result.availableOutgoingBitrate) {
|
|
739
|
-
var kilobytes = 0;
|
|
740
|
-
if (!getStatsResult.internal.video[sendrecvType].prevAvailableOutgoingBitrate) getStatsResult.internal.video[sendrecvType].prevAvailableOutgoingBitrate = result.availableOutgoingBitrate;
|
|
741
|
-
var bytes = result.availableOutgoingBitrate - getStatsResult.internal.video[sendrecvType].prevAvailableOutgoingBitrate;
|
|
742
|
-
getStatsResult.internal.video[sendrecvType].prevAvailableOutgoingBitrate = result.availableOutgoingBitrate;
|
|
743
|
-
kilobytes = bytes / 1024;
|
|
744
|
-
getStatsResult.video.availableOutgoingBitrate = kilobytes.toFixed(1);
|
|
745
|
-
}
|
|
746
|
-
if (!!result.availableIncomingBitrate) {
|
|
747
|
-
var kilobytes = 0;
|
|
748
|
-
if (!getStatsResult.internal.video[sendrecvType].prevAvailableIncomingBitrate) getStatsResult.internal.video[sendrecvType].prevAvailableIncomingBitrate = result.availableIncomingBitrate;
|
|
749
|
-
var bytes = result.availableIncomingBitrate - getStatsResult.internal.video[sendrecvType].prevAvailableIncomingBitrate;
|
|
750
|
-
getStatsResult.internal.video[sendrecvType].prevAvailableIncomingBitrate = result.availableIncomingBitrate;
|
|
751
|
-
kilobytes = bytes / 1024;
|
|
752
|
-
getStatsResult.video.availableIncomingBitrate = kilobytes.toFixed(1);
|
|
753
|
-
}
|
|
702
|
+
getStatsResult.connectionType.remote.transport = result.protocol;
|
|
754
703
|
}
|
|
755
704
|
};
|
|
756
705
|
var LOCAL_candidateType = {};
|
|
@@ -765,13 +714,14 @@
|
|
|
765
714
|
if (!LOCAL_ipAddress[result.id]) LOCAL_ipAddress[result.id] = [];
|
|
766
715
|
if (!LOCAL_networkType[result.id]) LOCAL_networkType[result.id] = [];
|
|
767
716
|
if (result.candidateType && -1 === LOCAL_candidateType[result.id].indexOf(result.candidateType)) LOCAL_candidateType[result.id].push(result.candidateType);
|
|
768
|
-
if (result.
|
|
769
|
-
|
|
717
|
+
if (result.protocol && -1 === LOCAL_transport[result.id].indexOf(result.protocol)) LOCAL_transport[result.id].push(result.protocol);
|
|
718
|
+
const resultIpAddress = `${result.address}:${result.port}`;
|
|
719
|
+
if (result.address && -1 === LOCAL_ipAddress[result.id].indexOf(resultIpAddress)) LOCAL_ipAddress[result.id].push(resultIpAddress);
|
|
770
720
|
if (result.networkType && -1 === LOCAL_networkType[result.id].indexOf(result.networkType)) LOCAL_networkType[result.id].push(result.networkType);
|
|
771
721
|
getStatsResult.internal.candidates[result.id] = {
|
|
772
722
|
candidateType: LOCAL_candidateType[result.id],
|
|
773
723
|
ipAddress: LOCAL_ipAddress[result.id],
|
|
774
|
-
portNumber: result.
|
|
724
|
+
portNumber: result.port,
|
|
775
725
|
networkType: LOCAL_networkType[result.id],
|
|
776
726
|
priority: result.priority,
|
|
777
727
|
transport: LOCAL_transport[result.id],
|
|
@@ -796,13 +746,14 @@
|
|
|
796
746
|
if (!REMOTE_ipAddress[result.id]) REMOTE_ipAddress[result.id] = [];
|
|
797
747
|
if (!REMOTE_networkType[result.id]) REMOTE_networkType[result.id] = [];
|
|
798
748
|
if (result.candidateType && -1 === REMOTE_candidateType[result.id].indexOf(result.candidateType)) REMOTE_candidateType[result.id].push(result.candidateType);
|
|
799
|
-
if (result.
|
|
800
|
-
|
|
749
|
+
if (result.protocol && -1 === REMOTE_transport[result.id].indexOf(result.protocol)) REMOTE_transport[result.id].push(result.protocol);
|
|
750
|
+
const resultIpAddress = `${result.address}:${result.port}`;
|
|
751
|
+
if (result.address && -1 === REMOTE_ipAddress[result.id].indexOf(resultIpAddress)) REMOTE_ipAddress[result.id].push(resultIpAddress);
|
|
801
752
|
if (result.networkType && -1 === REMOTE_networkType[result.id].indexOf(result.networkType)) REMOTE_networkType[result.id].push(result.networkType);
|
|
802
753
|
getStatsResult.internal.candidates[result.id] = {
|
|
803
754
|
candidateType: REMOTE_candidateType[result.id],
|
|
804
755
|
ipAddress: REMOTE_ipAddress[result.id],
|
|
805
|
-
portNumber: result.
|
|
756
|
+
portNumber: result.port,
|
|
806
757
|
networkType: REMOTE_networkType[result.id],
|
|
807
758
|
priority: result.priority,
|
|
808
759
|
transport: REMOTE_transport[result.id],
|
|
@@ -816,56 +767,54 @@
|
|
|
816
767
|
getStatsResult.connectionType.remote.transport = REMOTE_transport[result.id];
|
|
817
768
|
};
|
|
818
769
|
getStatsParser.dataSentReceived = function(result) {
|
|
819
|
-
if (
|
|
820
|
-
if (!!result.bytesSent) getStatsResult[result.
|
|
821
|
-
if (!!result.bytesReceived) getStatsResult[result.
|
|
770
|
+
if ('remote-inbound-rtp' === result.type || 'video' !== result.kind && 'audio' !== result.kind) return;
|
|
771
|
+
if (!!result.bytesSent) getStatsResult[result.kind].bytesSent = parseInt(result.bytesSent);
|
|
772
|
+
if (!!result.bytesReceived) getStatsResult[result.kind].bytesReceived = parseInt(result.bytesReceived);
|
|
822
773
|
};
|
|
823
774
|
getStatsParser.inboundrtp = function(result) {
|
|
824
775
|
if (!isSafari) return;
|
|
825
776
|
if ('inbound-rtp' !== result.type) return;
|
|
826
|
-
var
|
|
777
|
+
var kind = result.kind || 'audio';
|
|
827
778
|
var sendrecvType = result.isRemote ? 'recv' : 'send';
|
|
828
779
|
if (!sendrecvType) return;
|
|
829
780
|
if (!!result.bytesSent) {
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
getStatsResult[
|
|
836
|
-
getStatsResult[mediaType].bytesSent = kilobytes.toFixed(1);
|
|
781
|
+
if (!getStatsResult.internal[kind][sendrecvType].prevBytesSent) getStatsResult.internal[kind][sendrecvType].prevBytesSent = result.bytesSent;
|
|
782
|
+
var bytes = result.bytesSent - getStatsResult.internal[kind][sendrecvType].prevBytesSent;
|
|
783
|
+
getStatsResult.internal[kind][sendrecvType].prevBytesSent = result.bytesSent;
|
|
784
|
+
var kilobytes = bytes / 1024;
|
|
785
|
+
getStatsResult[kind][sendrecvType].bytesSent = kilobytes;
|
|
786
|
+
getStatsResult[kind].bytesSent = kilobytes;
|
|
837
787
|
}
|
|
838
788
|
if (!!result.bytesReceived) {
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
getStatsResult[
|
|
789
|
+
if (!getStatsResult.internal[kind][sendrecvType].prevBytesReceived) getStatsResult.internal[kind][sendrecvType].prevBytesReceived = result.bytesReceived;
|
|
790
|
+
var bytes = result.bytesReceived - getStatsResult.internal[kind][sendrecvType].prevBytesReceived;
|
|
791
|
+
getStatsResult.internal[kind][sendrecvType].prevBytesReceived = result.bytesReceived;
|
|
792
|
+
var kilobytes = bytes / 1024;
|
|
793
|
+
getStatsResult[kind][sendrecvType].bytesSent = kilobytes;
|
|
794
|
+
getStatsResult[kind].bytesReceived = kilobytes;
|
|
845
795
|
}
|
|
846
796
|
};
|
|
847
797
|
getStatsParser.outboundrtp = function(result) {
|
|
848
798
|
if (!isSafari) return;
|
|
849
799
|
if ('outbound-rtp' !== result.type) return;
|
|
850
|
-
var
|
|
800
|
+
var kind = result.kind || 'audio';
|
|
851
801
|
var sendrecvType = result.isRemote ? 'recv' : 'send';
|
|
852
802
|
if (!sendrecvType) return;
|
|
853
803
|
if (!!result.bytesSent) {
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
getStatsResult[
|
|
860
|
-
getStatsResult[mediaType].bytesSent = kilobytes.toFixed(1);
|
|
804
|
+
if (!getStatsResult.internal[kind][sendrecvType].prevBytesSent) getStatsResult.internal[kind][sendrecvType].prevBytesSent = result.bytesSent;
|
|
805
|
+
var bytes = result.bytesSent - getStatsResult.internal[kind][sendrecvType].prevBytesSent;
|
|
806
|
+
getStatsResult.internal[kind][sendrecvType].prevBytesSent = result.bytesSent;
|
|
807
|
+
var kilobytes = bytes / 1024;
|
|
808
|
+
getStatsResult[kind][sendrecvType].bytesSent = kilobytes;
|
|
809
|
+
getStatsResult[kind].bytesSent = kilobytes;
|
|
861
810
|
}
|
|
862
811
|
if (!!result.bytesReceived) {
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
getStatsResult[
|
|
812
|
+
if (!getStatsResult.internal[kind][sendrecvType].prevBytesReceived) getStatsResult.internal[kind][sendrecvType].prevBytesReceived = result.bytesReceived;
|
|
813
|
+
var bytes = result.bytesReceived - getStatsResult.internal[kind][sendrecvType].prevBytesReceived;
|
|
814
|
+
getStatsResult.internal[kind][sendrecvType].prevBytesReceived = result.bytesReceived;
|
|
815
|
+
var kilobytes = bytes / 1024;
|
|
816
|
+
getStatsResult[kind][sendrecvType].bytesSent = kilobytes;
|
|
817
|
+
getStatsResult[kind].bytesReceived = kilobytes;
|
|
869
818
|
}
|
|
870
819
|
};
|
|
871
820
|
getStatsParser.track = function(result) {
|
|
@@ -888,11 +837,15 @@
|
|
|
888
837
|
}
|
|
889
838
|
};
|
|
890
839
|
getStatsParser.ssrc = function(result) {
|
|
891
|
-
if (
|
|
892
|
-
if ('
|
|
893
|
-
|
|
894
|
-
if (
|
|
895
|
-
|
|
840
|
+
if ('video' !== result.kind && 'audio' !== result.kind) return;
|
|
841
|
+
if ('inbound-rtp' !== result.type && 'outbound-rtp' !== result.type) return;
|
|
842
|
+
const rtpResult = getRtpResult(getStatsResult.results, result.type, result.kind);
|
|
843
|
+
if (!rtpResult) return;
|
|
844
|
+
const codecResult = getCodecResult(getStatsResult.results, rtpResult.codecId);
|
|
845
|
+
if (!codecResult) return;
|
|
846
|
+
const sendrecvType = 'outbound-rtp' === result.type ? 'send' : 'recv';
|
|
847
|
+
if (-1 === SSRC[result.kind][sendrecvType].indexOf(result.ssrc)) SSRC[result.kind][sendrecvType].push(result.ssrc);
|
|
848
|
+
getStatsResult[result.kind][sendrecvType].streams = SSRC[result.kind][sendrecvType].length;
|
|
896
849
|
};
|
|
897
850
|
getStatsLooper();
|
|
898
851
|
};
|
|
@@ -33210,6 +33163,7 @@
|
|
|
33210
33163
|
Emitter: ()=>Emitter,
|
|
33211
33164
|
Relocation: ()=>domain_Relocation,
|
|
33212
33165
|
ChatMessage: ()=>ChatMessage,
|
|
33166
|
+
RECORDING_STATE: ()=>RECORDING_STATE,
|
|
33213
33167
|
camelToUnderscore: ()=>camelToUnderscore,
|
|
33214
33168
|
WazoApiClient: ()=>ApiClient,
|
|
33215
33169
|
BadResponse: ()=>BadResponse,
|
|
@@ -34829,6 +34783,7 @@ BwIDAQAB
|
|
|
34829
34783
|
profile;
|
|
34830
34784
|
expiresAt;
|
|
34831
34785
|
authorizations;
|
|
34786
|
+
metadata;
|
|
34832
34787
|
static parse(plain) {
|
|
34833
34788
|
const token = plain.data.metadata ? plain.data.metadata.jwt : null;
|
|
34834
34789
|
let authorizations = [];
|
|
@@ -34854,13 +34809,14 @@ BwIDAQAB
|
|
|
34854
34809
|
tenantUuid: plain.data.metadata ? plain.data.metadata.tenant_uuid : void 0,
|
|
34855
34810
|
expiresAt: moment_default().utc(plain.data.utc_expires_at).toDate(),
|
|
34856
34811
|
stackUuid: plain.data.xivo_uuid,
|
|
34812
|
+
metadata: plain.data.metadata,
|
|
34857
34813
|
stackHostFromHeader: plain._headers?.get?.('wazo-stack-host')
|
|
34858
34814
|
});
|
|
34859
34815
|
}
|
|
34860
34816
|
static newFrom(profile) {
|
|
34861
34817
|
return new_from(profile, Session);
|
|
34862
34818
|
}
|
|
34863
|
-
constructor({ token, uuid, tenantUuid, profile, expiresAt, authorizations, acl, engineVersion, refreshToken, sessionUuid, stackUuid, stackHostFromHeader }){
|
|
34819
|
+
constructor({ token, uuid, tenantUuid, profile, expiresAt, authorizations, acl, engineVersion, refreshToken, sessionUuid, stackUuid, metadata, stackHostFromHeader }){
|
|
34864
34820
|
this.token = token;
|
|
34865
34821
|
this.uuid = uuid;
|
|
34866
34822
|
this.tenantUuid = tenantUuid || null;
|
|
@@ -34872,6 +34828,7 @@ BwIDAQAB
|
|
|
34872
34828
|
this.refreshToken = refreshToken;
|
|
34873
34829
|
this.sessionUuid = sessionUuid;
|
|
34874
34830
|
this.stackUuid = stackUuid;
|
|
34831
|
+
this.metadata = metadata;
|
|
34875
34832
|
this._stackHostFromHeader = stackHostFromHeader;
|
|
34876
34833
|
}
|
|
34877
34834
|
hasExpired(date = new Date()) {
|
|
@@ -34988,7 +34945,8 @@ BwIDAQAB
|
|
|
34988
34945
|
};
|
|
34989
34946
|
const headers = {
|
|
34990
34947
|
Authorization: `Basic ${ApiRequester.base64Encode(`${params.username}:${params.password}`)}`,
|
|
34991
|
-
'Content-Type': 'application/json'
|
|
34948
|
+
'Content-Type': 'application/json',
|
|
34949
|
+
...params.headers || {}
|
|
34992
34950
|
};
|
|
34993
34951
|
if (client.clientId) {
|
|
34994
34952
|
body.access_type = 'offline';
|
|
@@ -35653,7 +35611,11 @@ BwIDAQAB
|
|
|
35653
35611
|
return this.caller.name.toUpperCase().includes(query.toUpperCase()) || this.caller.number.includes(query);
|
|
35654
35612
|
}
|
|
35655
35613
|
}
|
|
35656
|
-
const
|
|
35614
|
+
const RECORDING_STATE = {
|
|
35615
|
+
ACTIVE: 'active',
|
|
35616
|
+
INACTIVE: 'inactive',
|
|
35617
|
+
PAUSED: 'paused'
|
|
35618
|
+
};
|
|
35657
35619
|
class Call {
|
|
35658
35620
|
type;
|
|
35659
35621
|
id;
|
|
@@ -35672,6 +35634,8 @@ BwIDAQAB
|
|
|
35672
35634
|
startingTime;
|
|
35673
35635
|
talkingToIds;
|
|
35674
35636
|
recording;
|
|
35637
|
+
recordingPaused;
|
|
35638
|
+
recordingState;
|
|
35675
35639
|
static parseMany(plain) {
|
|
35676
35640
|
if (!plain) return [];
|
|
35677
35641
|
return plain.map((plainCall)=>Call.parse(plainCall));
|
|
@@ -35693,13 +35657,15 @@ BwIDAQAB
|
|
|
35693
35657
|
lineId: plain.line_id,
|
|
35694
35658
|
startingTime: moment_default()(plain.creation_time).toDate(),
|
|
35695
35659
|
talkingToIds: Object.keys(plain.talking_to || {}),
|
|
35696
|
-
recording: plain.record_state ===
|
|
35660
|
+
recording: plain.record_state === RECORDING_STATE.ACTIVE,
|
|
35661
|
+
recordingPaused: plain.record_state === RECORDING_STATE.PAUSED,
|
|
35662
|
+
recordingState: plain.record_state
|
|
35697
35663
|
});
|
|
35698
35664
|
}
|
|
35699
35665
|
static newFrom(call) {
|
|
35700
35666
|
return new_from(call, Call);
|
|
35701
35667
|
}
|
|
35702
|
-
constructor({ id, sipCallId, callerName, callerNumber, calleeName, calleeNumber, dialedExtension, isCaller, isVideo, lineId, muted, onHold, status, startingTime, talkingToIds, recording }){
|
|
35668
|
+
constructor({ id, sipCallId, callerName, callerNumber, calleeName, calleeNumber, dialedExtension, isCaller, isVideo, lineId, muted, onHold, status, startingTime, talkingToIds, recording, recordingPaused, recordingState }){
|
|
35703
35669
|
this.id = id;
|
|
35704
35670
|
this.sipCallId = sipCallId;
|
|
35705
35671
|
this.callerName = callerName;
|
|
@@ -35715,6 +35681,8 @@ BwIDAQAB
|
|
|
35715
35681
|
this.startingTime = startingTime;
|
|
35716
35682
|
this.talkingToIds = talkingToIds || [];
|
|
35717
35683
|
this.recording = recording;
|
|
35684
|
+
this.recordingPaused = recordingPaused;
|
|
35685
|
+
this.recordingState = recordingState || RECORDING_STATE.INACTIVE;
|
|
35718
35686
|
this.isVideo = !!isVideo;
|
|
35719
35687
|
this.type = 'Call';
|
|
35720
35688
|
}
|
|
@@ -35770,6 +35738,9 @@ BwIDAQAB
|
|
|
35770
35738
|
isRecording() {
|
|
35771
35739
|
return this.recording;
|
|
35772
35740
|
}
|
|
35741
|
+
isRecordingPaused() {
|
|
35742
|
+
return !!this.recordingPaused;
|
|
35743
|
+
}
|
|
35773
35744
|
}
|
|
35774
35745
|
var session_state_SessionState;
|
|
35775
35746
|
(function(SessionState) {
|
|
@@ -35813,9 +35784,10 @@ BwIDAQAB
|
|
|
35813
35784
|
type;
|
|
35814
35785
|
recording;
|
|
35815
35786
|
recordingPaused;
|
|
35787
|
+
recordingState;
|
|
35816
35788
|
sipSession;
|
|
35817
35789
|
conference;
|
|
35818
|
-
constructor({ answered, answeredBySystem, isCaller, displayName, callId, muted, videoMuted, number, paused, ringing, startTime, creationTime, endTime, cameraEnabled, dialedExtension, sipCallId, sipStatus, callerNumber, call, autoAnswer, ignored, screensharing, recording, recordingPaused, videoRemotelyDowngraded, sipSession, answerTime, conference }){
|
|
35790
|
+
constructor({ answered, answeredBySystem, isCaller, displayName, callId, muted, videoMuted, number, paused, ringing, startTime, creationTime, endTime, cameraEnabled, dialedExtension, sipCallId, sipStatus, callerNumber, call, autoAnswer, ignored, screensharing, recording, recordingPaused, recordingState, videoRemotelyDowngraded, sipSession, answerTime, conference }){
|
|
35819
35791
|
this.callId = callId;
|
|
35820
35792
|
this.sipCallId = sipCallId;
|
|
35821
35793
|
this.displayName = displayName;
|
|
@@ -35840,6 +35812,7 @@ BwIDAQAB
|
|
|
35840
35812
|
this.screensharing = screensharing || false;
|
|
35841
35813
|
this.recording = recording || false;
|
|
35842
35814
|
this.recordingPaused = recordingPaused || false;
|
|
35815
|
+
this.recordingState = recordingState || RECORDING_STATE.INACTIVE;
|
|
35843
35816
|
this.videoRemotelyDowngraded = videoRemotelyDowngraded;
|
|
35844
35817
|
this.sipSession = sipSession;
|
|
35845
35818
|
this.answerTime = answerTime || this.answerTime;
|
|
@@ -35927,7 +35900,7 @@ BwIDAQAB
|
|
|
35927
35900
|
isRecording() {
|
|
35928
35901
|
return this.recording;
|
|
35929
35902
|
}
|
|
35930
|
-
|
|
35903
|
+
isRecordingPaused() {
|
|
35931
35904
|
return this.recordingPaused;
|
|
35932
35905
|
}
|
|
35933
35906
|
hasAnInitialInterceptionNumber() {
|
|
@@ -36013,7 +35986,8 @@ BwIDAQAB
|
|
|
36013
35986
|
videoMuted: false,
|
|
36014
35987
|
screensharing: false,
|
|
36015
35988
|
recording: call.isRecording(),
|
|
36016
|
-
recordingPaused:
|
|
35989
|
+
recordingPaused: call.isRecordingPaused(),
|
|
35990
|
+
recordingState: call.recordingState,
|
|
36017
35991
|
ringing: call.isRinging(),
|
|
36018
35992
|
answered: call.isUp(),
|
|
36019
35993
|
answeredBySystem: call.isUp() && 0 === call.talkingToIds.length,
|
|
@@ -42829,7 +42803,8 @@ BwIDAQAB
|
|
|
42829
42803
|
muted: fromSession ? fromSession.isMuted() : this.client.isAudioMuted(sipSession),
|
|
42830
42804
|
videoMuted: !!fromSession && fromSession.isVideoMuted(),
|
|
42831
42805
|
recording: !!fromSession && fromSession.isRecording(),
|
|
42832
|
-
recordingPaused:
|
|
42806
|
+
recordingPaused: !!fromSession && fromSession.isRecordingPaused(),
|
|
42807
|
+
recordingState: fromSession ? fromSession.recordingState : RECORDING_STATE.INACTIVE,
|
|
42833
42808
|
sipSession,
|
|
42834
42809
|
conference: !!fromSession && fromSession.isConference(),
|
|
42835
42810
|
...extra
|