@webex/calling 3.12.0-mobius-socket.2 → 3.12.0-mobius-socket.4
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/CallingClient/CallingClient.js +5 -2
- package/dist/CallingClient/CallingClient.js.map +1 -1
- package/dist/CallingClient/registration/register.js +360 -303
- package/dist/CallingClient/registration/register.js.map +1 -1
- package/dist/CallingClient/registration/register.test.js +2 -8
- package/dist/CallingClient/registration/register.test.js.map +1 -1
- package/dist/CallingClient/registration/webWorker.js +41 -106
- package/dist/CallingClient/registration/webWorker.js.map +1 -1
- package/dist/CallingClient/registration/webWorker.test.js +39 -153
- package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
- package/dist/CallingClient/registration/webWorkerStr.js +1 -1
- package/dist/CallingClient/registration/webWorkerStr.js.map +1 -1
- package/dist/CallingClient/utils/mobiusSocketMapper.js +4 -0
- package/dist/CallingClient/utils/mobiusSocketMapper.js.map +1 -1
- package/dist/CallingClient/utils/request.js +48 -24
- package/dist/CallingClient/utils/request.js.map +1 -1
- package/dist/common/Utils.js +0 -3
- package/dist/common/Utils.js.map +1 -1
- package/dist/common/types.js +2 -0
- package/dist/common/types.js.map +1 -1
- package/dist/module/CallingClient/CallingClient.js +2 -1
- package/dist/module/CallingClient/registration/register.js +43 -6
- package/dist/module/CallingClient/registration/webWorker.js +42 -61
- package/dist/module/CallingClient/registration/webWorkerStr.js +47 -82
- package/dist/module/CallingClient/utils/mobiusSocketMapper.js +5 -0
- package/dist/module/CallingClient/utils/request.js +7 -4
- package/dist/module/common/Utils.js +0 -1
- package/dist/module/common/types.js +2 -0
- package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/register.d.ts +1 -0
- package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/webWorker.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/webWorkerStr.d.ts +1 -1
- package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -1
- package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts +1 -0
- package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts.map +1 -1
- package/dist/types/CallingClient/utils/request.d.ts +1 -1
- package/dist/types/CallingClient/utils/request.d.ts.map +1 -1
- package/dist/types/common/Utils.d.ts.map +1 -1
- package/dist/types/common/types.d.ts +2 -0
- package/dist/types/common/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -696,25 +696,53 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
696
696
|
}
|
|
697
697
|
}
|
|
698
698
|
}, {
|
|
699
|
-
key: "
|
|
699
|
+
key: "postKeepAlive",
|
|
700
700
|
value: function () {
|
|
701
|
-
var
|
|
702
|
-
var
|
|
701
|
+
var _postKeepAlive = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12(deviceUrl, url) {
|
|
702
|
+
var _this$deviceInfo$devi;
|
|
703
703
|
return _regenerator.default.wrap(function (_context12) {
|
|
704
704
|
while (1) switch (_context12.prev = _context12.next) {
|
|
705
|
+
case 0:
|
|
706
|
+
return _context12.abrupt("return", this.apiRequest.makeRequest({
|
|
707
|
+
uri: "".concat(url, "/status"),
|
|
708
|
+
method: _types2.HTTP_METHODS.POST,
|
|
709
|
+
headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, deviceUrl), _constants2.SPARK_USER_AGENT, _constants2.CALLING_USER_AGENT),
|
|
710
|
+
body: {
|
|
711
|
+
deviceId: (_this$deviceInfo$devi = this.deviceInfo.device) === null || _this$deviceInfo$devi === void 0 ? void 0 : _this$deviceInfo$devi.deviceId
|
|
712
|
+
},
|
|
713
|
+
service: _types2.ALLOWED_SERVICES.MOBIUS
|
|
714
|
+
}));
|
|
715
|
+
case 1:
|
|
716
|
+
case "end":
|
|
717
|
+
return _context12.stop();
|
|
718
|
+
}
|
|
719
|
+
}, _callee12, this);
|
|
720
|
+
}));
|
|
721
|
+
function postKeepAlive(_x9, _x0) {
|
|
722
|
+
return _postKeepAlive.apply(this, arguments);
|
|
723
|
+
}
|
|
724
|
+
return postKeepAlive;
|
|
725
|
+
}()
|
|
726
|
+
}, {
|
|
727
|
+
key: "isPrimaryActive",
|
|
728
|
+
value: function () {
|
|
729
|
+
var _isPrimaryActive = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13() {
|
|
730
|
+
var status, _iterator, _step, mobiusUrl, baseUri, response, _ref7, statusCode, _t3, _t4;
|
|
731
|
+
return _regenerator.default.wrap(function (_context13) {
|
|
732
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
705
733
|
case 0:
|
|
706
734
|
_iterator = _createForOfIteratorHelper(this.primaryMobiusUris);
|
|
707
|
-
|
|
735
|
+
_context13.prev = 1;
|
|
708
736
|
_iterator.s();
|
|
709
737
|
case 2:
|
|
710
738
|
if ((_step = _iterator.n()).done) {
|
|
711
|
-
|
|
739
|
+
_context13.next = 8;
|
|
712
740
|
break;
|
|
713
741
|
}
|
|
714
742
|
mobiusUrl = _step.value;
|
|
715
|
-
|
|
743
|
+
_context13.prev = 3;
|
|
716
744
|
baseUri = mobiusUrl.replace(_constants2.URL_ENDPOINT, '/').replace('wss://', 'https://'); // eslint-disable-next-line no-await-in-loop
|
|
717
|
-
|
|
745
|
+
_context13.next = 4;
|
|
718
746
|
return this.webex.request({
|
|
719
747
|
uri: "".concat(baseUri, "ping"),
|
|
720
748
|
method: _types2.HTTP_METHODS.GET,
|
|
@@ -722,10 +750,10 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
722
750
|
service: _types2.ALLOWED_SERVICES.MOBIUS
|
|
723
751
|
});
|
|
724
752
|
case 4:
|
|
725
|
-
response =
|
|
753
|
+
response = _context13.sent;
|
|
726
754
|
_ref7 = response, statusCode = _ref7.statusCode;
|
|
727
755
|
if (!(statusCode === 200)) {
|
|
728
|
-
|
|
756
|
+
_context13.next = 5;
|
|
729
757
|
break;
|
|
730
758
|
}
|
|
731
759
|
_Logger.default.info("Ping successful for primary Mobius: ".concat(mobiusUrl), {
|
|
@@ -733,39 +761,39 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
733
761
|
method: _constants2.FAILBACK_UTIL
|
|
734
762
|
});
|
|
735
763
|
status = 'up';
|
|
736
|
-
return
|
|
764
|
+
return _context13.abrupt("continue", 8);
|
|
737
765
|
case 5:
|
|
738
|
-
|
|
766
|
+
_context13.next = 7;
|
|
739
767
|
break;
|
|
740
768
|
case 6:
|
|
741
|
-
|
|
742
|
-
_t3 =
|
|
769
|
+
_context13.prev = 6;
|
|
770
|
+
_t3 = _context13["catch"](3);
|
|
743
771
|
_Logger.default.warn("Ping failed for primary Mobius: ".concat(mobiusUrl, " with error: ").concat((0, _stringify.default)(_t3)), {
|
|
744
772
|
file: _constants2.REGISTRATION_FILE,
|
|
745
773
|
method: _constants2.FAILBACK_UTIL
|
|
746
774
|
});
|
|
747
775
|
status = 'down';
|
|
748
776
|
case 7:
|
|
749
|
-
|
|
777
|
+
_context13.next = 2;
|
|
750
778
|
break;
|
|
751
779
|
case 8:
|
|
752
|
-
|
|
780
|
+
_context13.next = 10;
|
|
753
781
|
break;
|
|
754
782
|
case 9:
|
|
755
|
-
|
|
756
|
-
_t4 =
|
|
783
|
+
_context13.prev = 9;
|
|
784
|
+
_t4 = _context13["catch"](1);
|
|
757
785
|
_iterator.e(_t4);
|
|
758
786
|
case 10:
|
|
759
|
-
|
|
787
|
+
_context13.prev = 10;
|
|
760
788
|
_iterator.f();
|
|
761
|
-
return
|
|
789
|
+
return _context13.finish(10);
|
|
762
790
|
case 11:
|
|
763
|
-
return
|
|
791
|
+
return _context13.abrupt("return", status === 'up');
|
|
764
792
|
case 12:
|
|
765
793
|
case "end":
|
|
766
|
-
return
|
|
794
|
+
return _context13.stop();
|
|
767
795
|
}
|
|
768
|
-
},
|
|
796
|
+
}, _callee13, this, [[1, 9, 10, 11], [3, 6]]);
|
|
769
797
|
}));
|
|
770
798
|
function isPrimaryActive() {
|
|
771
799
|
return _isPrimaryActive.apply(this, arguments);
|
|
@@ -818,16 +846,16 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
818
846
|
key: "startFailbackTimer",
|
|
819
847
|
value: function startFailbackTimer(intervalInSeconds) {
|
|
820
848
|
var _this4 = this;
|
|
821
|
-
this.failbackTimer = setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
822
|
-
return _regenerator.default.wrap(function (
|
|
823
|
-
while (1) switch (
|
|
849
|
+
this.failbackTimer = setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14() {
|
|
850
|
+
return _regenerator.default.wrap(function (_context14) {
|
|
851
|
+
while (1) switch (_context14.prev = _context14.next) {
|
|
824
852
|
case 0:
|
|
825
|
-
return
|
|
853
|
+
return _context14.abrupt("return", _this4.executeFailback());
|
|
826
854
|
case 1:
|
|
827
855
|
case "end":
|
|
828
|
-
return
|
|
856
|
+
return _context14.stop();
|
|
829
857
|
}
|
|
830
|
-
},
|
|
858
|
+
}, _callee14);
|
|
831
859
|
})), intervalInSeconds * _constants2.SEC_TO_MSEC_MFACTOR);
|
|
832
860
|
_Logger.default.log("Failback scheduled after ".concat(intervalInSeconds, " seconds."), {
|
|
833
861
|
file: _constants2.REGISTRATION_FILE,
|
|
@@ -842,81 +870,81 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
842
870
|
}, {
|
|
843
871
|
key: "executeFailback",
|
|
844
872
|
value: (function () {
|
|
845
|
-
var _executeFailback = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
873
|
+
var _executeFailback = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee16() {
|
|
846
874
|
var _this5 = this;
|
|
847
|
-
return _regenerator.default.wrap(function (
|
|
848
|
-
while (1) switch (
|
|
875
|
+
return _regenerator.default.wrap(function (_context16) {
|
|
876
|
+
while (1) switch (_context16.prev = _context16.next) {
|
|
849
877
|
case 0:
|
|
850
|
-
|
|
851
|
-
return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
878
|
+
_context16.next = 1;
|
|
879
|
+
return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15() {
|
|
852
880
|
var primaryServerStatus, abort, abortNew;
|
|
853
|
-
return _regenerator.default.wrap(function (
|
|
854
|
-
while (1) switch (
|
|
881
|
+
return _regenerator.default.wrap(function (_context15) {
|
|
882
|
+
while (1) switch (_context15.prev = _context15.next) {
|
|
855
883
|
case 0:
|
|
856
884
|
if (!_this5.isFailbackRequired()) {
|
|
857
|
-
|
|
885
|
+
_context15.next = 12;
|
|
858
886
|
break;
|
|
859
887
|
}
|
|
860
|
-
|
|
888
|
+
_context15.next = 1;
|
|
861
889
|
return _this5.isPrimaryActive();
|
|
862
890
|
case 1:
|
|
863
|
-
primaryServerStatus =
|
|
891
|
+
primaryServerStatus = _context15.sent;
|
|
864
892
|
if (!((0, _keys.default)(_this5.callManager.getActiveCalls()).length === 0 && primaryServerStatus)) {
|
|
865
|
-
|
|
893
|
+
_context15.next = 11;
|
|
866
894
|
break;
|
|
867
895
|
}
|
|
868
896
|
_Logger.default.info("Attempting failback to primary.", {
|
|
869
897
|
file: _constants2.REGISTRATION_FILE,
|
|
870
898
|
method: _this5.executeFailback.name
|
|
871
899
|
});
|
|
872
|
-
|
|
900
|
+
_context15.next = 2;
|
|
873
901
|
return _this5.deregister();
|
|
874
902
|
case 2:
|
|
875
903
|
if (!_this5.apiRequest.isSocketEnabled()) {
|
|
876
|
-
|
|
904
|
+
_context15.next = 3;
|
|
877
905
|
break;
|
|
878
906
|
}
|
|
879
|
-
|
|
907
|
+
_context15.next = 3;
|
|
880
908
|
return _this5.apiRequest.disconnectFromMobiusSocket({
|
|
881
909
|
code: 3050,
|
|
882
910
|
reason: 'done (permanent)'
|
|
883
911
|
});
|
|
884
912
|
case 3:
|
|
885
|
-
|
|
913
|
+
_context15.next = 4;
|
|
886
914
|
return _this5.attemptRegistrationWithServers(_constants2.FAILBACK_UTIL);
|
|
887
915
|
case 4:
|
|
888
|
-
abort =
|
|
916
|
+
abort = _context15.sent;
|
|
889
917
|
if (!(_this5.scheduled429Retry || abort || _this5.isDeviceRegistered())) {
|
|
890
|
-
|
|
918
|
+
_context15.next = 5;
|
|
891
919
|
break;
|
|
892
920
|
}
|
|
893
|
-
return
|
|
921
|
+
return _context15.abrupt("return");
|
|
894
922
|
case 5:
|
|
895
|
-
|
|
923
|
+
_context15.next = 6;
|
|
896
924
|
return _this5.restorePreviousRegistration(_constants2.FAILBACK_UTIL);
|
|
897
925
|
case 6:
|
|
898
|
-
abortNew =
|
|
926
|
+
abortNew = _context15.sent;
|
|
899
927
|
if (!abortNew) {
|
|
900
|
-
|
|
928
|
+
_context15.next = 7;
|
|
901
929
|
break;
|
|
902
930
|
}
|
|
903
931
|
_this5.clearFailbackTimer();
|
|
904
|
-
return
|
|
932
|
+
return _context15.abrupt("return");
|
|
905
933
|
case 7:
|
|
906
934
|
if (_this5.isDeviceRegistered()) {
|
|
907
|
-
|
|
935
|
+
_context15.next = 9;
|
|
908
936
|
break;
|
|
909
937
|
}
|
|
910
|
-
|
|
938
|
+
_context15.next = 8;
|
|
911
939
|
return _this5.restartRegistration(_this5.executeFailback.name);
|
|
912
940
|
case 8:
|
|
913
|
-
|
|
941
|
+
_context15.next = 10;
|
|
914
942
|
break;
|
|
915
943
|
case 9:
|
|
916
944
|
_this5.failbackTimer = undefined;
|
|
917
945
|
_this5.initiateFailback();
|
|
918
946
|
case 10:
|
|
919
|
-
|
|
947
|
+
_context15.next = 12;
|
|
920
948
|
break;
|
|
921
949
|
case 11:
|
|
922
950
|
_Logger.default.info('Active calls present or primary Mobius is down, deferring failback to next cycle.', {
|
|
@@ -927,15 +955,15 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
927
955
|
_this5.initiateFailback();
|
|
928
956
|
case 12:
|
|
929
957
|
case "end":
|
|
930
|
-
return
|
|
958
|
+
return _context15.stop();
|
|
931
959
|
}
|
|
932
|
-
},
|
|
960
|
+
}, _callee15);
|
|
933
961
|
})));
|
|
934
962
|
case 1:
|
|
935
963
|
case "end":
|
|
936
|
-
return
|
|
964
|
+
return _context16.stop();
|
|
937
965
|
}
|
|
938
|
-
},
|
|
966
|
+
}, _callee16, this);
|
|
939
967
|
}));
|
|
940
968
|
function executeFailback() {
|
|
941
969
|
return _executeFailback.apply(this, arguments);
|
|
@@ -998,10 +1026,10 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
998
1026
|
}, {
|
|
999
1027
|
key: "restartRegistration",
|
|
1000
1028
|
value: (function () {
|
|
1001
|
-
var _restartRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1029
|
+
var _restartRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee17(caller) {
|
|
1002
1030
|
var abort;
|
|
1003
|
-
return _regenerator.default.wrap(function (
|
|
1004
|
-
while (1) switch (
|
|
1031
|
+
return _regenerator.default.wrap(function (_context17) {
|
|
1032
|
+
while (1) switch (_context17.prev = _context17.next) {
|
|
1005
1033
|
case 0:
|
|
1006
1034
|
/*
|
|
1007
1035
|
* Cancel any failback timer running
|
|
@@ -1009,23 +1037,23 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1009
1037
|
*/
|
|
1010
1038
|
this.clearFailbackTimer();
|
|
1011
1039
|
this.failback429RetryAttempts = 0;
|
|
1012
|
-
|
|
1040
|
+
_context17.next = 1;
|
|
1013
1041
|
return this.attemptRegistrationWithServers(caller, this.primaryMobiusUris);
|
|
1014
1042
|
case 1:
|
|
1015
|
-
abort =
|
|
1043
|
+
abort = _context17.sent;
|
|
1016
1044
|
if (!(!abort && !this.isDeviceRegistered())) {
|
|
1017
|
-
|
|
1045
|
+
_context17.next = 2;
|
|
1018
1046
|
break;
|
|
1019
1047
|
}
|
|
1020
|
-
|
|
1048
|
+
_context17.next = 2;
|
|
1021
1049
|
return this.startFailoverTimer();
|
|
1022
1050
|
case 2:
|
|
1023
1051
|
case "end":
|
|
1024
|
-
return
|
|
1052
|
+
return _context17.stop();
|
|
1025
1053
|
}
|
|
1026
|
-
},
|
|
1054
|
+
}, _callee17, this);
|
|
1027
1055
|
}));
|
|
1028
|
-
function restartRegistration(
|
|
1056
|
+
function restartRegistration(_x1) {
|
|
1029
1057
|
return _restartRegistration.apply(this, arguments);
|
|
1030
1058
|
}
|
|
1031
1059
|
return restartRegistration;
|
|
@@ -1039,23 +1067,23 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1039
1067
|
}, {
|
|
1040
1068
|
key: "handleConnectionRestoration",
|
|
1041
1069
|
value: (function () {
|
|
1042
|
-
var _handleConnectionRestoration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1070
|
+
var _handleConnectionRestoration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee19(retry) {
|
|
1043
1071
|
var _this6 = this;
|
|
1044
|
-
return _regenerator.default.wrap(function (
|
|
1045
|
-
while (1) switch (
|
|
1072
|
+
return _regenerator.default.wrap(function (_context19) {
|
|
1073
|
+
while (1) switch (_context19.prev = _context19.next) {
|
|
1046
1074
|
case 0:
|
|
1047
1075
|
_Logger.default.info(_constants.METHOD_START_MESSAGE, {
|
|
1048
1076
|
method: _constants2.METHODS.HANDLE_CONNECTION_RESTORATION,
|
|
1049
1077
|
file: _constants2.REGISTRATION_FILE
|
|
1050
1078
|
});
|
|
1051
|
-
|
|
1052
|
-
return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1079
|
+
_context19.next = 1;
|
|
1080
|
+
return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee18() {
|
|
1053
1081
|
var abort;
|
|
1054
|
-
return _regenerator.default.wrap(function (
|
|
1055
|
-
while (1) switch (
|
|
1082
|
+
return _regenerator.default.wrap(function (_context18) {
|
|
1083
|
+
while (1) switch (_context18.prev = _context18.next) {
|
|
1056
1084
|
case 0:
|
|
1057
1085
|
if (!retry) {
|
|
1058
|
-
|
|
1086
|
+
_context18.next = 4;
|
|
1059
1087
|
break;
|
|
1060
1088
|
}
|
|
1061
1089
|
_Logger.default.log('Network is up again, re-registering with Webex Calling if needed', {
|
|
@@ -1064,43 +1092,43 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1064
1092
|
});
|
|
1065
1093
|
_this6.clearKeepaliveTimer();
|
|
1066
1094
|
if (!_this6.isDeviceRegistered()) {
|
|
1067
|
-
|
|
1095
|
+
_context18.next = 1;
|
|
1068
1096
|
break;
|
|
1069
1097
|
}
|
|
1070
|
-
|
|
1098
|
+
_context18.next = 1;
|
|
1071
1099
|
return _this6.deregister();
|
|
1072
1100
|
case 1:
|
|
1073
1101
|
if (!_this6.activeMobiusUrl) {
|
|
1074
|
-
|
|
1102
|
+
_context18.next = 3;
|
|
1075
1103
|
break;
|
|
1076
1104
|
}
|
|
1077
|
-
|
|
1105
|
+
_context18.next = 2;
|
|
1078
1106
|
return _this6.restorePreviousRegistration(_constants2.METHODS.HANDLE_CONNECTION_RESTORATION);
|
|
1079
1107
|
case 2:
|
|
1080
|
-
abort =
|
|
1108
|
+
abort = _context18.sent;
|
|
1081
1109
|
if (!(!abort && !_this6.isDeviceRegistered())) {
|
|
1082
|
-
|
|
1110
|
+
_context18.next = 3;
|
|
1083
1111
|
break;
|
|
1084
1112
|
}
|
|
1085
|
-
|
|
1113
|
+
_context18.next = 3;
|
|
1086
1114
|
return _this6.restartRegistration(_constants2.METHODS.HANDLE_CONNECTION_RESTORATION);
|
|
1087
1115
|
case 3:
|
|
1088
1116
|
retry = false;
|
|
1089
1117
|
case 4:
|
|
1090
1118
|
case "end":
|
|
1091
|
-
return
|
|
1119
|
+
return _context18.stop();
|
|
1092
1120
|
}
|
|
1093
|
-
},
|
|
1121
|
+
}, _callee18);
|
|
1094
1122
|
})));
|
|
1095
1123
|
case 1:
|
|
1096
|
-
return
|
|
1124
|
+
return _context19.abrupt("return", retry);
|
|
1097
1125
|
case 2:
|
|
1098
1126
|
case "end":
|
|
1099
|
-
return
|
|
1127
|
+
return _context19.stop();
|
|
1100
1128
|
}
|
|
1101
|
-
},
|
|
1129
|
+
}, _callee19, this);
|
|
1102
1130
|
}));
|
|
1103
|
-
function handleConnectionRestoration(
|
|
1131
|
+
function handleConnectionRestoration(_x10) {
|
|
1104
1132
|
return _handleConnectionRestoration.apply(this, arguments);
|
|
1105
1133
|
}
|
|
1106
1134
|
return handleConnectionRestoration;
|
|
@@ -1116,53 +1144,53 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1116
1144
|
value: function restoreRegistrationCallBack() {
|
|
1117
1145
|
var _this7 = this;
|
|
1118
1146
|
return /*#__PURE__*/function () {
|
|
1119
|
-
var _ref1 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1147
|
+
var _ref1 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee20(restoreData, caller) {
|
|
1120
1148
|
var logContext, restore, finalError;
|
|
1121
|
-
return _regenerator.default.wrap(function (
|
|
1122
|
-
while (1) switch (
|
|
1149
|
+
return _regenerator.default.wrap(function (_context20) {
|
|
1150
|
+
while (1) switch (_context20.prev = _context20.next) {
|
|
1123
1151
|
case 0:
|
|
1124
1152
|
logContext = {
|
|
1125
1153
|
file: _constants2.REGISTRATION_FILE,
|
|
1126
1154
|
method: caller
|
|
1127
1155
|
};
|
|
1128
1156
|
if (_this7.isRegRetry()) {
|
|
1129
|
-
|
|
1157
|
+
_context20.next = 4;
|
|
1130
1158
|
break;
|
|
1131
1159
|
}
|
|
1132
1160
|
_Logger.default.info('Registration restoration in progress.', logContext);
|
|
1133
1161
|
restore = _this7.getExistingDevice(restoreData);
|
|
1134
1162
|
if (!restore) {
|
|
1135
|
-
|
|
1163
|
+
_context20.next = 3;
|
|
1136
1164
|
break;
|
|
1137
1165
|
}
|
|
1138
1166
|
_this7.setRegRetry(true);
|
|
1139
|
-
|
|
1167
|
+
_context20.next = 1;
|
|
1140
1168
|
return _this7.deregister();
|
|
1141
1169
|
case 1:
|
|
1142
|
-
|
|
1170
|
+
_context20.next = 2;
|
|
1143
1171
|
return _this7.restorePreviousRegistration(caller);
|
|
1144
1172
|
case 2:
|
|
1145
|
-
finalError =
|
|
1173
|
+
finalError = _context20.sent;
|
|
1146
1174
|
_this7.setRegRetry(false);
|
|
1147
1175
|
if (_this7.isDeviceRegistered()) {
|
|
1148
1176
|
_Logger.default.info('Registration restored successfully.', logContext);
|
|
1149
1177
|
}
|
|
1150
|
-
return
|
|
1178
|
+
return _context20.abrupt("return", finalError);
|
|
1151
1179
|
case 3:
|
|
1152
1180
|
_this7.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
|
|
1153
|
-
|
|
1181
|
+
_context20.next = 5;
|
|
1154
1182
|
break;
|
|
1155
1183
|
case 4:
|
|
1156
1184
|
_this7.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
|
|
1157
1185
|
case 5:
|
|
1158
|
-
return
|
|
1186
|
+
return _context20.abrupt("return", false);
|
|
1159
1187
|
case 6:
|
|
1160
1188
|
case "end":
|
|
1161
|
-
return
|
|
1189
|
+
return _context20.stop();
|
|
1162
1190
|
}
|
|
1163
|
-
},
|
|
1191
|
+
}, _callee20);
|
|
1164
1192
|
}));
|
|
1165
|
-
return function (
|
|
1193
|
+
return function (_x11, _x12) {
|
|
1166
1194
|
return _ref1.apply(this, arguments);
|
|
1167
1195
|
};
|
|
1168
1196
|
}();
|
|
@@ -1175,39 +1203,39 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1175
1203
|
}, {
|
|
1176
1204
|
key: "triggerRegistration",
|
|
1177
1205
|
value: (function () {
|
|
1178
|
-
var _triggerRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1206
|
+
var _triggerRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee21() {
|
|
1179
1207
|
var abort;
|
|
1180
|
-
return _regenerator.default.wrap(function (
|
|
1181
|
-
while (1) switch (
|
|
1208
|
+
return _regenerator.default.wrap(function (_context21) {
|
|
1209
|
+
while (1) switch (_context21.prev = _context21.next) {
|
|
1182
1210
|
case 0:
|
|
1183
|
-
|
|
1211
|
+
_context21.next = 1;
|
|
1184
1212
|
return this.resumeFailover();
|
|
1185
1213
|
case 1:
|
|
1186
|
-
if (!
|
|
1187
|
-
|
|
1214
|
+
if (!_context21.sent) {
|
|
1215
|
+
_context21.next = 2;
|
|
1188
1216
|
break;
|
|
1189
1217
|
}
|
|
1190
|
-
return
|
|
1218
|
+
return _context21.abrupt("return");
|
|
1191
1219
|
case 2:
|
|
1192
1220
|
if (!(this.primaryMobiusUris.length > 0)) {
|
|
1193
|
-
|
|
1221
|
+
_context21.next = 4;
|
|
1194
1222
|
break;
|
|
1195
1223
|
}
|
|
1196
|
-
|
|
1224
|
+
_context21.next = 3;
|
|
1197
1225
|
return this.attemptRegistrationWithServers(_constants2.REGISTRATION_UTIL, this.primaryMobiusUris);
|
|
1198
1226
|
case 3:
|
|
1199
|
-
abort =
|
|
1227
|
+
abort = _context21.sent;
|
|
1200
1228
|
if (!(!this.isDeviceRegistered() && !abort)) {
|
|
1201
|
-
|
|
1229
|
+
_context21.next = 4;
|
|
1202
1230
|
break;
|
|
1203
1231
|
}
|
|
1204
|
-
|
|
1232
|
+
_context21.next = 4;
|
|
1205
1233
|
return this.startFailoverTimer();
|
|
1206
1234
|
case 4:
|
|
1207
1235
|
case "end":
|
|
1208
|
-
return
|
|
1236
|
+
return _context21.stop();
|
|
1209
1237
|
}
|
|
1210
|
-
},
|
|
1238
|
+
}, _callee21, this);
|
|
1211
1239
|
}));
|
|
1212
1240
|
function triggerRegistration() {
|
|
1213
1241
|
return _triggerRegistration.apply(this, arguments);
|
|
@@ -1226,49 +1254,50 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1226
1254
|
}, {
|
|
1227
1255
|
key: "attemptRegistrationWithServers",
|
|
1228
1256
|
value: (function () {
|
|
1229
|
-
var _attemptRegistrationWithServers = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1257
|
+
var _attemptRegistrationWithServers = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee22(caller) {
|
|
1230
1258
|
var _this8 = this;
|
|
1231
1259
|
var servers,
|
|
1232
1260
|
abort,
|
|
1261
|
+
connectedWebSocketUrl,
|
|
1233
1262
|
_iterator2,
|
|
1234
1263
|
_step2,
|
|
1235
1264
|
_loop,
|
|
1236
1265
|
_ret,
|
|
1237
|
-
|
|
1266
|
+
_args23 = arguments,
|
|
1238
1267
|
_t6;
|
|
1239
|
-
return _regenerator.default.wrap(function (
|
|
1240
|
-
while (1) switch (
|
|
1268
|
+
return _regenerator.default.wrap(function (_context23) {
|
|
1269
|
+
while (1) switch (_context23.prev = _context23.next) {
|
|
1241
1270
|
case 0:
|
|
1242
|
-
servers =
|
|
1271
|
+
servers = _args23.length > 1 && _args23[1] !== undefined ? _args23[1] : this.primaryMobiusUris;
|
|
1243
1272
|
abort = false;
|
|
1244
1273
|
this.retryAfter = undefined;
|
|
1245
1274
|
if (!this.failoverImmediately) {
|
|
1246
|
-
|
|
1275
|
+
_context23.next = 1;
|
|
1247
1276
|
break;
|
|
1248
1277
|
}
|
|
1249
|
-
return
|
|
1278
|
+
return _context23.abrupt("return", abort);
|
|
1250
1279
|
case 1:
|
|
1251
1280
|
if (!this.isDeviceRegistered()) {
|
|
1252
|
-
|
|
1281
|
+
_context23.next = 2;
|
|
1253
1282
|
break;
|
|
1254
1283
|
}
|
|
1255
1284
|
_Logger.default.info("[".concat(caller, "] : Device already registered with : ").concat(this.activeMobiusUrl), {
|
|
1256
1285
|
file: _constants2.REGISTRATION_FILE,
|
|
1257
1286
|
method: _constants2.REGISTER_UTIL
|
|
1258
1287
|
});
|
|
1259
|
-
return
|
|
1288
|
+
return _context23.abrupt("return", abort);
|
|
1260
1289
|
case 2:
|
|
1261
1290
|
_iterator2 = _createForOfIteratorHelper(servers);
|
|
1262
|
-
|
|
1291
|
+
_context23.prev = 3;
|
|
1263
1292
|
_loop = /*#__PURE__*/_regenerator.default.mark(function _loop() {
|
|
1264
1293
|
var _this8$backupMobiusUr;
|
|
1265
1294
|
var url, serverType, _this8$deviceInfo$dev, _resp$headers, _resp$headers$trackin, _resp$headers2, _this8$deviceInfo$dev2, wssNormalizedUrl, resp, body, _t5;
|
|
1266
|
-
return _regenerator.default.wrap(function (
|
|
1267
|
-
while (1) switch (
|
|
1295
|
+
return _regenerator.default.wrap(function (_context22) {
|
|
1296
|
+
while (1) switch (_context22.prev = _context22.next) {
|
|
1268
1297
|
case 0:
|
|
1269
1298
|
url = _step2.value;
|
|
1270
1299
|
serverType = _this8.primaryMobiusUris.includes(url) && 'PRIMARY' || ((_this8$backupMobiusUr = _this8.backupMobiusUris) === null || _this8$backupMobiusUr === void 0 ? void 0 : _this8$backupMobiusUr.includes(url)) && 'BACKUP' || 'UNKNOWN';
|
|
1271
|
-
|
|
1300
|
+
_context22.prev = 1;
|
|
1272
1301
|
abort = false;
|
|
1273
1302
|
_this8.registrationStatus = _types2.RegistrationStatus.INACTIVE;
|
|
1274
1303
|
_this8.lineEmitter(_types3.LINE_EVENTS.CONNECTING);
|
|
@@ -1277,21 +1306,24 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1277
1306
|
method: _constants2.REGISTER_UTIL
|
|
1278
1307
|
});
|
|
1279
1308
|
if (!_this8.apiRequest.isSocketEnabled()) {
|
|
1280
|
-
|
|
1309
|
+
_context22.next = 3;
|
|
1281
1310
|
break;
|
|
1282
1311
|
}
|
|
1283
1312
|
wssNormalizedUrl = url.endsWith('/') ? url.slice(0, -1) : url; // eslint-disable-next-line no-await-in-loop
|
|
1284
|
-
|
|
1313
|
+
_context22.next = 2;
|
|
1285
1314
|
return _this8.apiRequest.connectToMobiusSocket(wssNormalizedUrl);
|
|
1286
1315
|
case 2:
|
|
1287
|
-
|
|
1288
|
-
|
|
1316
|
+
connectedWebSocketUrl = _context22.sent;
|
|
1317
|
+
connectedWebSocketUrl = connectedWebSocketUrl ? "".concat(connectedWebSocketUrl, "/") : undefined;
|
|
1289
1318
|
case 3:
|
|
1290
|
-
|
|
1319
|
+
_context22.next = 4;
|
|
1320
|
+
return _this8.postRegistration(url);
|
|
1321
|
+
case 4:
|
|
1322
|
+
resp = _context22.sent;
|
|
1291
1323
|
_this8.clearFailoverState();
|
|
1292
1324
|
_this8.deviceInfo = resp.body;
|
|
1293
1325
|
_this8.registrationStatus = _types2.RegistrationStatus.ACTIVE;
|
|
1294
|
-
_this8.setActiveMobiusUrl(url);
|
|
1326
|
+
_this8.setActiveMobiusUrl(connectedWebSocketUrl || url);
|
|
1295
1327
|
_this8.lineEmitter(_types3.LINE_EVENTS.REGISTERED, resp.body);
|
|
1296
1328
|
_Logger.default.log("Registration successful for deviceId: ".concat((_this8$deviceInfo$dev = _this8.deviceInfo.device) === null || _this8$deviceInfo$dev === void 0 ? void 0 : _this8$deviceInfo$dev.deviceId, " userId: ").concat(_this8.userId, " responseTrackingId: ").concat((_resp$headers = resp.headers) === null || _resp$headers === void 0 ? void 0 : _resp$headers.trackingid), {
|
|
1297
1329
|
file: _constants2.REGISTRATION_FILE,
|
|
@@ -1302,18 +1334,20 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1302
1334
|
_this8.metricManager.submitRegistrationMetric(_types.METRIC_EVENT.REGISTRATION, _types.REG_ACTION.REGISTER, _types.METRIC_TYPE.BEHAVIORAL, caller, serverType, (_resp$headers$trackin = (_resp$headers2 = resp.headers) === null || _resp$headers2 === void 0 ? void 0 : _resp$headers2.trackingid) !== null && _resp$headers$trackin !== void 0 ? _resp$headers$trackin : '', undefined, undefined);
|
|
1303
1335
|
_this8.startKeepaliveTimer((_this8$deviceInfo$dev2 = _this8.deviceInfo.device) === null || _this8$deviceInfo$dev2 === void 0 ? void 0 : _this8$deviceInfo$dev2.uri, _this8.deviceInfo.keepaliveInterval, serverType);
|
|
1304
1336
|
_this8.initiateFailback();
|
|
1305
|
-
return
|
|
1306
|
-
case
|
|
1307
|
-
|
|
1308
|
-
_t5 =
|
|
1309
|
-
|
|
1337
|
+
return _context22.abrupt("return", 0);
|
|
1338
|
+
case 5:
|
|
1339
|
+
_context22.prev = 5;
|
|
1340
|
+
_t5 = _context22["catch"](1);
|
|
1341
|
+
connectedWebSocketUrl = undefined;
|
|
1342
|
+
// eslint-disable-next-line no-await-in-loop
|
|
1343
|
+
_context22.next = 6;
|
|
1310
1344
|
return _this8.apiRequest.disconnectFromMobiusSocket({
|
|
1311
1345
|
code: 3050,
|
|
1312
1346
|
reason: 'done (permanent)'
|
|
1313
1347
|
});
|
|
1314
|
-
case
|
|
1348
|
+
case 6:
|
|
1315
1349
|
body = _t5; // eslint-disable-next-line no-await-in-loop, @typescript-eslint/no-unused-vars
|
|
1316
|
-
|
|
1350
|
+
_context22.next = 7;
|
|
1317
1351
|
return (0, _common.handleRegistrationErrors)(body, function (clientError, finalError) {
|
|
1318
1352
|
var _body$headers$trackin, _body$headers;
|
|
1319
1353
|
if (finalError) {
|
|
@@ -1328,71 +1362,71 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1328
1362
|
}, function (retryAfter, retryCaller) {
|
|
1329
1363
|
return _this8.handle429Retry(retryAfter, retryCaller);
|
|
1330
1364
|
}, _this8.restoreRegistrationCallBack());
|
|
1331
|
-
case
|
|
1332
|
-
abort =
|
|
1365
|
+
case 7:
|
|
1366
|
+
abort = _context22.sent;
|
|
1333
1367
|
if (!(_this8.registrationStatus === _types2.RegistrationStatus.ACTIVE)) {
|
|
1334
|
-
|
|
1368
|
+
_context22.next = 8;
|
|
1335
1369
|
break;
|
|
1336
1370
|
}
|
|
1337
1371
|
_Logger.default.info("[".concat(caller, "] : Device is already restored, active mobius url: ").concat(_this8.activeMobiusUrl), {
|
|
1338
1372
|
file: _constants2.REGISTRATION_FILE,
|
|
1339
1373
|
method: _this8.attemptRegistrationWithServers.name
|
|
1340
1374
|
});
|
|
1341
|
-
return
|
|
1342
|
-
case
|
|
1375
|
+
return _context22.abrupt("return", 0);
|
|
1376
|
+
case 8:
|
|
1343
1377
|
if (!abort) {
|
|
1344
|
-
|
|
1378
|
+
_context22.next = 10;
|
|
1345
1379
|
break;
|
|
1346
1380
|
}
|
|
1347
1381
|
_this8.setStatus(_types2.RegistrationStatus.INACTIVE);
|
|
1348
1382
|
// eslint-disable-next-line no-await-in-loop
|
|
1349
|
-
|
|
1383
|
+
_context22.next = 9;
|
|
1350
1384
|
return (0, _common.uploadLogs)();
|
|
1351
|
-
case 8:
|
|
1352
|
-
return _context21.abrupt("return", 0);
|
|
1353
1385
|
case 9:
|
|
1386
|
+
return _context22.abrupt("return", 0);
|
|
1387
|
+
case 10:
|
|
1354
1388
|
case "end":
|
|
1355
|
-
return
|
|
1389
|
+
return _context22.stop();
|
|
1356
1390
|
}
|
|
1357
|
-
}, _loop, null, [[1,
|
|
1391
|
+
}, _loop, null, [[1, 5]]);
|
|
1358
1392
|
});
|
|
1359
1393
|
_iterator2.s();
|
|
1360
1394
|
case 4:
|
|
1361
1395
|
if ((_step2 = _iterator2.n()).done) {
|
|
1362
|
-
|
|
1396
|
+
_context23.next = 7;
|
|
1363
1397
|
break;
|
|
1364
1398
|
}
|
|
1365
|
-
return
|
|
1399
|
+
return _context23.delegateYield(_loop(), "t0", 5);
|
|
1366
1400
|
case 5:
|
|
1367
|
-
_ret =
|
|
1401
|
+
_ret = _context23.t0;
|
|
1368
1402
|
if (!(_ret === 0)) {
|
|
1369
|
-
|
|
1403
|
+
_context23.next = 6;
|
|
1370
1404
|
break;
|
|
1371
1405
|
}
|
|
1372
|
-
return
|
|
1406
|
+
return _context23.abrupt("continue", 7);
|
|
1373
1407
|
case 6:
|
|
1374
|
-
|
|
1408
|
+
_context23.next = 4;
|
|
1375
1409
|
break;
|
|
1376
1410
|
case 7:
|
|
1377
|
-
|
|
1411
|
+
_context23.next = 9;
|
|
1378
1412
|
break;
|
|
1379
1413
|
case 8:
|
|
1380
|
-
|
|
1381
|
-
_t6 =
|
|
1414
|
+
_context23.prev = 8;
|
|
1415
|
+
_t6 = _context23["catch"](3);
|
|
1382
1416
|
_iterator2.e(_t6);
|
|
1383
1417
|
case 9:
|
|
1384
|
-
|
|
1418
|
+
_context23.prev = 9;
|
|
1385
1419
|
_iterator2.f();
|
|
1386
|
-
return
|
|
1420
|
+
return _context23.finish(9);
|
|
1387
1421
|
case 10:
|
|
1388
|
-
return
|
|
1422
|
+
return _context23.abrupt("return", abort);
|
|
1389
1423
|
case 11:
|
|
1390
1424
|
case "end":
|
|
1391
|
-
return
|
|
1425
|
+
return _context23.stop();
|
|
1392
1426
|
}
|
|
1393
|
-
},
|
|
1427
|
+
}, _callee22, this, [[3, 8, 9, 10]]);
|
|
1394
1428
|
}));
|
|
1395
|
-
function attemptRegistrationWithServers(
|
|
1429
|
+
function attemptRegistrationWithServers(_x13) {
|
|
1396
1430
|
return _attemptRegistrationWithServers.apply(this, arguments);
|
|
1397
1431
|
}
|
|
1398
1432
|
return attemptRegistrationWithServers;
|
|
@@ -1405,132 +1439,155 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1405
1439
|
}, {
|
|
1406
1440
|
key: "startKeepaliveTimer",
|
|
1407
1441
|
value: (function () {
|
|
1408
|
-
var _startKeepaliveTimer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1442
|
+
var _startKeepaliveTimer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee25(url, interval, serverType) {
|
|
1409
1443
|
var _this9 = this;
|
|
1410
1444
|
var RETRY_COUNT_THRESHOLD;
|
|
1411
|
-
return _regenerator.default.wrap(function (
|
|
1412
|
-
while (1) switch (
|
|
1445
|
+
return _regenerator.default.wrap(function (_context26) {
|
|
1446
|
+
while (1) switch (_context26.prev = _context26.next) {
|
|
1413
1447
|
case 0:
|
|
1414
1448
|
this.clearKeepaliveTimer();
|
|
1415
1449
|
RETRY_COUNT_THRESHOLD = this.isCCFlow ? 4 : 5;
|
|
1416
|
-
|
|
1417
|
-
return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1418
|
-
var
|
|
1419
|
-
return _regenerator.default.wrap(function (
|
|
1420
|
-
while (1) switch (
|
|
1450
|
+
_context26.next = 1;
|
|
1451
|
+
return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee24() {
|
|
1452
|
+
var blob, blobUrl;
|
|
1453
|
+
return _regenerator.default.wrap(function (_context25) {
|
|
1454
|
+
while (1) switch (_context25.prev = _context25.next) {
|
|
1421
1455
|
case 0:
|
|
1422
|
-
if (
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
if (!(event.data.type === _types2.WorkerMessageType.KEEPALIVE_FAILURE)) {
|
|
1460
|
-
_context23.next = 7;
|
|
1456
|
+
if (_this9.isDeviceRegistered()) {
|
|
1457
|
+
if (!_this9.webWorker) {
|
|
1458
|
+
blob = new Blob([_webWorkerStr.default], {
|
|
1459
|
+
type: 'application/javascript'
|
|
1460
|
+
});
|
|
1461
|
+
blobUrl = URL.createObjectURL(blob);
|
|
1462
|
+
_this9.webWorker = new Worker(blobUrl);
|
|
1463
|
+
URL.revokeObjectURL(blobUrl);
|
|
1464
|
+
_this9.webWorker.postMessage({
|
|
1465
|
+
type: _types2.WorkerMessageType.START_KEEPALIVE,
|
|
1466
|
+
interval: interval,
|
|
1467
|
+
retryCountThreshold: RETRY_COUNT_THRESHOLD
|
|
1468
|
+
});
|
|
1469
|
+
_this9.webWorker.onmessage = /*#__PURE__*/function () {
|
|
1470
|
+
var _ref11 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee23(event) {
|
|
1471
|
+
var logContext, _this9$webWorker, res, _err$headers, _this9$webWorker2, error, _error, abort, _t7;
|
|
1472
|
+
return _regenerator.default.wrap(function (_context24) {
|
|
1473
|
+
while (1) switch (_context24.prev = _context24.next) {
|
|
1474
|
+
case 0:
|
|
1475
|
+
logContext = {
|
|
1476
|
+
file: _constants2.REGISTRATION_FILE,
|
|
1477
|
+
method: _constants2.KEEPALIVE_UTIL
|
|
1478
|
+
};
|
|
1479
|
+
if (!(event.data.type === _types2.WorkerMessageType.SEND_KEEPALIVE)) {
|
|
1480
|
+
_context24.next = 4;
|
|
1481
|
+
break;
|
|
1482
|
+
}
|
|
1483
|
+
_context24.prev = 1;
|
|
1484
|
+
_context24.next = 2;
|
|
1485
|
+
return _this9.postKeepAlive(String(_this9.webex.internal.device.url), url);
|
|
1486
|
+
case 2:
|
|
1487
|
+
res = _context24.sent;
|
|
1488
|
+
(_this9$webWorker = _this9.webWorker) === null || _this9$webWorker === void 0 ? void 0 : _this9$webWorker.postMessage({
|
|
1489
|
+
type: _types2.WorkerMessageType.KEEPALIVE_RESULT,
|
|
1490
|
+
statusCode: res.statusCode
|
|
1491
|
+
});
|
|
1492
|
+
_context24.next = 4;
|
|
1461
1493
|
break;
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1494
|
+
case 3:
|
|
1495
|
+
_context24.prev = 3;
|
|
1496
|
+
_t7 = _context24["catch"](1);
|
|
1497
|
+
error = {
|
|
1498
|
+
headers: {
|
|
1499
|
+
trackingid: (_err$headers = _t7.headers) === null || _err$headers === void 0 ? void 0 : _err$headers.trackingid,
|
|
1500
|
+
'retry-after': _t7.headers['retry-after']
|
|
1501
|
+
},
|
|
1502
|
+
statusCode: _t7.statusCode,
|
|
1503
|
+
statusText: _t7.statusText,
|
|
1504
|
+
type: _t7.type
|
|
1505
|
+
};
|
|
1506
|
+
(_this9$webWorker2 = _this9.webWorker) === null || _this9$webWorker2 === void 0 ? void 0 : _this9$webWorker2.postMessage({
|
|
1507
|
+
type: _types2.WorkerMessageType.KEEPALIVE_RESULT,
|
|
1508
|
+
err: error
|
|
1509
|
+
});
|
|
1510
|
+
case 4:
|
|
1511
|
+
if (event.data.type === _types2.WorkerMessageType.KEEPALIVE_SUCCESS) {
|
|
1512
|
+
_Logger.default.info("Sent Keepalive, status: ".concat(event.data.statusCode), logContext);
|
|
1513
|
+
_this9.lineEmitter(_types3.LINE_EVENTS.RECONNECTED);
|
|
1514
|
+
}
|
|
1515
|
+
if (!(event.data.type === _types2.WorkerMessageType.KEEPALIVE_FAILURE)) {
|
|
1516
|
+
_context24.next = 11;
|
|
1517
|
+
break;
|
|
1518
|
+
}
|
|
1519
|
+
_error = event.data.err;
|
|
1520
|
+
_Logger.default.warn("Keep-alive missed ".concat(event.data.keepAliveRetryCount, " times. Status -> ").concat(_error.statusCode, " "), logContext);
|
|
1521
|
+
_context24.next = 5;
|
|
1522
|
+
return (0, _common.handleRegistrationErrors)(_error, function (clientError, finalError) {
|
|
1523
|
+
var _error$headers$tracki, _error$headers;
|
|
1524
|
+
if (finalError) {
|
|
1525
|
+
_this9.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
|
|
1526
|
+
}
|
|
1527
|
+
_this9.metricManager.submitRegistrationMetric(_types.METRIC_EVENT.KEEPALIVE_ERROR, _types.REG_ACTION.KEEPALIVE_FAILURE, _types.METRIC_TYPE.BEHAVIORAL, _constants2.KEEPALIVE_UTIL, serverType, (_error$headers$tracki = (_error$headers = _error.headers) === null || _error$headers === void 0 ? void 0 : _error$headers.trackingid) !== null && _error$headers$tracki !== void 0 ? _error$headers$tracki : '', event.data.keepAliveRetryCount, clientError);
|
|
1528
|
+
}, {
|
|
1529
|
+
method: _constants2.KEEPALIVE_UTIL,
|
|
1530
|
+
file: _constants2.REGISTRATION_FILE
|
|
1531
|
+
}, function (retryAfter, retryCaller) {
|
|
1532
|
+
return _this9.handle429Retry(retryAfter, retryCaller);
|
|
1533
|
+
});
|
|
1534
|
+
case 5:
|
|
1535
|
+
abort = _context24.sent;
|
|
1536
|
+
if (!(abort || event.data.keepAliveRetryCount >= RETRY_COUNT_THRESHOLD)) {
|
|
1537
|
+
_context24.next = 10;
|
|
1538
|
+
break;
|
|
1539
|
+
}
|
|
1540
|
+
_this9.failoverImmediately = _this9.isCCFlow;
|
|
1541
|
+
_this9.setStatus(_types2.RegistrationStatus.INACTIVE);
|
|
1542
|
+
_this9.clearKeepaliveTimer();
|
|
1543
|
+
_this9.clearFailbackTimer();
|
|
1544
|
+
_this9.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
|
|
1545
|
+
_context24.next = 6;
|
|
1546
|
+
return (0, _common.uploadLogs)();
|
|
1547
|
+
case 6:
|
|
1548
|
+
if (abort) {
|
|
1549
|
+
_context24.next = 8;
|
|
1550
|
+
break;
|
|
1470
1551
|
}
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
}, function (retryAfter, retryCaller) {
|
|
1476
|
-
return _this9.handle429Retry(retryAfter, retryCaller);
|
|
1477
|
-
});
|
|
1478
|
-
case 1:
|
|
1479
|
-
abort = _context23.sent;
|
|
1480
|
-
if (!(abort || event.data.keepAliveRetryCount >= RETRY_COUNT_THRESHOLD)) {
|
|
1481
|
-
_context23.next = 6;
|
|
1552
|
+
_context24.next = 7;
|
|
1553
|
+
return _this9.reconnectOnFailure(_constants2.RECONNECT_ON_FAILURE_UTIL);
|
|
1554
|
+
case 7:
|
|
1555
|
+
_context24.next = 9;
|
|
1482
1556
|
break;
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
_context23.next = 2;
|
|
1490
|
-
return (0, _common.uploadLogs)();
|
|
1491
|
-
case 2:
|
|
1492
|
-
if (abort) {
|
|
1493
|
-
_context23.next = 4;
|
|
1557
|
+
case 8:
|
|
1558
|
+
if (_error.statusCode === 404) {
|
|
1559
|
+
_this9.handle404KeepaliveFailure(_constants2.KEEPALIVE_UTIL);
|
|
1560
|
+
}
|
|
1561
|
+
case 9:
|
|
1562
|
+
_context24.next = 11;
|
|
1494
1563
|
break;
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
case 6:
|
|
1509
|
-
_this9.lineEmitter(_types3.LINE_EVENTS.RECONNECTING);
|
|
1510
|
-
case 7:
|
|
1511
|
-
case "end":
|
|
1512
|
-
return _context23.stop();
|
|
1513
|
-
}
|
|
1514
|
-
}, _callee22);
|
|
1515
|
-
}));
|
|
1516
|
-
return function (_x15) {
|
|
1517
|
-
return _ref11.apply(this, arguments);
|
|
1518
|
-
};
|
|
1519
|
-
}();
|
|
1564
|
+
case 10:
|
|
1565
|
+
_this9.lineEmitter(_types3.LINE_EVENTS.RECONNECTING);
|
|
1566
|
+
case 11:
|
|
1567
|
+
case "end":
|
|
1568
|
+
return _context24.stop();
|
|
1569
|
+
}
|
|
1570
|
+
}, _callee23, null, [[1, 3]]);
|
|
1571
|
+
}));
|
|
1572
|
+
return function (_x17) {
|
|
1573
|
+
return _ref11.apply(this, arguments);
|
|
1574
|
+
};
|
|
1575
|
+
}();
|
|
1576
|
+
}
|
|
1520
1577
|
}
|
|
1521
|
-
case
|
|
1578
|
+
case 1:
|
|
1522
1579
|
case "end":
|
|
1523
|
-
return
|
|
1580
|
+
return _context25.stop();
|
|
1524
1581
|
}
|
|
1525
|
-
},
|
|
1582
|
+
}, _callee24);
|
|
1526
1583
|
})));
|
|
1527
1584
|
case 1:
|
|
1528
1585
|
case "end":
|
|
1529
|
-
return
|
|
1586
|
+
return _context26.stop();
|
|
1530
1587
|
}
|
|
1531
|
-
},
|
|
1588
|
+
}, _callee25, this);
|
|
1532
1589
|
}));
|
|
1533
|
-
function startKeepaliveTimer(
|
|
1590
|
+
function startKeepaliveTimer(_x14, _x15, _x16) {
|
|
1534
1591
|
return _startKeepaliveTimer.apply(this, arguments);
|
|
1535
1592
|
}
|
|
1536
1593
|
return startKeepaliveTimer;
|
|
@@ -1558,25 +1615,25 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1558
1615
|
}, {
|
|
1559
1616
|
key: "deregister",
|
|
1560
1617
|
value: function () {
|
|
1561
|
-
var _deregister = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1562
|
-
var _this$deviceInfo$
|
|
1563
|
-
return _regenerator.default.wrap(function (
|
|
1564
|
-
while (1) switch (
|
|
1618
|
+
var _deregister = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee26() {
|
|
1619
|
+
var _this$deviceInfo$devi2, _this$deviceInfo$devi3, _t8;
|
|
1620
|
+
return _regenerator.default.wrap(function (_context27) {
|
|
1621
|
+
while (1) switch (_context27.prev = _context27.next) {
|
|
1565
1622
|
case 0:
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
return this.deleteRegistration(this.activeMobiusUrl, (_this$deviceInfo$
|
|
1623
|
+
_context27.prev = 0;
|
|
1624
|
+
_context27.next = 1;
|
|
1625
|
+
return this.deleteRegistration(this.activeMobiusUrl, (_this$deviceInfo$devi2 = this.deviceInfo.device) === null || _this$deviceInfo$devi2 === void 0 ? void 0 : _this$deviceInfo$devi2.deviceId, (_this$deviceInfo$devi3 = this.deviceInfo.device) === null || _this$deviceInfo$devi3 === void 0 ? void 0 : _this$deviceInfo$devi3.clientDeviceUri);
|
|
1569
1626
|
case 1:
|
|
1570
1627
|
_Logger.default.log('Registration successfully deregistered', {
|
|
1571
1628
|
file: _constants2.REGISTRATION_FILE,
|
|
1572
1629
|
method: _constants2.METHODS.DEREGISTER
|
|
1573
1630
|
});
|
|
1574
|
-
|
|
1631
|
+
_context27.next = 3;
|
|
1575
1632
|
break;
|
|
1576
1633
|
case 2:
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
_Logger.default.warn("Delete failed with Mobius: ".concat((0, _stringify.default)(
|
|
1634
|
+
_context27.prev = 2;
|
|
1635
|
+
_t8 = _context27["catch"](0);
|
|
1636
|
+
_Logger.default.warn("Delete failed with Mobius: ".concat((0, _stringify.default)(_t8)), {
|
|
1580
1637
|
file: _constants2.REGISTRATION_FILE,
|
|
1581
1638
|
method: _constants2.METHODS.DEREGISTER
|
|
1582
1639
|
});
|
|
@@ -1586,9 +1643,9 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1586
1643
|
this.clearFailoverState();
|
|
1587
1644
|
case 4:
|
|
1588
1645
|
case "end":
|
|
1589
|
-
return
|
|
1646
|
+
return _context27.stop();
|
|
1590
1647
|
}
|
|
1591
|
-
},
|
|
1648
|
+
}, _callee26, this, [[0, 2]]);
|
|
1592
1649
|
}));
|
|
1593
1650
|
function deregister() {
|
|
1594
1651
|
return _deregister.apply(this, arguments);
|
|
@@ -1655,10 +1712,10 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1655
1712
|
}, {
|
|
1656
1713
|
key: "reconnectOnFailure",
|
|
1657
1714
|
value: (function () {
|
|
1658
|
-
var _reconnectOnFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1715
|
+
var _reconnectOnFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee27(caller) {
|
|
1659
1716
|
var abort;
|
|
1660
|
-
return _regenerator.default.wrap(function (
|
|
1661
|
-
while (1) switch (
|
|
1717
|
+
return _regenerator.default.wrap(function (_context28) {
|
|
1718
|
+
while (1) switch (_context28.prev = _context28.next) {
|
|
1662
1719
|
case 0:
|
|
1663
1720
|
_Logger.default.info(_constants.METHOD_START_MESSAGE, {
|
|
1664
1721
|
method: _constants2.METHODS.RECONNECT_ON_FAILURE,
|
|
@@ -1666,25 +1723,25 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1666
1723
|
});
|
|
1667
1724
|
this.reconnectPending = false;
|
|
1668
1725
|
if (this.isDeviceRegistered()) {
|
|
1669
|
-
|
|
1726
|
+
_context28.next = 4;
|
|
1670
1727
|
break;
|
|
1671
1728
|
}
|
|
1672
1729
|
if (!((0, _keys.default)(this.callManager.getActiveCalls()).length === 0)) {
|
|
1673
|
-
|
|
1730
|
+
_context28.next = 3;
|
|
1674
1731
|
break;
|
|
1675
1732
|
}
|
|
1676
|
-
|
|
1733
|
+
_context28.next = 1;
|
|
1677
1734
|
return this.restorePreviousRegistration(caller);
|
|
1678
1735
|
case 1:
|
|
1679
|
-
abort =
|
|
1736
|
+
abort = _context28.sent;
|
|
1680
1737
|
if (!(!abort && !this.isDeviceRegistered())) {
|
|
1681
|
-
|
|
1738
|
+
_context28.next = 2;
|
|
1682
1739
|
break;
|
|
1683
1740
|
}
|
|
1684
|
-
|
|
1741
|
+
_context28.next = 2;
|
|
1685
1742
|
return this.restartRegistration(caller);
|
|
1686
1743
|
case 2:
|
|
1687
|
-
|
|
1744
|
+
_context28.next = 4;
|
|
1688
1745
|
break;
|
|
1689
1746
|
case 3:
|
|
1690
1747
|
this.reconnectPending = true;
|
|
@@ -1694,11 +1751,11 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1694
1751
|
});
|
|
1695
1752
|
case 4:
|
|
1696
1753
|
case "end":
|
|
1697
|
-
return
|
|
1754
|
+
return _context28.stop();
|
|
1698
1755
|
}
|
|
1699
|
-
},
|
|
1756
|
+
}, _callee27, this);
|
|
1700
1757
|
}));
|
|
1701
|
-
function reconnectOnFailure(
|
|
1758
|
+
function reconnectOnFailure(_x18) {
|
|
1702
1759
|
return _reconnectOnFailure.apply(this, arguments);
|
|
1703
1760
|
}
|
|
1704
1761
|
return reconnectOnFailure;
|