@webex/calling 3.11.0-webex-services-ready.1 → 3.12.0-auth-prejoin-fetch.1
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/CallHistory/CallHistory.js +68 -51
- package/dist/CallHistory/CallHistory.js.map +1 -1
- package/dist/CallRecording/CallRecording.js +160 -0
- package/dist/CallRecording/CallRecording.js.map +1 -0
- package/dist/CallRecording/CallRecording.test.js +257 -0
- package/dist/CallRecording/CallRecording.test.js.map +1 -0
- package/dist/CallRecording/WxcCallRecordingConnector.js +577 -0
- package/dist/CallRecording/WxcCallRecordingConnector.js.map +1 -0
- package/dist/CallRecording/WxcCallRecordingConnector.test.js +652 -0
- package/dist/CallRecording/WxcCallRecordingConnector.test.js.map +1 -0
- package/dist/CallRecording/callRecordingFixtures.js +235 -0
- package/dist/CallRecording/callRecordingFixtures.js.map +1 -0
- package/dist/CallRecording/constants.js +50 -0
- package/dist/CallRecording/constants.js.map +1 -0
- package/dist/CallRecording/types.js +137 -0
- package/dist/CallRecording/types.js.map +1 -0
- package/dist/CallRecording/utils.js +42 -0
- package/dist/CallRecording/utils.js.map +1 -0
- package/dist/CallRecording/utils.test.js +97 -0
- package/dist/CallRecording/utils.test.js.map +1 -0
- package/dist/CallingClient/CallingClient.js +522 -195
- package/dist/CallingClient/CallingClient.js.map +1 -1
- package/dist/CallingClient/CallingClient.test.js +607 -133
- package/dist/CallingClient/CallingClient.test.js.map +1 -1
- package/dist/CallingClient/calling/call.js +643 -462
- package/dist/CallingClient/calling/call.js.map +1 -1
- package/dist/CallingClient/calling/call.test.js +850 -453
- package/dist/CallingClient/calling/call.test.js.map +1 -1
- package/dist/CallingClient/calling/callManager.js +106 -35
- package/dist/CallingClient/calling/callManager.js.map +1 -1
- package/dist/CallingClient/calling/callManager.test.js +140 -0
- package/dist/CallingClient/calling/callManager.test.js.map +1 -1
- package/dist/CallingClient/calling/types.js +5 -0
- package/dist/CallingClient/calling/types.js.map +1 -1
- package/dist/CallingClient/constants.js +34 -3
- package/dist/CallingClient/constants.js.map +1 -1
- package/dist/CallingClient/line/index.js +8 -1
- package/dist/CallingClient/line/index.js.map +1 -1
- package/dist/CallingClient/line/line.test.js +62 -10
- package/dist/CallingClient/line/line.test.js.map +1 -1
- package/dist/CallingClient/registration/register.js +906 -497
- package/dist/CallingClient/registration/register.js.map +1 -1
- package/dist/CallingClient/registration/register.test.js +649 -58
- package/dist/CallingClient/registration/register.test.js.map +1 -1
- package/dist/CallingClient/registration/types.js +26 -0
- package/dist/CallingClient/registration/types.js.map +1 -1
- package/dist/CallingClient/registration/webWorker.js +41 -104
- 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/types.js +7 -0
- package/dist/CallingClient/types.js.map +1 -1
- package/dist/CallingClient/utils/constants.js +58 -0
- package/dist/CallingClient/utils/constants.js.map +1 -0
- package/dist/CallingClient/utils/index.js +63 -0
- package/dist/CallingClient/utils/index.js.map +1 -0
- package/dist/CallingClient/utils/mobiusSocketMapper.js +122 -0
- package/dist/CallingClient/utils/mobiusSocketMapper.js.map +1 -0
- package/dist/CallingClient/utils/mobiusSocketMapper.test.js +221 -0
- package/dist/CallingClient/utils/mobiusSocketMapper.test.js.map +1 -0
- package/dist/CallingClient/utils/request.js +435 -0
- package/dist/CallingClient/utils/request.js.map +1 -0
- package/dist/CallingClient/utils/request.test.js +999 -0
- package/dist/CallingClient/utils/request.test.js.map +1 -0
- package/dist/CallingClient/utils/types.js +7 -0
- package/dist/CallingClient/utils/types.js.map +1 -0
- package/dist/CallingClient/utils/wsFeatureFlag.js +70 -0
- package/dist/CallingClient/utils/wsFeatureFlag.js.map +1 -0
- package/dist/CallingClient/utils/wsFeatureFlag.test.js +139 -0
- package/dist/CallingClient/utils/wsFeatureFlag.test.js.map +1 -0
- package/dist/Contacts/ContactsClient.js +13 -11
- package/dist/Contacts/ContactsClient.js.map +1 -1
- package/dist/Contacts/ContactsClient.test.js +3 -8
- package/dist/Contacts/ContactsClient.test.js.map +1 -1
- package/dist/Errors/types.js +2 -0
- package/dist/Errors/types.js.map +1 -1
- package/dist/Events/types.js +38 -11
- package/dist/Events/types.js.map +1 -1
- package/dist/Metrics/index.js +63 -2
- package/dist/Metrics/index.js.map +1 -1
- package/dist/Metrics/index.test.js +357 -1
- package/dist/Metrics/index.test.js.map +1 -1
- package/dist/Metrics/types.js +19 -1
- package/dist/Metrics/types.js.map +1 -1
- package/dist/SDKConnector/types.js.map +1 -1
- package/dist/api.js +56 -0
- package/dist/api.js.map +1 -1
- package/dist/common/Utils.js +212 -71
- package/dist/common/Utils.js.map +1 -1
- package/dist/common/Utils.test.js +417 -181
- package/dist/common/Utils.test.js.map +1 -1
- package/dist/common/testUtil.js +10 -5
- package/dist/common/testUtil.js.map +1 -1
- package/dist/common/types.js +3 -0
- package/dist/common/types.js.map +1 -1
- package/dist/index.js +171 -40
- package/dist/index.js.map +1 -1
- package/dist/mobius-socket/config.js +24 -0
- package/dist/mobius-socket/config.js.map +1 -0
- package/dist/mobius-socket/errors.js +143 -0
- package/dist/mobius-socket/errors.js.map +1 -0
- package/dist/mobius-socket/errors.test.js +20 -0
- package/dist/mobius-socket/errors.test.js.map +1 -0
- package/dist/mobius-socket/index.js +57 -0
- package/dist/mobius-socket/index.js.map +1 -0
- package/dist/mobius-socket/mobius-socket-events.test.js +492 -0
- package/dist/mobius-socket/mobius-socket-events.test.js.map +1 -0
- package/dist/mobius-socket/mobius-socket.js +849 -0
- package/dist/mobius-socket/mobius-socket.js.map +1 -0
- package/dist/mobius-socket/mobius-socket.test.js +1898 -0
- package/dist/mobius-socket/mobius-socket.test.js.map +1 -0
- package/dist/mobius-socket/socket/constants.js +55 -0
- package/dist/mobius-socket/socket/constants.js.map +1 -0
- package/dist/mobius-socket/socket/index.js +15 -0
- package/dist/mobius-socket/socket/index.js.map +1 -0
- package/dist/mobius-socket/socket/socket-base.js +604 -0
- package/dist/mobius-socket/socket/socket-base.js.map +1 -0
- package/dist/mobius-socket/socket/socket.js +19 -0
- package/dist/mobius-socket/socket/socket.js.map +1 -0
- package/dist/mobius-socket/socket/socket.shim.js +26 -0
- package/dist/mobius-socket/socket/socket.shim.js.map +1 -0
- package/dist/mobius-socket/socket/types.js +7 -0
- package/dist/mobius-socket/socket/types.js.map +1 -0
- package/dist/mobius-socket/socket.test.js +727 -0
- package/dist/mobius-socket/socket.test.js.map +1 -0
- package/dist/mobius-socket/test/mocha-helpers.js +23 -0
- package/dist/mobius-socket/test/mocha-helpers.js.map +1 -0
- package/dist/mobius-socket/test/promise-tick.js +28 -0
- package/dist/mobius-socket/test/promise-tick.js.map +1 -0
- package/dist/mobius-socket/types.js +7 -0
- package/dist/mobius-socket/types.js.map +1 -0
- package/dist/module/CallHistory/CallHistory.js +28 -17
- package/dist/module/CallRecording/CallRecording.js +56 -0
- package/dist/module/CallRecording/WxcCallRecordingConnector.js +257 -0
- package/dist/module/CallRecording/callRecordingFixtures.js +201 -0
- package/dist/module/CallRecording/constants.js +28 -0
- package/dist/module/CallRecording/types.js +19 -0
- package/dist/module/CallRecording/utils.js +14 -0
- package/dist/module/CallingClient/CallingClient.js +166 -8
- package/dist/module/CallingClient/calling/call.js +201 -68
- package/dist/module/CallingClient/calling/callManager.js +51 -11
- package/dist/module/CallingClient/calling/types.js +2 -0
- package/dist/module/CallingClient/constants.js +29 -0
- package/dist/module/CallingClient/line/index.js +4 -2
- package/dist/module/CallingClient/registration/register.js +274 -64
- package/dist/module/CallingClient/registration/types.js +5 -1
- package/dist/module/CallingClient/registration/webWorker.js +42 -61
- package/dist/module/CallingClient/registration/webWorkerStr.js +47 -82
- package/dist/module/CallingClient/utils/constants.js +36 -0
- package/dist/module/CallingClient/utils/index.js +5 -0
- package/dist/module/CallingClient/utils/mobiusSocketMapper.js +72 -0
- package/dist/module/CallingClient/utils/request.js +211 -0
- package/dist/module/CallingClient/utils/types.js +1 -0
- package/dist/module/CallingClient/utils/wsFeatureFlag.js +41 -0
- package/dist/module/Contacts/ContactsClient.js +1 -1
- package/dist/module/Errors/types.js +2 -0
- package/dist/module/Events/types.js +23 -10
- package/dist/module/Metrics/index.js +48 -1
- package/dist/module/Metrics/types.js +18 -0
- package/dist/module/api.js +3 -2
- package/dist/module/common/Utils.js +85 -22
- package/dist/module/common/testUtil.js +6 -1
- package/dist/module/common/types.js +3 -0
- package/dist/module/index.js +7 -3
- package/dist/module/mobius-socket/config.js +15 -0
- package/dist/module/mobius-socket/errors.js +58 -0
- package/dist/module/mobius-socket/index.js +24 -0
- package/dist/module/mobius-socket/mobius-socket.js +593 -0
- package/dist/module/mobius-socket/socket/constants.js +26 -0
- package/dist/module/mobius-socket/socket/index.js +4 -0
- package/dist/module/mobius-socket/socket/socket-base.js +368 -0
- package/dist/module/mobius-socket/socket/socket.js +9 -0
- package/dist/module/mobius-socket/socket/socket.shim.js +12 -0
- package/dist/module/mobius-socket/socket/types.js +1 -0
- package/dist/module/mobius-socket/types.js +1 -0
- package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
- package/dist/types/CallRecording/CallRecording.d.ts +18 -0
- package/dist/types/CallRecording/CallRecording.d.ts.map +1 -0
- package/dist/types/CallRecording/WxcCallRecordingConnector.d.ts +23 -0
- package/dist/types/CallRecording/WxcCallRecordingConnector.d.ts.map +1 -0
- package/dist/types/CallRecording/callRecordingFixtures.d.ts +61 -0
- package/dist/types/CallRecording/callRecordingFixtures.d.ts.map +1 -0
- package/dist/types/CallRecording/constants.d.ts +29 -0
- package/dist/types/CallRecording/constants.d.ts.map +1 -0
- package/dist/types/CallRecording/types.d.ts +176 -0
- package/dist/types/CallRecording/types.d.ts.map +1 -0
- package/dist/types/CallRecording/utils.d.ts +3 -0
- package/dist/types/CallRecording/utils.d.ts.map +1 -0
- package/dist/types/CallingClient/CallingClient.d.ts +10 -1
- package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/call.d.ts +17 -3
- package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/callManager.d.ts +8 -4
- package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/types.d.ts +38 -9
- package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
- package/dist/types/CallingClient/constants.d.ts +29 -0
- package/dist/types/CallingClient/constants.d.ts.map +1 -1
- package/dist/types/CallingClient/line/index.d.ts +1 -1
- package/dist/types/CallingClient/line/index.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/register.d.ts +10 -2
- package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/types.d.ts +29 -3
- package/dist/types/CallingClient/registration/types.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/types.d.ts +6 -3
- package/dist/types/CallingClient/types.d.ts.map +1 -1
- package/dist/types/CallingClient/utils/constants.d.ts +35 -0
- package/dist/types/CallingClient/utils/constants.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/index.d.ts +6 -0
- package/dist/types/CallingClient/utils/index.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts +5 -0
- package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/request.d.ts +28 -0
- package/dist/types/CallingClient/utils/request.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/types.d.ts +34 -0
- package/dist/types/CallingClient/utils/types.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts +4 -0
- package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts.map +1 -0
- package/dist/types/Errors/types.d.ts +2 -0
- package/dist/types/Errors/types.d.ts.map +1 -1
- package/dist/types/Events/types.d.ts +80 -16
- package/dist/types/Events/types.d.ts.map +1 -1
- package/dist/types/Metrics/index.d.ts.map +1 -1
- package/dist/types/Metrics/types.d.ts +19 -2
- package/dist/types/Metrics/types.d.ts.map +1 -1
- package/dist/types/SDKConnector/types.d.ts +39 -12
- package/dist/types/SDKConnector/types.d.ts.map +1 -1
- package/dist/types/api.d.ts +6 -4
- package/dist/types/api.d.ts.map +1 -1
- package/dist/types/common/Utils.d.ts +9 -4
- package/dist/types/common/Utils.d.ts.map +1 -1
- package/dist/types/common/testUtil.d.ts +5 -1
- package/dist/types/common/testUtil.d.ts.map +1 -1
- package/dist/types/common/types.d.ts +9 -1
- package/dist/types/common/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +9 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/mobius-socket/config.d.ts +17 -0
- package/dist/types/mobius-socket/config.d.ts.map +1 -0
- package/dist/types/mobius-socket/errors.d.ts +32 -0
- package/dist/types/mobius-socket/errors.d.ts.map +1 -0
- package/dist/types/mobius-socket/index.d.ts +14 -0
- package/dist/types/mobius-socket/index.d.ts.map +1 -0
- package/dist/types/mobius-socket/mobius-socket.d.ts +48 -0
- package/dist/types/mobius-socket/mobius-socket.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/constants.d.ts +27 -0
- package/dist/types/mobius-socket/socket/constants.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/index.d.ts +5 -0
- package/dist/types/mobius-socket/socket/index.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/socket-base.d.ts +43 -0
- package/dist/types/mobius-socket/socket/socket-base.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/socket.d.ts +6 -0
- package/dist/types/mobius-socket/socket/socket.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/socket.shim.d.ts +6 -0
- package/dist/types/mobius-socket/socket/socket.shim.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/types.d.ts +61 -0
- package/dist/types/mobius-socket/socket/types.d.ts.map +1 -0
- package/dist/types/mobius-socket/types.d.ts +21 -0
- package/dist/types/mobius-socket/types.d.ts.map +1 -0
- package/package.json +21 -5
- package/src/mobius-socket/socket/socket.shim.ts +22 -0
- package/src/mobius-socket/socket/socket.ts +14 -0
|
@@ -19,11 +19,12 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regene
|
|
|
19
19
|
var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
|
|
20
20
|
var _now = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/date/now"));
|
|
21
21
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
|
|
22
|
+
var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
|
|
23
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/slicedToArray"));
|
|
22
24
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
23
25
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
24
26
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
25
27
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
26
|
-
var _uuid = require("uuid");
|
|
27
28
|
var _constants = require("../../common/constants");
|
|
28
29
|
var _common = require("../../common");
|
|
29
30
|
var _webWorkerStr = _interopRequireDefault(require("./webWorkerStr"));
|
|
@@ -31,10 +32,12 @@ var _types = require("../../Metrics/types");
|
|
|
31
32
|
var _Metrics = require("../../Metrics");
|
|
32
33
|
var _calling = require("../calling");
|
|
33
34
|
var _Logger = _interopRequireDefault(require("../../Logger"));
|
|
35
|
+
var _types2 = require("./types");
|
|
34
36
|
var _SDKConnector = _interopRequireDefault(require("../../SDKConnector"));
|
|
35
|
-
var
|
|
37
|
+
var _types3 = require("../../common/types");
|
|
36
38
|
var _constants2 = require("../constants");
|
|
37
|
-
var
|
|
39
|
+
var _types4 = require("../line/types");
|
|
40
|
+
var _request = require("../utils/request");
|
|
38
41
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof _Symbol && r[_Symbol$iterator] || r["@@iterator"]; if (!t) { if (_Array$isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
39
42
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? _Array$from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
40
43
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
@@ -73,16 +76,17 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
73
76
|
(0, _defineProperty2.default)(this, "retryAfter", void 0);
|
|
74
77
|
(0, _defineProperty2.default)(this, "scheduled429Retry", false);
|
|
75
78
|
(0, _defineProperty2.default)(this, "webWorker", void 0);
|
|
79
|
+
(0, _defineProperty2.default)(this, "apiRequest", void 0);
|
|
76
80
|
this.jwe = jwe;
|
|
77
81
|
this.sdkConnector = _SDKConnector.default;
|
|
78
82
|
this.serviceData = serviceData;
|
|
79
|
-
this.isCCFlow = serviceData.indicator ===
|
|
83
|
+
this.isCCFlow = serviceData.indicator === _types3.ServiceIndicator.CONTACT_CENTER;
|
|
80
84
|
if (!this.sdkConnector.getWebex()) {
|
|
81
85
|
_SDKConnector.default.setWebex(webex);
|
|
82
86
|
}
|
|
83
87
|
this.webex = this.sdkConnector.getWebex();
|
|
84
88
|
this.userId = this.webex.internal.device.userId;
|
|
85
|
-
this.registrationStatus =
|
|
89
|
+
this.registrationStatus = _types3.RegistrationStatus.IDLE;
|
|
86
90
|
this.failback429RetryAttempts = 0;
|
|
87
91
|
_Logger.default.setLogger(logLevel, _constants2.REGISTRATION_FILE);
|
|
88
92
|
this.rehomingIntervalMin = _constants2.DEFAULT_REHOMING_INTERVAL_MIN;
|
|
@@ -93,8 +97,17 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
93
97
|
this.lineEmitter = lineEmitter;
|
|
94
98
|
this.primaryMobiusUris = [];
|
|
95
99
|
this.backupMobiusUris = [];
|
|
100
|
+
this.apiRequest = _request.APIRequest.getInstance({
|
|
101
|
+
webex: this.webex
|
|
102
|
+
});
|
|
96
103
|
}
|
|
97
104
|
return (0, _createClass2.default)(Registration, [{
|
|
105
|
+
key: "getServerType",
|
|
106
|
+
value: function getServerType(url) {
|
|
107
|
+
var _this$backupMobiusUri;
|
|
108
|
+
return this.primaryMobiusUris.includes(url) && 'PRIMARY' || ((_this$backupMobiusUri = this.backupMobiusUris) === null || _this$backupMobiusUri === void 0 ? void 0 : _this$backupMobiusUri.includes(url)) && 'BACKUP' || 'UNKNOWN';
|
|
109
|
+
}
|
|
110
|
+
}, {
|
|
98
111
|
key: "getFailoverCacheKey",
|
|
99
112
|
value: function getFailoverCacheKey() {
|
|
100
113
|
return "".concat(_constants2.FAILOVER_CACHE_PREFIX, ".").concat(this.userId || 'unknown');
|
|
@@ -183,6 +196,21 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
183
196
|
this.activeMobiusUrl = url;
|
|
184
197
|
this.callManager.updateActiveMobius(url);
|
|
185
198
|
}
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Populate deviceInfo using a devices response body.
|
|
202
|
+
*/
|
|
203
|
+
}, {
|
|
204
|
+
key: "setDeviceInfo",
|
|
205
|
+
value: function setDeviceInfo(devicesInfo) {
|
|
206
|
+
var _devicesInfo$devices = (0, _slicedToArray2.default)(devicesInfo.devices, 1),
|
|
207
|
+
device = _devicesInfo$devices[0];
|
|
208
|
+
this.deviceInfo = {
|
|
209
|
+
userId: devicesInfo.userId,
|
|
210
|
+
device: device,
|
|
211
|
+
devices: devicesInfo.devices
|
|
212
|
+
};
|
|
213
|
+
}
|
|
186
214
|
}, {
|
|
187
215
|
key: "setMobiusServers",
|
|
188
216
|
value: function setMobiusServers(primaryMobiusUris, backupMobiusUris) {
|
|
@@ -202,50 +230,47 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
202
230
|
key: "deleteRegistration",
|
|
203
231
|
value: (function () {
|
|
204
232
|
var _deleteRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(url, deviceId, deviceUrl) {
|
|
205
|
-
var
|
|
206
|
-
var response, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t0;
|
|
233
|
+
var response, requestObj, _t2;
|
|
207
234
|
return _regenerator.default.wrap(function (_context2) {
|
|
208
235
|
while (1) switch (_context2.prev = _context2.next) {
|
|
209
236
|
case 0:
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
237
|
+
requestObj = {
|
|
238
|
+
uri: "".concat(url).concat(_constants2.DEVICES_ENDPOINT_RESOURCE, "/").concat(deviceId),
|
|
239
|
+
method: _types3.HTTP_METHODS.DELETE,
|
|
240
|
+
headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, deviceUrl), _constants2.SPARK_USER_AGENT, _constants2.CALLING_USER_AGENT),
|
|
241
|
+
service: _types3.ALLOWED_SERVICES.MOBIUS
|
|
242
|
+
};
|
|
243
|
+
if (this.apiRequest.isSocketEnabled()) {
|
|
244
|
+
// @ts-ignore - body is added for mobius wss support, it is not used for mobius http
|
|
245
|
+
requestObj.body = {
|
|
246
|
+
deviceId: deviceId
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
_context2.prev = 1;
|
|
222
250
|
_context2.next = 2;
|
|
223
|
-
return
|
|
224
|
-
method: _t4,
|
|
225
|
-
headers: _t9
|
|
226
|
-
});
|
|
251
|
+
return this.apiRequest.makeRequest(requestObj);
|
|
227
252
|
case 2:
|
|
228
253
|
response = _context2.sent;
|
|
229
254
|
_context2.next = 4;
|
|
230
255
|
break;
|
|
231
256
|
case 3:
|
|
232
257
|
_context2.prev = 3;
|
|
233
|
-
|
|
234
|
-
_Logger.default.warn("Delete failed with Mobius: ".concat((0, _stringify.default)(
|
|
258
|
+
_t2 = _context2["catch"](1);
|
|
259
|
+
_Logger.default.warn("Delete failed with Mobius: ".concat((0, _stringify.default)(_t2)), {
|
|
235
260
|
file: _constants2.REGISTRATION_FILE,
|
|
236
261
|
method: _constants2.METHODS.DELETE_REGISTRATION
|
|
237
262
|
});
|
|
238
263
|
_context2.next = 4;
|
|
239
264
|
return (0, _common.uploadLogs)();
|
|
240
265
|
case 4:
|
|
241
|
-
this.setStatus(
|
|
242
|
-
this.lineEmitter(
|
|
243
|
-
return _context2.abrupt("return",
|
|
266
|
+
this.setStatus(_types3.RegistrationStatus.INACTIVE);
|
|
267
|
+
this.lineEmitter(_types4.LINE_EVENTS.UNREGISTERED);
|
|
268
|
+
return _context2.abrupt("return", response);
|
|
244
269
|
case 5:
|
|
245
270
|
case "end":
|
|
246
271
|
return _context2.stop();
|
|
247
272
|
}
|
|
248
|
-
}, _callee2, this, [[
|
|
273
|
+
}, _callee2, this, [[1, 3]]);
|
|
249
274
|
}));
|
|
250
275
|
function deleteRegistration(_x, _x2, _x3) {
|
|
251
276
|
return _deleteRegistration.apply(this, arguments);
|
|
@@ -272,12 +297,12 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
272
297
|
jwe: this.jwe
|
|
273
298
|
}) : this.serviceData
|
|
274
299
|
};
|
|
275
|
-
return _context3.abrupt("return", this.
|
|
300
|
+
return _context3.abrupt("return", this.apiRequest.makeRequest({
|
|
276
301
|
uri: "".concat(url, "device"),
|
|
277
|
-
method:
|
|
302
|
+
method: _types3.HTTP_METHODS.POST,
|
|
278
303
|
headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, deviceInfo.clientDeviceUri), _constants2.SPARK_USER_AGENT, _constants2.CALLING_USER_AGENT),
|
|
279
304
|
body: deviceInfo,
|
|
280
|
-
service:
|
|
305
|
+
service: _types3.ALLOWED_SERVICES.MOBIUS
|
|
281
306
|
}));
|
|
282
307
|
case 1:
|
|
283
308
|
case "end":
|
|
@@ -300,25 +325,44 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
300
325
|
value: (function () {
|
|
301
326
|
var _restorePreviousRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5(caller) {
|
|
302
327
|
var _this = this;
|
|
303
|
-
var abort;
|
|
328
|
+
var loggerContext, abort;
|
|
304
329
|
return _regenerator.default.wrap(function (_context5) {
|
|
305
330
|
while (1) switch (_context5.prev = _context5.next) {
|
|
306
331
|
case 0:
|
|
332
|
+
loggerContext = {
|
|
333
|
+
file: _constants2.REGISTRATION_FILE,
|
|
334
|
+
method: _constants2.METHODS.RESTORE_PREVIOUS_REGISTRATION
|
|
335
|
+
};
|
|
336
|
+
_Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " - caller: ").concat(caller, ", activeMobiusUrl: ").concat(this.activeMobiusUrl), loggerContext);
|
|
307
337
|
abort = false;
|
|
308
|
-
if (!this.activeMobiusUrl) {
|
|
309
|
-
_context5.next =
|
|
338
|
+
if (!(this.apiRequest.isSocketEnabled() && "".concat(this.apiRequest.getConnectedWebSocketUrl(), "/") !== this.activeMobiusUrl)) {
|
|
339
|
+
_context5.next = 1;
|
|
310
340
|
break;
|
|
311
341
|
}
|
|
342
|
+
_Logger.default.info("Disconnecting from Mobius socket to restore previous registration.", {
|
|
343
|
+
file: _constants2.REGISTRATION_FILE,
|
|
344
|
+
method: 'restorePreviousRegistration'
|
|
345
|
+
});
|
|
312
346
|
_context5.next = 1;
|
|
313
|
-
return this.
|
|
347
|
+
return this.apiRequest.disconnectFromMobiusSocket({
|
|
348
|
+
code: 3050,
|
|
349
|
+
reason: 'done (permanent)'
|
|
350
|
+
});
|
|
314
351
|
case 1:
|
|
352
|
+
if (!this.activeMobiusUrl) {
|
|
353
|
+
_context5.next = 7;
|
|
354
|
+
break;
|
|
355
|
+
}
|
|
356
|
+
_context5.next = 2;
|
|
357
|
+
return this.attemptRegistrationWithServers(caller, [this.activeMobiusUrl]);
|
|
358
|
+
case 2:
|
|
315
359
|
abort = _context5.sent;
|
|
316
360
|
if (!this.retryAfter) {
|
|
317
|
-
_context5.next =
|
|
361
|
+
_context5.next = 7;
|
|
318
362
|
break;
|
|
319
363
|
}
|
|
320
364
|
if (!(this.retryAfter < _constants2.RETRY_TIMER_UPPER_LIMIT)) {
|
|
321
|
-
_context5.next =
|
|
365
|
+
_context5.next = 3;
|
|
322
366
|
break;
|
|
323
367
|
}
|
|
324
368
|
// If retry-after is less than threshold, honor it and schedule retry
|
|
@@ -334,28 +378,30 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
334
378
|
}
|
|
335
379
|
}, _callee4);
|
|
336
380
|
})), this.retryAfter * 1000);
|
|
337
|
-
_context5.next =
|
|
381
|
+
_context5.next = 6;
|
|
338
382
|
break;
|
|
339
|
-
case
|
|
383
|
+
case 3:
|
|
340
384
|
if (!(this.primaryMobiusUris.includes(this.activeMobiusUrl) && this.backupMobiusUris.length > 0)) {
|
|
341
|
-
_context5.next =
|
|
385
|
+
_context5.next = 5;
|
|
342
386
|
break;
|
|
343
387
|
}
|
|
344
|
-
_context5.next =
|
|
388
|
+
_context5.next = 4;
|
|
345
389
|
return this.attemptRegistrationWithServers(caller, this.backupMobiusUris);
|
|
346
|
-
case
|
|
390
|
+
case 4:
|
|
347
391
|
abort = _context5.sent;
|
|
348
|
-
_context5.next =
|
|
392
|
+
_context5.next = 6;
|
|
349
393
|
break;
|
|
350
|
-
case 4:
|
|
351
|
-
// If we are using backup and got 429, restart registration
|
|
352
|
-
this.restartRegistration(caller);
|
|
353
394
|
case 5:
|
|
395
|
+
_context5.next = 6;
|
|
396
|
+
return this.restartRegistration(caller);
|
|
397
|
+
case 6:
|
|
354
398
|
this.retryAfter = undefined;
|
|
399
|
+
_Logger.default.log("restorePreviousRegistration completed via 429 retry-after path - caller: ".concat(caller), loggerContext);
|
|
355
400
|
return _context5.abrupt("return", true);
|
|
356
|
-
case 6:
|
|
357
|
-
return _context5.abrupt("return", abort);
|
|
358
401
|
case 7:
|
|
402
|
+
_Logger.default.log("restorePreviousRegistration completed - caller: ".concat(caller, ", deviceRegistered: ").concat(this.isDeviceRegistered(), ", abort: ").concat(abort), loggerContext);
|
|
403
|
+
return _context5.abrupt("return", abort);
|
|
404
|
+
case 8:
|
|
359
405
|
case "end":
|
|
360
406
|
return _context5.stop();
|
|
361
407
|
}
|
|
@@ -374,12 +420,17 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
374
420
|
key: "handle404KeepaliveFailure",
|
|
375
421
|
value: (function () {
|
|
376
422
|
var _handle404KeepaliveFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6(caller) {
|
|
377
|
-
var abort;
|
|
423
|
+
var loggerContext, abort;
|
|
378
424
|
return _regenerator.default.wrap(function (_context6) {
|
|
379
425
|
while (1) switch (_context6.prev = _context6.next) {
|
|
380
426
|
case 0:
|
|
427
|
+
loggerContext = {
|
|
428
|
+
file: _constants2.REGISTRATION_FILE,
|
|
429
|
+
method: _constants2.METHODS.HANDLE_404_KEEPALIVE_FAILURE
|
|
430
|
+
};
|
|
431
|
+
_Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " - caller: ").concat(caller), loggerContext);
|
|
381
432
|
if (!(caller === _constants2.KEEPALIVE_UTIL)) {
|
|
382
|
-
_context6.next =
|
|
433
|
+
_context6.next = 4;
|
|
383
434
|
break;
|
|
384
435
|
}
|
|
385
436
|
_context6.next = 1;
|
|
@@ -387,12 +438,18 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
387
438
|
case 1:
|
|
388
439
|
abort = _context6.sent;
|
|
389
440
|
if (!(!abort && !this.isDeviceRegistered())) {
|
|
390
|
-
_context6.next =
|
|
441
|
+
_context6.next = 3;
|
|
391
442
|
break;
|
|
392
443
|
}
|
|
444
|
+
_Logger.default.warn('Keepalive 404 recovery: re-registration did not complete, starting failover timer', loggerContext);
|
|
393
445
|
_context6.next = 2;
|
|
394
446
|
return this.startFailoverTimer();
|
|
395
447
|
case 2:
|
|
448
|
+
_context6.next = 4;
|
|
449
|
+
break;
|
|
450
|
+
case 3:
|
|
451
|
+
_Logger.default.log("Keepalive 404 recovery handled - deviceRegistered: ".concat(this.isDeviceRegistered(), ", abort: ").concat(abort), loggerContext);
|
|
452
|
+
case 4:
|
|
396
453
|
case "end":
|
|
397
454
|
return _context6.stop();
|
|
398
455
|
}
|
|
@@ -403,6 +460,60 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
403
460
|
}
|
|
404
461
|
return handle404KeepaliveFailure;
|
|
405
462
|
}()
|
|
463
|
+
/**
|
|
464
|
+
* Hard stops a calling session that Mobius reported as superseded, in response to a
|
|
465
|
+
* `409 Conflict` on a keepalive (device_status) message.
|
|
466
|
+
*
|
|
467
|
+
* Mobius returns 409 when this deviceId is gone but the same user still has an active
|
|
468
|
+
* registration elsewhere (typically calling opened in another browser tab, which
|
|
469
|
+
* superseded this device). Re-registering here would unregister the other device and
|
|
470
|
+
* restart the registration ping-pong between the two, so no registration is attempted:
|
|
471
|
+
* the keepalive worker is terminated, the Mobius WebSocket is closed and the consumer
|
|
472
|
+
* receives `LINE_EVENTS.UNREGISTERED` carrying `lineError` as the reason.
|
|
473
|
+
*
|
|
474
|
+
* @param lineError - Superseded-session error built by `handleRegistrationErrors`.
|
|
475
|
+
* @param error - The keepalive failure payload forwarded by the keepalive worker.
|
|
476
|
+
* @param serverType - Mobius server type the keepalive was sent to, for metrics.
|
|
477
|
+
* @param keepaliveRetryCount - Consecutive keepalive failures reported by the worker.
|
|
478
|
+
*/
|
|
479
|
+
)
|
|
480
|
+
}, {
|
|
481
|
+
key: "handle409KeepaliveFailure",
|
|
482
|
+
value: (function () {
|
|
483
|
+
var _handle409KeepaliveFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7(lineError, error, serverType, keepaliveRetryCount) {
|
|
484
|
+
var _error$headers$tracki, _error$headers;
|
|
485
|
+
var loggerContext;
|
|
486
|
+
return _regenerator.default.wrap(function (_context7) {
|
|
487
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
488
|
+
case 0:
|
|
489
|
+
loggerContext = {
|
|
490
|
+
file: _constants2.REGISTRATION_FILE,
|
|
491
|
+
method: _constants2.METHODS.HANDLE_409_KEEPALIVE_FAILURE
|
|
492
|
+
};
|
|
493
|
+
_Logger.default.warn("Stopping keepalive without re-registration, session superseded by another device for this user - keepaliveRetryCount: ".concat(keepaliveRetryCount), loggerContext);
|
|
494
|
+
|
|
495
|
+
/* Stop the keepalive worker up front so no further keepalive is sent while cleanup waits on the mutex. */
|
|
496
|
+
this.clearKeepaliveTimer();
|
|
497
|
+
this.metricManager.submitRegistrationMetric(_types.METRIC_EVENT.KEEPALIVE_ERROR, _types.REG_ACTION.KEEPALIVE_FAILURE, _types.METRIC_TYPE.BEHAVIORAL, _constants2.METHODS.HANDLE_409_KEEPALIVE_FAILURE, 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 : '', keepaliveRetryCount, lineError);
|
|
498
|
+
_context7.next = 1;
|
|
499
|
+
return this.registrationCleanup(_constants2.METHODS.HANDLE_409_KEEPALIVE_FAILURE, {
|
|
500
|
+
reason: _types2.HARD_STOP_REASON.SESSION_SUPERSEDED,
|
|
501
|
+
error: lineError
|
|
502
|
+
});
|
|
503
|
+
case 1:
|
|
504
|
+
_context7.next = 2;
|
|
505
|
+
return (0, _common.uploadLogs)();
|
|
506
|
+
case 2:
|
|
507
|
+
case "end":
|
|
508
|
+
return _context7.stop();
|
|
509
|
+
}
|
|
510
|
+
}, _callee7, this);
|
|
511
|
+
}));
|
|
512
|
+
function handle409KeepaliveFailure(_x7, _x8, _x9, _x0) {
|
|
513
|
+
return _handle409KeepaliveFailure.apply(this, arguments);
|
|
514
|
+
}
|
|
515
|
+
return handle409KeepaliveFailure;
|
|
516
|
+
}()
|
|
406
517
|
/**
|
|
407
518
|
* Callback for handling 429 retry response from the server
|
|
408
519
|
*/
|
|
@@ -410,21 +521,21 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
410
521
|
}, {
|
|
411
522
|
key: "handle429Retry",
|
|
412
523
|
value: (function () {
|
|
413
|
-
var _handle429Retry = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
524
|
+
var _handle429Retry = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9(retryAfter, caller) {
|
|
414
525
|
var _this2 = this;
|
|
415
526
|
var interval, abort;
|
|
416
|
-
return _regenerator.default.wrap(function (
|
|
417
|
-
while (1) switch (
|
|
527
|
+
return _regenerator.default.wrap(function (_context9) {
|
|
528
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
418
529
|
case 0:
|
|
419
530
|
if (!(caller === _constants2.FAILBACK_UTIL)) {
|
|
420
|
-
|
|
531
|
+
_context9.next = 4;
|
|
421
532
|
break;
|
|
422
533
|
}
|
|
423
534
|
if (!(this.failback429RetryAttempts >= _constants2.REG_FAILBACK_429_MAX_RETRIES)) {
|
|
424
|
-
|
|
535
|
+
_context9.next = 1;
|
|
425
536
|
break;
|
|
426
537
|
}
|
|
427
|
-
return
|
|
538
|
+
return _context9.abrupt("return");
|
|
428
539
|
case 1:
|
|
429
540
|
this.clearFailbackTimer();
|
|
430
541
|
this.failback429RetryAttempts += 1;
|
|
@@ -435,26 +546,26 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
435
546
|
interval = this.getRegRetryInterval(this.failback429RetryAttempts);
|
|
436
547
|
this.startFailbackTimer(interval);
|
|
437
548
|
this.scheduled429Retry = true;
|
|
438
|
-
|
|
549
|
+
_context9.next = 2;
|
|
439
550
|
return this.restorePreviousRegistration(_constants2.REG_429_RETRY_UTIL);
|
|
440
551
|
case 2:
|
|
441
|
-
abort =
|
|
552
|
+
abort = _context9.sent;
|
|
442
553
|
if (!(!abort && !this.isDeviceRegistered())) {
|
|
443
|
-
|
|
554
|
+
_context9.next = 3;
|
|
444
555
|
break;
|
|
445
556
|
}
|
|
446
|
-
|
|
557
|
+
_context9.next = 3;
|
|
447
558
|
return this.restartRegistration(_constants2.REG_429_RETRY_UTIL);
|
|
448
559
|
case 3:
|
|
449
|
-
|
|
560
|
+
_context9.next = 5;
|
|
450
561
|
break;
|
|
451
562
|
case 4:
|
|
452
563
|
if (caller === _constants2.KEEPALIVE_UTIL) {
|
|
453
564
|
this.clearKeepaliveTimer();
|
|
454
|
-
setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
565
|
+
setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8() {
|
|
455
566
|
var _this2$deviceInfo$dev;
|
|
456
|
-
return _regenerator.default.wrap(function (
|
|
457
|
-
while (1) switch (
|
|
567
|
+
return _regenerator.default.wrap(function (_context8) {
|
|
568
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
458
569
|
case 0:
|
|
459
570
|
_Logger.default.log("Resuming keepalive after ".concat(retryAfter, " seconds"), {
|
|
460
571
|
file: _constants2.REGISTRATION_FILE,
|
|
@@ -462,24 +573,24 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
462
573
|
});
|
|
463
574
|
|
|
464
575
|
// Resume the keepalive after waiting for the retry after period
|
|
465
|
-
|
|
576
|
+
_context8.next = 1;
|
|
466
577
|
return _this2.startKeepaliveTimer((_this2$deviceInfo$dev = _this2.deviceInfo.device) === null || _this2$deviceInfo$dev === void 0 ? void 0 : _this2$deviceInfo$dev.uri, _this2.deviceInfo.keepaliveInterval, 'UNKNOWN');
|
|
467
578
|
case 1:
|
|
468
579
|
case "end":
|
|
469
|
-
return
|
|
580
|
+
return _context8.stop();
|
|
470
581
|
}
|
|
471
|
-
},
|
|
472
|
-
})), retryAfter * 1000);
|
|
582
|
+
}, _callee8);
|
|
583
|
+
})), (retryAfter - Number(this.deviceInfo.keepaliveInterval || 0)) * 1000);
|
|
473
584
|
} else {
|
|
474
585
|
this.retryAfter = retryAfter;
|
|
475
586
|
}
|
|
476
587
|
case 5:
|
|
477
588
|
case "end":
|
|
478
|
-
return
|
|
589
|
+
return _context9.stop();
|
|
479
590
|
}
|
|
480
|
-
},
|
|
591
|
+
}, _callee9, this);
|
|
481
592
|
}));
|
|
482
|
-
function handle429Retry(
|
|
593
|
+
function handle429Retry(_x1, _x10) {
|
|
483
594
|
return _handle429Retry.apply(this, arguments);
|
|
484
595
|
}
|
|
485
596
|
return handle429Retry;
|
|
@@ -508,7 +619,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
508
619
|
}, {
|
|
509
620
|
key: "startFailoverTimer",
|
|
510
621
|
value: (function () {
|
|
511
|
-
var _startFailoverTimer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
622
|
+
var _startFailoverTimer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12() {
|
|
512
623
|
var _this3 = this;
|
|
513
624
|
var attempt,
|
|
514
625
|
timeElapsed,
|
|
@@ -518,12 +629,12 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
518
629
|
excessVal,
|
|
519
630
|
abort,
|
|
520
631
|
scheduledTime,
|
|
521
|
-
|
|
522
|
-
return _regenerator.default.wrap(function (
|
|
523
|
-
while (1) switch (
|
|
632
|
+
_args12 = arguments;
|
|
633
|
+
return _regenerator.default.wrap(function (_context12) {
|
|
634
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
524
635
|
case 0:
|
|
525
|
-
attempt =
|
|
526
|
-
timeElapsed =
|
|
636
|
+
attempt = _args12.length > 0 && _args12[0] !== undefined ? _args12[0] : 1;
|
|
637
|
+
timeElapsed = _args12.length > 1 && _args12[1] !== undefined ? _args12[1] : 0;
|
|
527
638
|
loggerContext = {
|
|
528
639
|
file: _constants2.REGISTRATION_FILE,
|
|
529
640
|
method: _constants2.FAILOVER_UTIL
|
|
@@ -538,7 +649,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
538
649
|
this.failoverImmediately = this.retryAfter + timeElapsed > TIMER_THRESHOLD;
|
|
539
650
|
}
|
|
540
651
|
if (!(interval > _constants2.BASE_REG_RETRY_TIMER_VAL_IN_SEC && !this.failoverImmediately)) {
|
|
541
|
-
|
|
652
|
+
_context12.next = 1;
|
|
542
653
|
break;
|
|
543
654
|
}
|
|
544
655
|
scheduledTime = Math.floor((0, _now.default)() / 1000);
|
|
@@ -551,47 +662,60 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
551
662
|
retryScheduledTime: scheduledTime,
|
|
552
663
|
serverType: 'primary'
|
|
553
664
|
});
|
|
554
|
-
setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
555
|
-
return _regenerator.default.wrap(function (
|
|
556
|
-
while (1) switch (
|
|
665
|
+
setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1() {
|
|
666
|
+
return _regenerator.default.wrap(function (_context1) {
|
|
667
|
+
while (1) switch (_context1.prev = _context1.next) {
|
|
557
668
|
case 0:
|
|
558
|
-
|
|
559
|
-
return _this3.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
669
|
+
_context1.next = 1;
|
|
670
|
+
return _this3.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0() {
|
|
560
671
|
var currentTime;
|
|
561
|
-
return _regenerator.default.wrap(function (
|
|
562
|
-
while (1) switch (
|
|
672
|
+
return _regenerator.default.wrap(function (_context0) {
|
|
673
|
+
while (1) switch (_context0.prev = _context0.next) {
|
|
563
674
|
case 0:
|
|
564
|
-
|
|
675
|
+
_context0.next = 1;
|
|
565
676
|
return _this3.attemptRegistrationWithServers(_constants2.FAILOVER_UTIL);
|
|
566
677
|
case 1:
|
|
567
|
-
abort =
|
|
678
|
+
abort = _context0.sent;
|
|
568
679
|
currentTime = Math.floor((0, _now.default)() / 1000);
|
|
569
680
|
if (!(!abort && !_this3.isDeviceRegistered())) {
|
|
570
|
-
|
|
681
|
+
_context0.next = 2;
|
|
571
682
|
break;
|
|
572
683
|
}
|
|
573
|
-
|
|
684
|
+
_context0.next = 2;
|
|
574
685
|
return _this3.startFailoverTimer(attempt + 1, timeElapsed + (currentTime - scheduledTime));
|
|
575
686
|
case 2:
|
|
576
687
|
case "end":
|
|
577
|
-
return
|
|
688
|
+
return _context0.stop();
|
|
578
689
|
}
|
|
579
|
-
},
|
|
690
|
+
}, _callee0);
|
|
580
691
|
})));
|
|
581
692
|
case 1:
|
|
582
693
|
case "end":
|
|
583
|
-
return
|
|
694
|
+
return _context1.stop();
|
|
584
695
|
}
|
|
585
|
-
},
|
|
696
|
+
}, _callee1);
|
|
586
697
|
})), interval * _constants2.SEC_TO_MSEC_MFACTOR);
|
|
587
698
|
_Logger.default.log("Scheduled retry with primary in ".concat(interval, " seconds, number of attempts : ").concat(attempt), loggerContext);
|
|
588
|
-
|
|
699
|
+
_context12.next = 7;
|
|
589
700
|
break;
|
|
590
701
|
case 1:
|
|
591
702
|
if (!this.backupMobiusUris.length) {
|
|
592
|
-
|
|
703
|
+
_context12.next = 5;
|
|
704
|
+
break;
|
|
705
|
+
}
|
|
706
|
+
if (!this.apiRequest.isSocketEnabled()) {
|
|
707
|
+
_context12.next = 3;
|
|
593
708
|
break;
|
|
594
709
|
}
|
|
710
|
+
_Logger.default.info('Disconnecting from primary Mobius socket for failover to backup servers', loggerContext);
|
|
711
|
+
_context12.next = 2;
|
|
712
|
+
return this.apiRequest.disconnectFromMobiusSocket({
|
|
713
|
+
code: 3050,
|
|
714
|
+
reason: 'done (permanent)'
|
|
715
|
+
});
|
|
716
|
+
case 2:
|
|
717
|
+
_Logger.default.log('Mobius socket disconnect complete prior to backup failover', loggerContext);
|
|
718
|
+
case 3:
|
|
595
719
|
this.saveFailoverState({
|
|
596
720
|
attempt: attempt,
|
|
597
721
|
timeElapsed: timeElapsed,
|
|
@@ -600,66 +724,66 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
600
724
|
});
|
|
601
725
|
_Logger.default.info('Failing over to backup servers.', loggerContext);
|
|
602
726
|
this.failoverImmediately = false;
|
|
603
|
-
|
|
727
|
+
_context12.next = 4;
|
|
604
728
|
return this.attemptRegistrationWithServers(_constants2.FAILOVER_UTIL, this.backupMobiusUris);
|
|
605
|
-
case
|
|
606
|
-
abort =
|
|
729
|
+
case 4:
|
|
730
|
+
abort = _context12.sent;
|
|
607
731
|
if (!abort && !this.isDeviceRegistered()) {
|
|
608
732
|
interval = this.getRegRetryInterval();
|
|
609
733
|
if (this.retryAfter != null && this.retryAfter < _constants2.RETRY_TIMER_UPPER_LIMIT) {
|
|
610
734
|
interval = interval < this.retryAfter ? this.retryAfter : interval;
|
|
611
735
|
}
|
|
612
|
-
setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
613
|
-
return _regenerator.default.wrap(function (
|
|
614
|
-
while (1) switch (
|
|
736
|
+
setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11() {
|
|
737
|
+
return _regenerator.default.wrap(function (_context11) {
|
|
738
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
615
739
|
case 0:
|
|
616
|
-
|
|
617
|
-
return _this3.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
618
|
-
return _regenerator.default.wrap(function (
|
|
619
|
-
while (1) switch (
|
|
740
|
+
_context11.next = 1;
|
|
741
|
+
return _this3.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10() {
|
|
742
|
+
return _regenerator.default.wrap(function (_context10) {
|
|
743
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
620
744
|
case 0:
|
|
621
|
-
|
|
745
|
+
_context10.next = 1;
|
|
622
746
|
return _this3.attemptRegistrationWithServers(_constants2.FAILOVER_UTIL, _this3.backupMobiusUris);
|
|
623
747
|
case 1:
|
|
624
|
-
abort =
|
|
748
|
+
abort = _context10.sent;
|
|
625
749
|
if (!(!abort && !_this3.isDeviceRegistered())) {
|
|
626
|
-
|
|
750
|
+
_context10.next = 3;
|
|
627
751
|
break;
|
|
628
752
|
}
|
|
629
|
-
|
|
753
|
+
_context10.next = 2;
|
|
630
754
|
return (0, _common.uploadLogs)();
|
|
631
755
|
case 2:
|
|
632
756
|
(0, _common.emitFinalFailure)(function (clientError) {
|
|
633
|
-
_this3.lineEmitter(
|
|
757
|
+
_this3.lineEmitter(_types4.LINE_EVENTS.ERROR, undefined, clientError);
|
|
634
758
|
}, loggerContext);
|
|
635
759
|
case 3:
|
|
636
760
|
case "end":
|
|
637
|
-
return
|
|
761
|
+
return _context10.stop();
|
|
638
762
|
}
|
|
639
|
-
},
|
|
763
|
+
}, _callee10);
|
|
640
764
|
})));
|
|
641
765
|
case 1:
|
|
642
766
|
case "end":
|
|
643
|
-
return
|
|
767
|
+
return _context11.stop();
|
|
644
768
|
}
|
|
645
|
-
},
|
|
769
|
+
}, _callee11);
|
|
646
770
|
})), interval * _constants2.SEC_TO_MSEC_MFACTOR);
|
|
647
771
|
_Logger.default.log("Scheduled retry with backup servers in ".concat(interval, " seconds."), loggerContext);
|
|
648
772
|
}
|
|
649
|
-
|
|
773
|
+
_context12.next = 7;
|
|
650
774
|
break;
|
|
651
|
-
case
|
|
652
|
-
|
|
775
|
+
case 5:
|
|
776
|
+
_context12.next = 6;
|
|
653
777
|
return (0, _common.uploadLogs)();
|
|
654
|
-
case
|
|
778
|
+
case 6:
|
|
655
779
|
(0, _common.emitFinalFailure)(function (clientError) {
|
|
656
|
-
_this3.lineEmitter(
|
|
657
|
-
}, loggerContext);
|
|
658
|
-
case
|
|
780
|
+
_this3.lineEmitter(_types4.LINE_EVENTS.ERROR, undefined, clientError);
|
|
781
|
+
}, loggerContext, interval < 0 ? 'Timer threshold exceeded during failover' : undefined);
|
|
782
|
+
case 7:
|
|
659
783
|
case "end":
|
|
660
|
-
return
|
|
784
|
+
return _context12.stop();
|
|
661
785
|
}
|
|
662
|
-
},
|
|
786
|
+
}, _callee12, this);
|
|
663
787
|
}));
|
|
664
788
|
function startFailoverTimer() {
|
|
665
789
|
return _startFailoverTimer.apply(this, arguments);
|
|
@@ -678,37 +802,65 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
678
802
|
this.failbackTimer = undefined;
|
|
679
803
|
}
|
|
680
804
|
}
|
|
805
|
+
}, {
|
|
806
|
+
key: "postKeepAlive",
|
|
807
|
+
value: function () {
|
|
808
|
+
var _postKeepAlive = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13(deviceUrl, url) {
|
|
809
|
+
var _this$deviceInfo$devi;
|
|
810
|
+
return _regenerator.default.wrap(function (_context13) {
|
|
811
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
812
|
+
case 0:
|
|
813
|
+
return _context13.abrupt("return", this.apiRequest.makeRequest({
|
|
814
|
+
uri: "".concat(url, "/status"),
|
|
815
|
+
method: _types3.HTTP_METHODS.POST,
|
|
816
|
+
headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, deviceUrl), _constants2.SPARK_USER_AGENT, _constants2.CALLING_USER_AGENT),
|
|
817
|
+
body: {
|
|
818
|
+
deviceId: (_this$deviceInfo$devi = this.deviceInfo.device) === null || _this$deviceInfo$devi === void 0 ? void 0 : _this$deviceInfo$devi.deviceId
|
|
819
|
+
},
|
|
820
|
+
service: _types3.ALLOWED_SERVICES.MOBIUS
|
|
821
|
+
}));
|
|
822
|
+
case 1:
|
|
823
|
+
case "end":
|
|
824
|
+
return _context13.stop();
|
|
825
|
+
}
|
|
826
|
+
}, _callee13, this);
|
|
827
|
+
}));
|
|
828
|
+
function postKeepAlive(_x11, _x12) {
|
|
829
|
+
return _postKeepAlive.apply(this, arguments);
|
|
830
|
+
}
|
|
831
|
+
return postKeepAlive;
|
|
832
|
+
}()
|
|
681
833
|
}, {
|
|
682
834
|
key: "isPrimaryActive",
|
|
683
835
|
value: function () {
|
|
684
|
-
var _isPrimaryActive = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
685
|
-
var status, _iterator, _step, mobiusUrl, baseUri, response, _ref7, statusCode,
|
|
686
|
-
return _regenerator.default.wrap(function (
|
|
687
|
-
while (1) switch (
|
|
836
|
+
var _isPrimaryActive = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14() {
|
|
837
|
+
var status, _iterator, _step, mobiusUrl, baseUri, response, _ref7, statusCode, _t3, _t4;
|
|
838
|
+
return _regenerator.default.wrap(function (_context14) {
|
|
839
|
+
while (1) switch (_context14.prev = _context14.next) {
|
|
688
840
|
case 0:
|
|
689
841
|
_iterator = _createForOfIteratorHelper(this.primaryMobiusUris);
|
|
690
|
-
|
|
842
|
+
_context14.prev = 1;
|
|
691
843
|
_iterator.s();
|
|
692
844
|
case 2:
|
|
693
845
|
if ((_step = _iterator.n()).done) {
|
|
694
|
-
|
|
846
|
+
_context14.next = 8;
|
|
695
847
|
break;
|
|
696
848
|
}
|
|
697
849
|
mobiusUrl = _step.value;
|
|
698
|
-
|
|
699
|
-
baseUri = mobiusUrl.replace(_constants2.URL_ENDPOINT, '/'); // eslint-disable-next-line no-await-in-loop
|
|
700
|
-
|
|
850
|
+
_context14.prev = 3;
|
|
851
|
+
baseUri = mobiusUrl.replace(_constants2.URL_ENDPOINT, '/').replace('wss://', 'https://'); // eslint-disable-next-line no-await-in-loop
|
|
852
|
+
_context14.next = 4;
|
|
701
853
|
return this.webex.request({
|
|
702
854
|
uri: "".concat(baseUri, "ping"),
|
|
703
|
-
method:
|
|
855
|
+
method: _types3.HTTP_METHODS.GET,
|
|
704
856
|
headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, this.webex.internal.device.url), _constants2.SPARK_USER_AGENT, _constants2.CALLING_USER_AGENT),
|
|
705
|
-
service:
|
|
857
|
+
service: _types3.ALLOWED_SERVICES.MOBIUS
|
|
706
858
|
});
|
|
707
859
|
case 4:
|
|
708
|
-
response =
|
|
860
|
+
response = _context14.sent;
|
|
709
861
|
_ref7 = response, statusCode = _ref7.statusCode;
|
|
710
862
|
if (!(statusCode === 200)) {
|
|
711
|
-
|
|
863
|
+
_context14.next = 5;
|
|
712
864
|
break;
|
|
713
865
|
}
|
|
714
866
|
_Logger.default.info("Ping successful for primary Mobius: ".concat(mobiusUrl), {
|
|
@@ -716,39 +868,39 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
716
868
|
method: _constants2.FAILBACK_UTIL
|
|
717
869
|
});
|
|
718
870
|
status = 'up';
|
|
719
|
-
return
|
|
871
|
+
return _context14.abrupt("continue", 8);
|
|
720
872
|
case 5:
|
|
721
|
-
|
|
873
|
+
_context14.next = 7;
|
|
722
874
|
break;
|
|
723
875
|
case 6:
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
_Logger.default.warn("Ping failed for primary Mobius: ".concat(mobiusUrl, " with error: ").concat((0, _stringify.default)(
|
|
876
|
+
_context14.prev = 6;
|
|
877
|
+
_t3 = _context14["catch"](3);
|
|
878
|
+
_Logger.default.warn("Ping failed for primary Mobius: ".concat(mobiusUrl, " with error: ").concat((0, _stringify.default)(_t3)), {
|
|
727
879
|
file: _constants2.REGISTRATION_FILE,
|
|
728
880
|
method: _constants2.FAILBACK_UTIL
|
|
729
881
|
});
|
|
730
882
|
status = 'down';
|
|
731
883
|
case 7:
|
|
732
|
-
|
|
884
|
+
_context14.next = 2;
|
|
733
885
|
break;
|
|
734
886
|
case 8:
|
|
735
|
-
|
|
887
|
+
_context14.next = 10;
|
|
736
888
|
break;
|
|
737
889
|
case 9:
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
_iterator.e(
|
|
890
|
+
_context14.prev = 9;
|
|
891
|
+
_t4 = _context14["catch"](1);
|
|
892
|
+
_iterator.e(_t4);
|
|
741
893
|
case 10:
|
|
742
|
-
|
|
894
|
+
_context14.prev = 10;
|
|
743
895
|
_iterator.f();
|
|
744
|
-
return
|
|
896
|
+
return _context14.finish(10);
|
|
745
897
|
case 11:
|
|
746
|
-
return
|
|
898
|
+
return _context14.abrupt("return", status === 'up');
|
|
747
899
|
case 12:
|
|
748
900
|
case "end":
|
|
749
|
-
return
|
|
901
|
+
return _context14.stop();
|
|
750
902
|
}
|
|
751
|
-
},
|
|
903
|
+
}, _callee14, this, [[1, 9, 10, 11], [3, 6]]);
|
|
752
904
|
}));
|
|
753
905
|
function isPrimaryActive() {
|
|
754
906
|
return _isPrimaryActive.apply(this, arguments);
|
|
@@ -781,13 +933,21 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
781
933
|
}, {
|
|
782
934
|
key: "initiateFailback",
|
|
783
935
|
value: function initiateFailback() {
|
|
936
|
+
var loggerContext = {
|
|
937
|
+
file: _constants2.REGISTRATION_FILE,
|
|
938
|
+
method: _constants2.METHODS.INITIATE_FAILBACK
|
|
939
|
+
};
|
|
784
940
|
if (this.isFailbackRequired()) {
|
|
785
941
|
if (!this.failbackTimer) {
|
|
786
942
|
this.failback429RetryAttempts = 0;
|
|
787
943
|
var intervalInMinutes = this.getFailbackInterval();
|
|
944
|
+
_Logger.default.info("Scheduling failback to primary - intervalMinutes: ".concat(intervalInMinutes), loggerContext);
|
|
788
945
|
this.startFailbackTimer(intervalInMinutes * _constants2.MINUTES_TO_SEC_MFACTOR);
|
|
946
|
+
} else {
|
|
947
|
+
_Logger.default.info('Failback timer already scheduled, skipping', loggerContext);
|
|
789
948
|
}
|
|
790
949
|
} else {
|
|
950
|
+
_Logger.default.info('Failback not required, clearing any pending failback timer', loggerContext);
|
|
791
951
|
this.failback429RetryAttempts = 0;
|
|
792
952
|
this.clearFailbackTimer();
|
|
793
953
|
}
|
|
@@ -801,16 +961,16 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
801
961
|
key: "startFailbackTimer",
|
|
802
962
|
value: function startFailbackTimer(intervalInSeconds) {
|
|
803
963
|
var _this4 = this;
|
|
804
|
-
this.failbackTimer = setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
805
|
-
return _regenerator.default.wrap(function (
|
|
806
|
-
while (1) switch (
|
|
964
|
+
this.failbackTimer = setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15() {
|
|
965
|
+
return _regenerator.default.wrap(function (_context15) {
|
|
966
|
+
while (1) switch (_context15.prev = _context15.next) {
|
|
807
967
|
case 0:
|
|
808
|
-
return
|
|
968
|
+
return _context15.abrupt("return", _this4.executeFailback());
|
|
809
969
|
case 1:
|
|
810
970
|
case "end":
|
|
811
|
-
return
|
|
971
|
+
return _context15.stop();
|
|
812
972
|
}
|
|
813
|
-
},
|
|
973
|
+
}, _callee15);
|
|
814
974
|
})), intervalInSeconds * _constants2.SEC_TO_MSEC_MFACTOR);
|
|
815
975
|
_Logger.default.log("Failback scheduled after ".concat(intervalInSeconds, " seconds."), {
|
|
816
976
|
file: _constants2.REGISTRATION_FILE,
|
|
@@ -825,90 +985,103 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
825
985
|
}, {
|
|
826
986
|
key: "executeFailback",
|
|
827
987
|
value: (function () {
|
|
828
|
-
var _executeFailback = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
988
|
+
var _executeFailback = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee17() {
|
|
829
989
|
var _this5 = this;
|
|
830
|
-
|
|
831
|
-
|
|
990
|
+
var loggerContext;
|
|
991
|
+
return _regenerator.default.wrap(function (_context17) {
|
|
992
|
+
while (1) switch (_context17.prev = _context17.next) {
|
|
832
993
|
case 0:
|
|
833
|
-
|
|
834
|
-
|
|
994
|
+
loggerContext = {
|
|
995
|
+
file: _constants2.REGISTRATION_FILE,
|
|
996
|
+
method: _constants2.METHODS.EXECUTE_FAILBACK
|
|
997
|
+
};
|
|
998
|
+
_Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
|
|
999
|
+
_context17.next = 1;
|
|
1000
|
+
return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee16() {
|
|
835
1001
|
var primaryServerStatus, abort, abortNew;
|
|
836
|
-
return _regenerator.default.wrap(function (
|
|
837
|
-
while (1) switch (
|
|
1002
|
+
return _regenerator.default.wrap(function (_context16) {
|
|
1003
|
+
while (1) switch (_context16.prev = _context16.next) {
|
|
838
1004
|
case 0:
|
|
839
1005
|
if (!_this5.isFailbackRequired()) {
|
|
840
|
-
|
|
1006
|
+
_context16.next = 13;
|
|
841
1007
|
break;
|
|
842
1008
|
}
|
|
843
|
-
|
|
1009
|
+
_context16.next = 1;
|
|
844
1010
|
return _this5.isPrimaryActive();
|
|
845
1011
|
case 1:
|
|
846
|
-
primaryServerStatus =
|
|
1012
|
+
primaryServerStatus = _context16.sent;
|
|
847
1013
|
if (!((0, _keys.default)(_this5.callManager.getActiveCalls()).length === 0 && primaryServerStatus)) {
|
|
848
|
-
|
|
1014
|
+
_context16.next = 12;
|
|
849
1015
|
break;
|
|
850
1016
|
}
|
|
851
|
-
_Logger.default.info("Attempting failback to primary.",
|
|
852
|
-
|
|
853
|
-
method: _this5.executeFailback.name
|
|
854
|
-
});
|
|
855
|
-
_context14.next = 2;
|
|
1017
|
+
_Logger.default.info("Attempting failback to primary.", loggerContext);
|
|
1018
|
+
_context16.next = 2;
|
|
856
1019
|
return _this5.deregister();
|
|
857
1020
|
case 2:
|
|
858
|
-
|
|
859
|
-
|
|
1021
|
+
if (!_this5.apiRequest.isSocketEnabled()) {
|
|
1022
|
+
_context16.next = 4;
|
|
1023
|
+
break;
|
|
1024
|
+
}
|
|
1025
|
+
_Logger.default.info('Disconnecting from backup Mobius socket for failback to primary', loggerContext);
|
|
1026
|
+
_context16.next = 3;
|
|
1027
|
+
return _this5.apiRequest.disconnectFromMobiusSocket({
|
|
1028
|
+
code: 3050,
|
|
1029
|
+
reason: 'done (permanent)'
|
|
1030
|
+
});
|
|
860
1031
|
case 3:
|
|
861
|
-
|
|
1032
|
+
_Logger.default.log('Mobius socket disconnect complete prior to primary failback', loggerContext);
|
|
1033
|
+
case 4:
|
|
1034
|
+
_context16.next = 5;
|
|
1035
|
+
return _this5.attemptRegistrationWithServers(_constants2.FAILBACK_UTIL);
|
|
1036
|
+
case 5:
|
|
1037
|
+
abort = _context16.sent;
|
|
862
1038
|
if (!(_this5.scheduled429Retry || abort || _this5.isDeviceRegistered())) {
|
|
863
|
-
|
|
1039
|
+
_context16.next = 6;
|
|
864
1040
|
break;
|
|
865
1041
|
}
|
|
866
|
-
return
|
|
867
|
-
case
|
|
868
|
-
|
|
1042
|
+
return _context16.abrupt("return");
|
|
1043
|
+
case 6:
|
|
1044
|
+
_context16.next = 7;
|
|
869
1045
|
return _this5.restorePreviousRegistration(_constants2.FAILBACK_UTIL);
|
|
870
|
-
case
|
|
871
|
-
abortNew =
|
|
1046
|
+
case 7:
|
|
1047
|
+
abortNew = _context16.sent;
|
|
872
1048
|
if (!abortNew) {
|
|
873
|
-
|
|
1049
|
+
_context16.next = 8;
|
|
874
1050
|
break;
|
|
875
1051
|
}
|
|
876
1052
|
_this5.clearFailbackTimer();
|
|
877
|
-
return
|
|
878
|
-
case
|
|
1053
|
+
return _context16.abrupt("return");
|
|
1054
|
+
case 8:
|
|
879
1055
|
if (_this5.isDeviceRegistered()) {
|
|
880
|
-
|
|
1056
|
+
_context16.next = 10;
|
|
881
1057
|
break;
|
|
882
1058
|
}
|
|
883
|
-
|
|
884
|
-
return _this5.restartRegistration(
|
|
885
|
-
case 7:
|
|
886
|
-
_context14.next = 9;
|
|
887
|
-
break;
|
|
888
|
-
case 8:
|
|
889
|
-
_this5.failbackTimer = undefined;
|
|
890
|
-
_this5.initiateFailback();
|
|
1059
|
+
_context16.next = 9;
|
|
1060
|
+
return _this5.restartRegistration(loggerContext.method);
|
|
891
1061
|
case 9:
|
|
892
|
-
|
|
1062
|
+
_context16.next = 11;
|
|
893
1063
|
break;
|
|
894
1064
|
case 10:
|
|
895
|
-
_Logger.default.info('Active calls present or primary Mobius is down, deferring failback to next cycle.', {
|
|
896
|
-
file: _constants2.REGISTRATION_FILE,
|
|
897
|
-
method: _this5.executeFailback.name
|
|
898
|
-
});
|
|
899
1065
|
_this5.failbackTimer = undefined;
|
|
900
1066
|
_this5.initiateFailback();
|
|
901
1067
|
case 11:
|
|
1068
|
+
_context16.next = 13;
|
|
1069
|
+
break;
|
|
1070
|
+
case 12:
|
|
1071
|
+
_Logger.default.info('Active calls present or primary Mobius is down, deferring failback to next cycle.', loggerContext);
|
|
1072
|
+
_this5.failbackTimer = undefined;
|
|
1073
|
+
_this5.initiateFailback();
|
|
1074
|
+
case 13:
|
|
902
1075
|
case "end":
|
|
903
|
-
return
|
|
1076
|
+
return _context16.stop();
|
|
904
1077
|
}
|
|
905
|
-
},
|
|
1078
|
+
}, _callee16);
|
|
906
1079
|
})));
|
|
907
1080
|
case 1:
|
|
908
1081
|
case "end":
|
|
909
|
-
return
|
|
1082
|
+
return _context17.stop();
|
|
910
1083
|
}
|
|
911
|
-
},
|
|
1084
|
+
}, _callee17, this);
|
|
912
1085
|
}));
|
|
913
1086
|
function executeFailback() {
|
|
914
1087
|
return _executeFailback.apply(this, arguments);
|
|
@@ -950,7 +1123,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
950
1123
|
}, {
|
|
951
1124
|
key: "isDeviceRegistered",
|
|
952
1125
|
value: function isDeviceRegistered() {
|
|
953
|
-
return this.registrationStatus ===
|
|
1126
|
+
return this.registrationStatus === _types3.RegistrationStatus.ACTIVE;
|
|
954
1127
|
}
|
|
955
1128
|
}, {
|
|
956
1129
|
key: "getStatus",
|
|
@@ -971,34 +1144,42 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
971
1144
|
}, {
|
|
972
1145
|
key: "restartRegistration",
|
|
973
1146
|
value: (function () {
|
|
974
|
-
var _restartRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
975
|
-
var abort;
|
|
976
|
-
return _regenerator.default.wrap(function (
|
|
977
|
-
while (1) switch (
|
|
1147
|
+
var _restartRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee18(caller) {
|
|
1148
|
+
var loggerContext, abort;
|
|
1149
|
+
return _regenerator.default.wrap(function (_context18) {
|
|
1150
|
+
while (1) switch (_context18.prev = _context18.next) {
|
|
978
1151
|
case 0:
|
|
1152
|
+
loggerContext = {
|
|
1153
|
+
file: _constants2.REGISTRATION_FILE,
|
|
1154
|
+
method: _constants2.METHODS.RESTART_REGISTRATION
|
|
1155
|
+
};
|
|
1156
|
+
_Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " - caller: ").concat(caller), loggerContext);
|
|
1157
|
+
|
|
979
1158
|
/*
|
|
980
1159
|
* Cancel any failback timer running
|
|
981
1160
|
* and start fresh registration attempt with retry as true.
|
|
982
1161
|
*/
|
|
983
1162
|
this.clearFailbackTimer();
|
|
984
1163
|
this.failback429RetryAttempts = 0;
|
|
985
|
-
|
|
1164
|
+
_context18.next = 1;
|
|
986
1165
|
return this.attemptRegistrationWithServers(caller, this.primaryMobiusUris);
|
|
987
1166
|
case 1:
|
|
988
|
-
abort =
|
|
1167
|
+
abort = _context18.sent;
|
|
989
1168
|
if (!(!abort && !this.isDeviceRegistered())) {
|
|
990
|
-
|
|
1169
|
+
_context18.next = 2;
|
|
991
1170
|
break;
|
|
992
1171
|
}
|
|
993
|
-
|
|
1172
|
+
_context18.next = 2;
|
|
994
1173
|
return this.startFailoverTimer();
|
|
995
1174
|
case 2:
|
|
1175
|
+
_Logger.default.log("restartRegistration completed - caller: ".concat(caller, ", deviceRegistered: ").concat(this.isDeviceRegistered(), ", abort: ").concat(abort), loggerContext);
|
|
1176
|
+
case 3:
|
|
996
1177
|
case "end":
|
|
997
|
-
return
|
|
1178
|
+
return _context18.stop();
|
|
998
1179
|
}
|
|
999
|
-
},
|
|
1180
|
+
}, _callee18, this);
|
|
1000
1181
|
}));
|
|
1001
|
-
function restartRegistration(
|
|
1182
|
+
function restartRegistration(_x13) {
|
|
1002
1183
|
return _restartRegistration.apply(this, arguments);
|
|
1003
1184
|
}
|
|
1004
1185
|
return restartRegistration;
|
|
@@ -1012,23 +1193,23 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1012
1193
|
}, {
|
|
1013
1194
|
key: "handleConnectionRestoration",
|
|
1014
1195
|
value: (function () {
|
|
1015
|
-
var _handleConnectionRestoration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1196
|
+
var _handleConnectionRestoration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee20(retry) {
|
|
1016
1197
|
var _this6 = this;
|
|
1017
|
-
return _regenerator.default.wrap(function (
|
|
1018
|
-
while (1) switch (
|
|
1198
|
+
return _regenerator.default.wrap(function (_context20) {
|
|
1199
|
+
while (1) switch (_context20.prev = _context20.next) {
|
|
1019
1200
|
case 0:
|
|
1020
1201
|
_Logger.default.info(_constants.METHOD_START_MESSAGE, {
|
|
1021
1202
|
method: _constants2.METHODS.HANDLE_CONNECTION_RESTORATION,
|
|
1022
1203
|
file: _constants2.REGISTRATION_FILE
|
|
1023
1204
|
});
|
|
1024
|
-
|
|
1025
|
-
return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1205
|
+
_context20.next = 1;
|
|
1206
|
+
return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee19() {
|
|
1026
1207
|
var abort;
|
|
1027
|
-
return _regenerator.default.wrap(function (
|
|
1028
|
-
while (1) switch (
|
|
1208
|
+
return _regenerator.default.wrap(function (_context19) {
|
|
1209
|
+
while (1) switch (_context19.prev = _context19.next) {
|
|
1029
1210
|
case 0:
|
|
1030
1211
|
if (!retry) {
|
|
1031
|
-
|
|
1212
|
+
_context19.next = 4;
|
|
1032
1213
|
break;
|
|
1033
1214
|
}
|
|
1034
1215
|
_Logger.default.log('Network is up again, re-registering with Webex Calling if needed', {
|
|
@@ -1037,43 +1218,43 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1037
1218
|
});
|
|
1038
1219
|
_this6.clearKeepaliveTimer();
|
|
1039
1220
|
if (!_this6.isDeviceRegistered()) {
|
|
1040
|
-
|
|
1221
|
+
_context19.next = 1;
|
|
1041
1222
|
break;
|
|
1042
1223
|
}
|
|
1043
|
-
|
|
1224
|
+
_context19.next = 1;
|
|
1044
1225
|
return _this6.deregister();
|
|
1045
1226
|
case 1:
|
|
1046
1227
|
if (!_this6.activeMobiusUrl) {
|
|
1047
|
-
|
|
1228
|
+
_context19.next = 3;
|
|
1048
1229
|
break;
|
|
1049
1230
|
}
|
|
1050
|
-
|
|
1231
|
+
_context19.next = 2;
|
|
1051
1232
|
return _this6.restorePreviousRegistration(_constants2.METHODS.HANDLE_CONNECTION_RESTORATION);
|
|
1052
1233
|
case 2:
|
|
1053
|
-
abort =
|
|
1234
|
+
abort = _context19.sent;
|
|
1054
1235
|
if (!(!abort && !_this6.isDeviceRegistered())) {
|
|
1055
|
-
|
|
1236
|
+
_context19.next = 3;
|
|
1056
1237
|
break;
|
|
1057
1238
|
}
|
|
1058
|
-
|
|
1239
|
+
_context19.next = 3;
|
|
1059
1240
|
return _this6.restartRegistration(_constants2.METHODS.HANDLE_CONNECTION_RESTORATION);
|
|
1060
1241
|
case 3:
|
|
1061
1242
|
retry = false;
|
|
1062
1243
|
case 4:
|
|
1063
1244
|
case "end":
|
|
1064
|
-
return
|
|
1245
|
+
return _context19.stop();
|
|
1065
1246
|
}
|
|
1066
|
-
},
|
|
1247
|
+
}, _callee19);
|
|
1067
1248
|
})));
|
|
1068
1249
|
case 1:
|
|
1069
|
-
return
|
|
1250
|
+
return _context20.abrupt("return", retry);
|
|
1070
1251
|
case 2:
|
|
1071
1252
|
case "end":
|
|
1072
|
-
return
|
|
1253
|
+
return _context20.stop();
|
|
1073
1254
|
}
|
|
1074
|
-
},
|
|
1255
|
+
}, _callee20, this);
|
|
1075
1256
|
}));
|
|
1076
|
-
function handleConnectionRestoration(
|
|
1257
|
+
function handleConnectionRestoration(_x14) {
|
|
1077
1258
|
return _handleConnectionRestoration.apply(this, arguments);
|
|
1078
1259
|
}
|
|
1079
1260
|
return handleConnectionRestoration;
|
|
@@ -1089,53 +1270,53 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1089
1270
|
value: function restoreRegistrationCallBack() {
|
|
1090
1271
|
var _this7 = this;
|
|
1091
1272
|
return /*#__PURE__*/function () {
|
|
1092
|
-
var _ref1 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1273
|
+
var _ref1 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee21(restoreData, caller) {
|
|
1093
1274
|
var logContext, restore, finalError;
|
|
1094
|
-
return _regenerator.default.wrap(function (
|
|
1095
|
-
while (1) switch (
|
|
1275
|
+
return _regenerator.default.wrap(function (_context21) {
|
|
1276
|
+
while (1) switch (_context21.prev = _context21.next) {
|
|
1096
1277
|
case 0:
|
|
1097
1278
|
logContext = {
|
|
1098
1279
|
file: _constants2.REGISTRATION_FILE,
|
|
1099
1280
|
method: caller
|
|
1100
1281
|
};
|
|
1101
1282
|
if (_this7.isRegRetry()) {
|
|
1102
|
-
|
|
1283
|
+
_context21.next = 4;
|
|
1103
1284
|
break;
|
|
1104
1285
|
}
|
|
1105
1286
|
_Logger.default.info('Registration restoration in progress.', logContext);
|
|
1106
1287
|
restore = _this7.getExistingDevice(restoreData);
|
|
1107
1288
|
if (!restore) {
|
|
1108
|
-
|
|
1289
|
+
_context21.next = 3;
|
|
1109
1290
|
break;
|
|
1110
1291
|
}
|
|
1111
1292
|
_this7.setRegRetry(true);
|
|
1112
|
-
|
|
1293
|
+
_context21.next = 1;
|
|
1113
1294
|
return _this7.deregister();
|
|
1114
1295
|
case 1:
|
|
1115
|
-
|
|
1296
|
+
_context21.next = 2;
|
|
1116
1297
|
return _this7.restorePreviousRegistration(caller);
|
|
1117
1298
|
case 2:
|
|
1118
|
-
finalError =
|
|
1299
|
+
finalError = _context21.sent;
|
|
1119
1300
|
_this7.setRegRetry(false);
|
|
1120
1301
|
if (_this7.isDeviceRegistered()) {
|
|
1121
1302
|
_Logger.default.info('Registration restored successfully.', logContext);
|
|
1122
1303
|
}
|
|
1123
|
-
return
|
|
1304
|
+
return _context21.abrupt("return", finalError);
|
|
1124
1305
|
case 3:
|
|
1125
|
-
_this7.lineEmitter(
|
|
1126
|
-
|
|
1306
|
+
_this7.lineEmitter(_types4.LINE_EVENTS.UNREGISTERED);
|
|
1307
|
+
_context21.next = 5;
|
|
1127
1308
|
break;
|
|
1128
1309
|
case 4:
|
|
1129
|
-
_this7.lineEmitter(
|
|
1310
|
+
_this7.lineEmitter(_types4.LINE_EVENTS.UNREGISTERED);
|
|
1130
1311
|
case 5:
|
|
1131
|
-
return
|
|
1312
|
+
return _context21.abrupt("return", false);
|
|
1132
1313
|
case 6:
|
|
1133
1314
|
case "end":
|
|
1134
|
-
return
|
|
1315
|
+
return _context21.stop();
|
|
1135
1316
|
}
|
|
1136
|
-
},
|
|
1317
|
+
}, _callee21);
|
|
1137
1318
|
}));
|
|
1138
|
-
return function (
|
|
1319
|
+
return function (_x15, _x16) {
|
|
1139
1320
|
return _ref1.apply(this, arguments);
|
|
1140
1321
|
};
|
|
1141
1322
|
}();
|
|
@@ -1148,39 +1329,51 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1148
1329
|
}, {
|
|
1149
1330
|
key: "triggerRegistration",
|
|
1150
1331
|
value: (function () {
|
|
1151
|
-
var _triggerRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1152
|
-
var abort;
|
|
1153
|
-
return _regenerator.default.wrap(function (
|
|
1154
|
-
while (1) switch (
|
|
1332
|
+
var _triggerRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee22() {
|
|
1333
|
+
var loggerContext, abort;
|
|
1334
|
+
return _regenerator.default.wrap(function (_context22) {
|
|
1335
|
+
while (1) switch (_context22.prev = _context22.next) {
|
|
1155
1336
|
case 0:
|
|
1156
|
-
|
|
1337
|
+
loggerContext = {
|
|
1338
|
+
file: _constants2.REGISTRATION_FILE,
|
|
1339
|
+
method: _constants2.METHODS.TRIGGER_REGISTRATION
|
|
1340
|
+
};
|
|
1341
|
+
_Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
|
|
1342
|
+
_context22.next = 1;
|
|
1157
1343
|
return this.resumeFailover();
|
|
1158
1344
|
case 1:
|
|
1159
|
-
if (!
|
|
1160
|
-
|
|
1345
|
+
if (!_context22.sent) {
|
|
1346
|
+
_context22.next = 2;
|
|
1161
1347
|
break;
|
|
1162
1348
|
}
|
|
1163
|
-
|
|
1349
|
+
_Logger.default.info('Registration trigger handled by resumeFailover path', loggerContext);
|
|
1350
|
+
return _context22.abrupt("return");
|
|
1164
1351
|
case 2:
|
|
1165
1352
|
if (!(this.primaryMobiusUris.length > 0)) {
|
|
1166
|
-
|
|
1353
|
+
_context22.next = 5;
|
|
1167
1354
|
break;
|
|
1168
1355
|
}
|
|
1169
|
-
|
|
1356
|
+
_context22.next = 3;
|
|
1170
1357
|
return this.attemptRegistrationWithServers(_constants2.REGISTRATION_UTIL, this.primaryMobiusUris);
|
|
1171
1358
|
case 3:
|
|
1172
|
-
abort =
|
|
1359
|
+
abort = _context22.sent;
|
|
1173
1360
|
if (!(!this.isDeviceRegistered() && !abort)) {
|
|
1174
|
-
|
|
1361
|
+
_context22.next = 4;
|
|
1175
1362
|
break;
|
|
1176
1363
|
}
|
|
1177
|
-
|
|
1364
|
+
_context22.next = 4;
|
|
1178
1365
|
return this.startFailoverTimer();
|
|
1179
1366
|
case 4:
|
|
1367
|
+
_Logger.default.log("triggerRegistration completed - deviceRegistered: ".concat(this.isDeviceRegistered(), ", abort: ").concat(abort), loggerContext);
|
|
1368
|
+
_context22.next = 6;
|
|
1369
|
+
break;
|
|
1370
|
+
case 5:
|
|
1371
|
+
_Logger.default.warn('triggerRegistration skipped: no primary Mobius URIs available', loggerContext);
|
|
1372
|
+
case 6:
|
|
1180
1373
|
case "end":
|
|
1181
|
-
return
|
|
1374
|
+
return _context22.stop();
|
|
1182
1375
|
}
|
|
1183
|
-
},
|
|
1376
|
+
}, _callee22, this);
|
|
1184
1377
|
}));
|
|
1185
1378
|
function triggerRegistration() {
|
|
1186
1379
|
return _triggerRegistration.apply(this, arguments);
|
|
@@ -1199,160 +1392,199 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1199
1392
|
}, {
|
|
1200
1393
|
key: "attemptRegistrationWithServers",
|
|
1201
1394
|
value: (function () {
|
|
1202
|
-
var _attemptRegistrationWithServers = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1395
|
+
var _attemptRegistrationWithServers = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee23(caller) {
|
|
1203
1396
|
var _this8 = this;
|
|
1204
1397
|
var servers,
|
|
1398
|
+
loggerContext,
|
|
1205
1399
|
abort,
|
|
1400
|
+
connectedWebSocketUrl,
|
|
1206
1401
|
_iterator2,
|
|
1207
1402
|
_step2,
|
|
1208
1403
|
_loop,
|
|
1209
1404
|
_ret,
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
return _regenerator.default.wrap(function (
|
|
1213
|
-
while (1) switch (
|
|
1405
|
+
_args24 = arguments,
|
|
1406
|
+
_t6;
|
|
1407
|
+
return _regenerator.default.wrap(function (_context24) {
|
|
1408
|
+
while (1) switch (_context24.prev = _context24.next) {
|
|
1214
1409
|
case 0:
|
|
1215
|
-
servers =
|
|
1410
|
+
servers = _args24.length > 1 && _args24[1] !== undefined ? _args24[1] : this.primaryMobiusUris;
|
|
1411
|
+
loggerContext = {
|
|
1412
|
+
file: _constants2.REGISTRATION_FILE,
|
|
1413
|
+
method: _constants2.REGISTER_UTIL
|
|
1414
|
+
};
|
|
1216
1415
|
abort = false;
|
|
1217
1416
|
this.retryAfter = undefined;
|
|
1218
1417
|
if (!this.failoverImmediately) {
|
|
1219
|
-
|
|
1418
|
+
_context24.next = 1;
|
|
1220
1419
|
break;
|
|
1221
1420
|
}
|
|
1222
|
-
return
|
|
1421
|
+
return _context24.abrupt("return", abort);
|
|
1223
1422
|
case 1:
|
|
1224
1423
|
if (!this.isDeviceRegistered()) {
|
|
1225
|
-
|
|
1424
|
+
_context24.next = 2;
|
|
1226
1425
|
break;
|
|
1227
1426
|
}
|
|
1228
|
-
_Logger.default.info("[".concat(caller, "] : Device already registered with : ").concat(this.activeMobiusUrl),
|
|
1229
|
-
|
|
1230
|
-
method: _constants2.REGISTER_UTIL
|
|
1231
|
-
});
|
|
1232
|
-
return _context22.abrupt("return", abort);
|
|
1427
|
+
_Logger.default.info("[".concat(caller, "] : Device already registered with : ").concat(this.activeMobiusUrl), loggerContext);
|
|
1428
|
+
return _context24.abrupt("return", abort);
|
|
1233
1429
|
case 2:
|
|
1430
|
+
/*
|
|
1431
|
+
* Align the active transport with this server group. When the Mobius socket is enabled
|
|
1432
|
+
* but a group has no WSS URL, CallingClient hands us its HTTP URIs instead; routing those
|
|
1433
|
+
* over the socket would fail, so toggle the transport from the group's URL scheme. This
|
|
1434
|
+
* keeps every socket-gated path below (connect, teardown, makeRequest) consistent for the
|
|
1435
|
+
* group being registered, while primary and backup are resolved independently.
|
|
1436
|
+
*/
|
|
1437
|
+
if (servers.length) {
|
|
1438
|
+
this.apiRequest.setSocketEnabled(servers[0].startsWith('wss://'));
|
|
1439
|
+
}
|
|
1234
1440
|
_iterator2 = _createForOfIteratorHelper(servers);
|
|
1235
|
-
|
|
1441
|
+
_context24.prev = 3;
|
|
1236
1442
|
_loop = /*#__PURE__*/_regenerator.default.mark(function _loop() {
|
|
1237
|
-
var _this8$
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
while (1) switch (_context21.prev = _context21.next) {
|
|
1443
|
+
var url, serverType, _this8$deviceInfo$dev, _resp$headers, _resp$headers$trackin, _resp$headers2, _this8$deviceInfo$dev2, wssNormalizedUrl, resp, body, _yield$handleRegistra, finalError, shouldDisconnect, _t5;
|
|
1444
|
+
return _regenerator.default.wrap(function (_context23) {
|
|
1445
|
+
while (1) switch (_context23.prev = _context23.next) {
|
|
1241
1446
|
case 0:
|
|
1242
1447
|
url = _step2.value;
|
|
1243
|
-
serverType = _this8.
|
|
1244
|
-
|
|
1448
|
+
serverType = _this8.getServerType(url);
|
|
1449
|
+
_context23.prev = 1;
|
|
1245
1450
|
abort = false;
|
|
1246
|
-
_this8.registrationStatus =
|
|
1247
|
-
_this8.lineEmitter(
|
|
1248
|
-
_Logger.default.info("[".concat(caller, "] : Mobius url to contact: ").concat(url),
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1451
|
+
_this8.registrationStatus = _types3.RegistrationStatus.INACTIVE;
|
|
1452
|
+
_this8.lineEmitter(_types4.LINE_EVENTS.CONNECTING);
|
|
1453
|
+
_Logger.default.info("[".concat(caller, "] : Mobius url to contact: ").concat(url), loggerContext);
|
|
1454
|
+
if (!_this8.apiRequest.isSocketEnabled()) {
|
|
1455
|
+
_context23.next = 3;
|
|
1456
|
+
break;
|
|
1457
|
+
}
|
|
1458
|
+
wssNormalizedUrl = url.endsWith('/') ? url.slice(0, -1) : url;
|
|
1459
|
+
_Logger.default.info("[".concat(caller, "] : Connecting to Mobius WebSocket - serverType: ").concat(serverType, ", wssUrl: ").concat(wssNormalizedUrl), loggerContext);
|
|
1460
|
+
|
|
1252
1461
|
// eslint-disable-next-line no-await-in-loop
|
|
1253
|
-
|
|
1254
|
-
return _this8.
|
|
1462
|
+
_context23.next = 2;
|
|
1463
|
+
return _this8.apiRequest.connectToMobiusSocket(wssNormalizedUrl);
|
|
1255
1464
|
case 2:
|
|
1256
|
-
|
|
1465
|
+
connectedWebSocketUrl = _context23.sent;
|
|
1466
|
+
connectedWebSocketUrl = connectedWebSocketUrl ? "".concat(connectedWebSocketUrl, "/") : undefined;
|
|
1467
|
+
_Logger.default.log("[".concat(caller, "] : Mobius WebSocket connected - serverType: ").concat(serverType, ", connectedWebSocketUrl: ").concat(connectedWebSocketUrl), loggerContext);
|
|
1468
|
+
case 3:
|
|
1469
|
+
_context23.next = 4;
|
|
1470
|
+
return _this8.postRegistration(url);
|
|
1471
|
+
case 4:
|
|
1472
|
+
resp = _context23.sent;
|
|
1257
1473
|
_this8.clearFailoverState();
|
|
1258
1474
|
_this8.deviceInfo = resp.body;
|
|
1259
|
-
_this8.registrationStatus =
|
|
1260
|
-
_this8.setActiveMobiusUrl(url);
|
|
1261
|
-
_this8.lineEmitter(
|
|
1262
|
-
_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),
|
|
1263
|
-
file: _constants2.REGISTRATION_FILE,
|
|
1264
|
-
method: _constants2.METHODS.REGISTER
|
|
1265
|
-
});
|
|
1475
|
+
_this8.registrationStatus = _types3.RegistrationStatus.ACTIVE;
|
|
1476
|
+
_this8.setActiveMobiusUrl(connectedWebSocketUrl || url);
|
|
1477
|
+
_this8.lineEmitter(_types4.LINE_EVENTS.REGISTERED, resp.body);
|
|
1478
|
+
_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), loggerContext);
|
|
1266
1479
|
_this8.setIntervalValues(_this8.deviceInfo);
|
|
1267
1480
|
_this8.metricManager.setDeviceInfo(_this8.deviceInfo);
|
|
1268
1481
|
_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);
|
|
1269
1482
|
_this8.startKeepaliveTimer((_this8$deviceInfo$dev2 = _this8.deviceInfo.device) === null || _this8$deviceInfo$dev2 === void 0 ? void 0 : _this8$deviceInfo$dev2.uri, _this8.deviceInfo.keepaliveInterval, serverType);
|
|
1270
1483
|
_this8.initiateFailback();
|
|
1271
|
-
return
|
|
1272
|
-
case
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
body =
|
|
1276
|
-
|
|
1277
|
-
return (0, _common.handleRegistrationErrors)(body, function (clientError,
|
|
1484
|
+
return _context23.abrupt("return", 0);
|
|
1485
|
+
case 5:
|
|
1486
|
+
_context23.prev = 5;
|
|
1487
|
+
_t5 = _context23["catch"](1);
|
|
1488
|
+
body = _t5; // eslint-disable-next-line no-await-in-loop, @typescript-eslint/no-unused-vars
|
|
1489
|
+
_context23.next = 6;
|
|
1490
|
+
return (0, _common.handleRegistrationErrors)(body, function (clientError, isFinalError) {
|
|
1278
1491
|
var _body$headers$trackin, _body$headers;
|
|
1279
|
-
if (
|
|
1280
|
-
_this8.lineEmitter(
|
|
1492
|
+
if (isFinalError) {
|
|
1493
|
+
_this8.lineEmitter(_types4.LINE_EVENTS.ERROR, undefined, clientError);
|
|
1281
1494
|
} else {
|
|
1282
|
-
_this8.lineEmitter(
|
|
1495
|
+
_this8.lineEmitter(_types4.LINE_EVENTS.UNREGISTERED);
|
|
1283
1496
|
}
|
|
1284
1497
|
_this8.metricManager.submitRegistrationMetric(_types.METRIC_EVENT.REGISTRATION_ERROR, _types.REG_ACTION.REGISTER, _types.METRIC_TYPE.BEHAVIORAL, caller, serverType, (_body$headers$trackin = (_body$headers = body.headers) === null || _body$headers === void 0 ? void 0 : _body$headers.trackingid) !== null && _body$headers$trackin !== void 0 ? _body$headers$trackin : '', undefined, clientError);
|
|
1285
1498
|
}, {
|
|
1286
1499
|
method: caller,
|
|
1287
1500
|
file: _constants2.REGISTRATION_FILE
|
|
1288
|
-
},
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1501
|
+
}, {
|
|
1502
|
+
retry429Cb: function retry429Cb(retryAfter, retryCaller) {
|
|
1503
|
+
return _this8.handle429Retry(retryAfter, retryCaller);
|
|
1504
|
+
},
|
|
1505
|
+
restoreRegCb: _this8.restoreRegistrationCallBack()
|
|
1506
|
+
}, servers.length);
|
|
1507
|
+
case 6:
|
|
1508
|
+
_yield$handleRegistra = _context23.sent;
|
|
1509
|
+
finalError = _yield$handleRegistra.finalError;
|
|
1510
|
+
shouldDisconnect = _yield$handleRegistra.shouldDisconnect;
|
|
1511
|
+
abort = finalError;
|
|
1512
|
+
if (!(_this8.registrationStatus === _types3.RegistrationStatus.ACTIVE)) {
|
|
1513
|
+
_context23.next = 7;
|
|
1295
1514
|
break;
|
|
1296
1515
|
}
|
|
1297
|
-
_Logger.default.info("[".concat(caller, "] : Device is already restored, active mobius url: ").concat(_this8.activeMobiusUrl),
|
|
1298
|
-
|
|
1299
|
-
|
|
1516
|
+
_Logger.default.info("[".concat(caller, "] : Device is already restored, active mobius url: ").concat(_this8.activeMobiusUrl), loggerContext);
|
|
1517
|
+
return _context23.abrupt("return", 0);
|
|
1518
|
+
case 7:
|
|
1519
|
+
if (!(shouldDisconnect && _this8.apiRequest.isSocketEnabled())) {
|
|
1520
|
+
_context23.next = 9;
|
|
1521
|
+
break;
|
|
1522
|
+
}
|
|
1523
|
+
connectedWebSocketUrl = undefined;
|
|
1524
|
+
_Logger.default.info("[".concat(caller, "] : Tearing down Mobius WebSocket after registration error - serverType: ").concat(serverType), loggerContext);
|
|
1525
|
+
|
|
1526
|
+
// eslint-disable-next-line no-await-in-loop
|
|
1527
|
+
_context23.next = 8;
|
|
1528
|
+
return _this8.apiRequest.disconnectFromMobiusSocket({
|
|
1529
|
+
code: 3050,
|
|
1530
|
+
reason: 'done (permanent)'
|
|
1300
1531
|
});
|
|
1301
|
-
|
|
1302
|
-
|
|
1532
|
+
case 8:
|
|
1533
|
+
_Logger.default.log("[".concat(caller, "] : Mobius WebSocket disconnect complete after registration error - serverType: ").concat(serverType), loggerContext);
|
|
1534
|
+
case 9:
|
|
1303
1535
|
if (!abort) {
|
|
1304
|
-
|
|
1536
|
+
_context23.next = 11;
|
|
1305
1537
|
break;
|
|
1306
1538
|
}
|
|
1307
|
-
_this8.setStatus(
|
|
1539
|
+
_this8.setStatus(_types3.RegistrationStatus.INACTIVE);
|
|
1308
1540
|
// eslint-disable-next-line no-await-in-loop
|
|
1309
|
-
|
|
1541
|
+
_context23.next = 10;
|
|
1310
1542
|
return (0, _common.uploadLogs)();
|
|
1311
|
-
case
|
|
1312
|
-
return
|
|
1313
|
-
case
|
|
1543
|
+
case 10:
|
|
1544
|
+
return _context23.abrupt("return", 0);
|
|
1545
|
+
case 11:
|
|
1314
1546
|
case "end":
|
|
1315
|
-
return
|
|
1547
|
+
return _context23.stop();
|
|
1316
1548
|
}
|
|
1317
|
-
}, _loop, null, [[1,
|
|
1549
|
+
}, _loop, null, [[1, 5]]);
|
|
1318
1550
|
});
|
|
1319
1551
|
_iterator2.s();
|
|
1320
1552
|
case 4:
|
|
1321
1553
|
if ((_step2 = _iterator2.n()).done) {
|
|
1322
|
-
|
|
1554
|
+
_context24.next = 7;
|
|
1323
1555
|
break;
|
|
1324
1556
|
}
|
|
1325
|
-
return
|
|
1557
|
+
return _context24.delegateYield(_loop(), "t0", 5);
|
|
1326
1558
|
case 5:
|
|
1327
|
-
_ret =
|
|
1559
|
+
_ret = _context24.t0;
|
|
1328
1560
|
if (!(_ret === 0)) {
|
|
1329
|
-
|
|
1561
|
+
_context24.next = 6;
|
|
1330
1562
|
break;
|
|
1331
1563
|
}
|
|
1332
|
-
return
|
|
1564
|
+
return _context24.abrupt("continue", 7);
|
|
1333
1565
|
case 6:
|
|
1334
|
-
|
|
1566
|
+
_context24.next = 4;
|
|
1335
1567
|
break;
|
|
1336
1568
|
case 7:
|
|
1337
|
-
|
|
1569
|
+
_context24.next = 9;
|
|
1338
1570
|
break;
|
|
1339
1571
|
case 8:
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
_iterator2.e(
|
|
1572
|
+
_context24.prev = 8;
|
|
1573
|
+
_t6 = _context24["catch"](3);
|
|
1574
|
+
_iterator2.e(_t6);
|
|
1343
1575
|
case 9:
|
|
1344
|
-
|
|
1576
|
+
_context24.prev = 9;
|
|
1345
1577
|
_iterator2.f();
|
|
1346
|
-
return
|
|
1578
|
+
return _context24.finish(9);
|
|
1347
1579
|
case 10:
|
|
1348
|
-
return
|
|
1580
|
+
return _context24.abrupt("return", abort);
|
|
1349
1581
|
case 11:
|
|
1350
1582
|
case "end":
|
|
1351
|
-
return
|
|
1583
|
+
return _context24.stop();
|
|
1352
1584
|
}
|
|
1353
|
-
},
|
|
1585
|
+
}, _callee23, this, [[3, 8, 9, 10]]);
|
|
1354
1586
|
}));
|
|
1355
|
-
function attemptRegistrationWithServers(
|
|
1587
|
+
function attemptRegistrationWithServers(_x17) {
|
|
1356
1588
|
return _attemptRegistrationWithServers.apply(this, arguments);
|
|
1357
1589
|
}
|
|
1358
1590
|
return attemptRegistrationWithServers;
|
|
@@ -1365,132 +1597,168 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1365
1597
|
}, {
|
|
1366
1598
|
key: "startKeepaliveTimer",
|
|
1367
1599
|
value: (function () {
|
|
1368
|
-
var _startKeepaliveTimer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1600
|
+
var _startKeepaliveTimer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee26(url, interval, serverType) {
|
|
1369
1601
|
var _this9 = this;
|
|
1370
1602
|
var RETRY_COUNT_THRESHOLD;
|
|
1371
|
-
return _regenerator.default.wrap(function (
|
|
1372
|
-
while (1) switch (
|
|
1603
|
+
return _regenerator.default.wrap(function (_context27) {
|
|
1604
|
+
while (1) switch (_context27.prev = _context27.next) {
|
|
1373
1605
|
case 0:
|
|
1374
1606
|
this.clearKeepaliveTimer();
|
|
1375
1607
|
RETRY_COUNT_THRESHOLD = this.isCCFlow ? 4 : 5;
|
|
1376
|
-
|
|
1377
|
-
return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1378
|
-
var
|
|
1379
|
-
return _regenerator.default.wrap(function (
|
|
1380
|
-
while (1) switch (
|
|
1608
|
+
_context27.next = 1;
|
|
1609
|
+
return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee25() {
|
|
1610
|
+
var blob, blobUrl;
|
|
1611
|
+
return _regenerator.default.wrap(function (_context26) {
|
|
1612
|
+
while (1) switch (_context26.prev = _context26.next) {
|
|
1381
1613
|
case 0:
|
|
1382
|
-
if (
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
if (!(event.data.type === _types2.WorkerMessageType.KEEPALIVE_FAILURE)) {
|
|
1420
|
-
_context23.next = 7;
|
|
1614
|
+
if (_this9.isDeviceRegistered()) {
|
|
1615
|
+
if (!_this9.webWorker) {
|
|
1616
|
+
blob = new Blob([_webWorkerStr.default], {
|
|
1617
|
+
type: 'application/javascript'
|
|
1618
|
+
});
|
|
1619
|
+
blobUrl = URL.createObjectURL(blob);
|
|
1620
|
+
_this9.webWorker = new Worker(blobUrl);
|
|
1621
|
+
URL.revokeObjectURL(blobUrl);
|
|
1622
|
+
_this9.webWorker.postMessage({
|
|
1623
|
+
type: _types3.WorkerMessageType.START_KEEPALIVE,
|
|
1624
|
+
interval: interval,
|
|
1625
|
+
retryCountThreshold: RETRY_COUNT_THRESHOLD
|
|
1626
|
+
});
|
|
1627
|
+
_this9.webWorker.onmessage = /*#__PURE__*/function () {
|
|
1628
|
+
var _ref11 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee24(event) {
|
|
1629
|
+
var logContext, _this9$webWorker, res, _err$headers, _this9$webWorker2, error, _error, _yield$handleRegistra2, abort, handledByCallback, _t7;
|
|
1630
|
+
return _regenerator.default.wrap(function (_context25) {
|
|
1631
|
+
while (1) switch (_context25.prev = _context25.next) {
|
|
1632
|
+
case 0:
|
|
1633
|
+
logContext = {
|
|
1634
|
+
file: _constants2.REGISTRATION_FILE,
|
|
1635
|
+
method: _constants2.KEEPALIVE_UTIL
|
|
1636
|
+
};
|
|
1637
|
+
if (!(event.data.type === _types3.WorkerMessageType.SEND_KEEPALIVE)) {
|
|
1638
|
+
_context25.next = 4;
|
|
1639
|
+
break;
|
|
1640
|
+
}
|
|
1641
|
+
_context25.prev = 1;
|
|
1642
|
+
_context25.next = 2;
|
|
1643
|
+
return _this9.postKeepAlive(String(_this9.webex.internal.device.url), url);
|
|
1644
|
+
case 2:
|
|
1645
|
+
res = _context25.sent;
|
|
1646
|
+
(_this9$webWorker = _this9.webWorker) === null || _this9$webWorker === void 0 ? void 0 : _this9$webWorker.postMessage({
|
|
1647
|
+
type: _types3.WorkerMessageType.KEEPALIVE_RESULT,
|
|
1648
|
+
statusCode: res.statusCode
|
|
1649
|
+
});
|
|
1650
|
+
_context25.next = 4;
|
|
1421
1651
|
break;
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1652
|
+
case 3:
|
|
1653
|
+
_context25.prev = 3;
|
|
1654
|
+
_t7 = _context25["catch"](1);
|
|
1655
|
+
error = {
|
|
1656
|
+
headers: {
|
|
1657
|
+
trackingid: (_err$headers = _t7.headers) === null || _err$headers === void 0 ? void 0 : _err$headers.trackingid,
|
|
1658
|
+
'retry-after': _t7.headers['retry-after']
|
|
1659
|
+
},
|
|
1660
|
+
statusCode: _t7.statusCode,
|
|
1661
|
+
statusText: _t7.statusText,
|
|
1662
|
+
type: _t7.type
|
|
1663
|
+
};
|
|
1664
|
+
(_this9$webWorker2 = _this9.webWorker) === null || _this9$webWorker2 === void 0 ? void 0 : _this9$webWorker2.postMessage({
|
|
1665
|
+
type: _types3.WorkerMessageType.KEEPALIVE_RESULT,
|
|
1666
|
+
err: error
|
|
1667
|
+
});
|
|
1668
|
+
case 4:
|
|
1669
|
+
if (event.data.type === _types3.WorkerMessageType.KEEPALIVE_SUCCESS) {
|
|
1670
|
+
_Logger.default.info("Sent Keepalive, status: ".concat(event.data.statusCode), logContext);
|
|
1671
|
+
_this9.lineEmitter(_types4.LINE_EVENTS.RECONNECTED);
|
|
1430
1672
|
}
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1673
|
+
if (!(event.data.type === _types3.WorkerMessageType.KEEPALIVE_FAILURE)) {
|
|
1674
|
+
_context25.next = 12;
|
|
1675
|
+
break;
|
|
1676
|
+
}
|
|
1677
|
+
_error = event.data.err;
|
|
1678
|
+
_Logger.default.warn("Keep-alive missed ".concat(event.data.keepAliveRetryCount, " times. Status -> ").concat(_error.statusCode, " "), logContext);
|
|
1679
|
+
_context25.next = 5;
|
|
1680
|
+
return (0, _common.handleRegistrationErrors)(_error, function (clientError, finalError) {
|
|
1681
|
+
var _error$headers$tracki2, _error$headers2;
|
|
1682
|
+
if (finalError) {
|
|
1683
|
+
_this9.lineEmitter(_types4.LINE_EVENTS.ERROR, undefined, clientError);
|
|
1684
|
+
}
|
|
1685
|
+
_this9.metricManager.submitRegistrationMetric(_types.METRIC_EVENT.KEEPALIVE_ERROR, _types.REG_ACTION.KEEPALIVE_FAILURE, _types.METRIC_TYPE.BEHAVIORAL, _constants2.KEEPALIVE_UTIL, serverType, (_error$headers$tracki2 = (_error$headers2 = _error.headers) === null || _error$headers2 === void 0 ? void 0 : _error$headers2.trackingid) !== null && _error$headers$tracki2 !== void 0 ? _error$headers$tracki2 : '', event.data.keepAliveRetryCount, clientError);
|
|
1686
|
+
}, {
|
|
1687
|
+
method: _constants2.KEEPALIVE_UTIL,
|
|
1688
|
+
file: _constants2.REGISTRATION_FILE
|
|
1689
|
+
}, {
|
|
1690
|
+
retry429Cb: function retry429Cb(retryAfter, retryCaller) {
|
|
1691
|
+
return _this9.handle429Retry(retryAfter, retryCaller);
|
|
1692
|
+
},
|
|
1693
|
+
sessionSupersededCb: function sessionSupersededCb(clientError) {
|
|
1694
|
+
return _this9.handle409KeepaliveFailure(clientError, _error, serverType, event.data.keepAliveRetryCount);
|
|
1695
|
+
}
|
|
1696
|
+
});
|
|
1697
|
+
case 5:
|
|
1698
|
+
_yield$handleRegistra2 = _context25.sent;
|
|
1699
|
+
abort = _yield$handleRegistra2.finalError;
|
|
1700
|
+
handledByCallback = _yield$handleRegistra2.handledByCallback;
|
|
1701
|
+
if (!handledByCallback) {
|
|
1702
|
+
_context25.next = 6;
|
|
1703
|
+
break;
|
|
1704
|
+
}
|
|
1705
|
+
return _context25.abrupt("return");
|
|
1706
|
+
case 6:
|
|
1707
|
+
if (!(abort || event.data.keepAliveRetryCount >= RETRY_COUNT_THRESHOLD)) {
|
|
1708
|
+
_context25.next = 11;
|
|
1709
|
+
break;
|
|
1710
|
+
}
|
|
1711
|
+
_this9.failoverImmediately = _this9.isCCFlow;
|
|
1712
|
+
_this9.setStatus(_types3.RegistrationStatus.INACTIVE);
|
|
1713
|
+
_this9.clearKeepaliveTimer();
|
|
1714
|
+
_this9.clearFailbackTimer();
|
|
1715
|
+
_this9.lineEmitter(_types4.LINE_EVENTS.UNREGISTERED);
|
|
1716
|
+
_context25.next = 7;
|
|
1717
|
+
return (0, _common.uploadLogs)();
|
|
1718
|
+
case 7:
|
|
1719
|
+
if (abort) {
|
|
1720
|
+
_context25.next = 9;
|
|
1721
|
+
break;
|
|
1722
|
+
}
|
|
1723
|
+
_context25.next = 8;
|
|
1724
|
+
return _this9.reconnectOnFailure(_constants2.RECONNECT_ON_FAILURE_UTIL);
|
|
1725
|
+
case 8:
|
|
1726
|
+
_context25.next = 10;
|
|
1442
1727
|
break;
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
_context23.next = 2;
|
|
1450
|
-
return (0, _common.uploadLogs)();
|
|
1451
|
-
case 2:
|
|
1452
|
-
if (abort) {
|
|
1453
|
-
_context23.next = 4;
|
|
1728
|
+
case 9:
|
|
1729
|
+
if (_error.statusCode === 404) {
|
|
1730
|
+
_this9.handle404KeepaliveFailure(_constants2.KEEPALIVE_UTIL);
|
|
1731
|
+
}
|
|
1732
|
+
case 10:
|
|
1733
|
+
_context25.next = 12;
|
|
1454
1734
|
break;
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
case 6:
|
|
1469
|
-
_this9.lineEmitter(_types3.LINE_EVENTS.RECONNECTING);
|
|
1470
|
-
case 7:
|
|
1471
|
-
case "end":
|
|
1472
|
-
return _context23.stop();
|
|
1473
|
-
}
|
|
1474
|
-
}, _callee22);
|
|
1475
|
-
}));
|
|
1476
|
-
return function (_x15) {
|
|
1477
|
-
return _ref11.apply(this, arguments);
|
|
1478
|
-
};
|
|
1479
|
-
}();
|
|
1735
|
+
case 11:
|
|
1736
|
+
_this9.lineEmitter(_types4.LINE_EVENTS.RECONNECTING);
|
|
1737
|
+
case 12:
|
|
1738
|
+
case "end":
|
|
1739
|
+
return _context25.stop();
|
|
1740
|
+
}
|
|
1741
|
+
}, _callee24, null, [[1, 3]]);
|
|
1742
|
+
}));
|
|
1743
|
+
return function (_x21) {
|
|
1744
|
+
return _ref11.apply(this, arguments);
|
|
1745
|
+
};
|
|
1746
|
+
}();
|
|
1747
|
+
}
|
|
1480
1748
|
}
|
|
1481
|
-
case
|
|
1749
|
+
case 1:
|
|
1482
1750
|
case "end":
|
|
1483
|
-
return
|
|
1751
|
+
return _context26.stop();
|
|
1484
1752
|
}
|
|
1485
|
-
},
|
|
1753
|
+
}, _callee25);
|
|
1486
1754
|
})));
|
|
1487
1755
|
case 1:
|
|
1488
1756
|
case "end":
|
|
1489
|
-
return
|
|
1757
|
+
return _context27.stop();
|
|
1490
1758
|
}
|
|
1491
|
-
},
|
|
1759
|
+
}, _callee26, this);
|
|
1492
1760
|
}));
|
|
1493
|
-
function startKeepaliveTimer(
|
|
1761
|
+
function startKeepaliveTimer(_x18, _x19, _x20) {
|
|
1494
1762
|
return _startKeepaliveTimer.apply(this, arguments);
|
|
1495
1763
|
}
|
|
1496
1764
|
return startKeepaliveTimer;
|
|
@@ -1504,7 +1772,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1504
1772
|
value: function clearKeepaliveTimer() {
|
|
1505
1773
|
if (this.webWorker) {
|
|
1506
1774
|
this.webWorker.postMessage({
|
|
1507
|
-
type:
|
|
1775
|
+
type: _types3.WorkerMessageType.CLEAR_KEEPALIVE
|
|
1508
1776
|
});
|
|
1509
1777
|
this.webWorker.terminate();
|
|
1510
1778
|
this.webWorker = undefined;
|
|
@@ -1518,37 +1786,54 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1518
1786
|
}, {
|
|
1519
1787
|
key: "deregister",
|
|
1520
1788
|
value: function () {
|
|
1521
|
-
var _deregister = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1522
|
-
var
|
|
1523
|
-
|
|
1524
|
-
|
|
1789
|
+
var _deregister = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee27() {
|
|
1790
|
+
var closeMobiusWss,
|
|
1791
|
+
loggerContext,
|
|
1792
|
+
_this$deviceInfo$devi2,
|
|
1793
|
+
_this$deviceInfo$devi3,
|
|
1794
|
+
_args28 = arguments,
|
|
1795
|
+
_t8;
|
|
1796
|
+
return _regenerator.default.wrap(function (_context28) {
|
|
1797
|
+
while (1) switch (_context28.prev = _context28.next) {
|
|
1525
1798
|
case 0:
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
return this.deleteRegistration(this.activeMobiusUrl, (_this$deviceInfo$devi = this.deviceInfo.device) === null || _this$deviceInfo$devi === void 0 ? void 0 : _this$deviceInfo$devi.deviceId, (_this$deviceInfo$devi2 = this.deviceInfo.device) === null || _this$deviceInfo$devi2 === void 0 ? void 0 : _this$deviceInfo$devi2.clientDeviceUri);
|
|
1529
|
-
case 1:
|
|
1530
|
-
_Logger.default.log('Registration successfully deregistered', {
|
|
1799
|
+
closeMobiusWss = _args28.length > 0 && _args28[0] !== undefined ? _args28[0] : false;
|
|
1800
|
+
loggerContext = {
|
|
1531
1801
|
file: _constants2.REGISTRATION_FILE,
|
|
1532
1802
|
method: _constants2.METHODS.DEREGISTER
|
|
1533
|
-
}
|
|
1534
|
-
|
|
1535
|
-
|
|
1803
|
+
};
|
|
1804
|
+
_Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
|
|
1805
|
+
_context28.prev = 1;
|
|
1806
|
+
_context28.next = 2;
|
|
1807
|
+
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);
|
|
1536
1808
|
case 2:
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
file: _constants2.REGISTRATION_FILE,
|
|
1541
|
-
method: _constants2.METHODS.DEREGISTER
|
|
1542
|
-
});
|
|
1809
|
+
_Logger.default.log('Registration successfully deregistered', loggerContext);
|
|
1810
|
+
_context28.next = 4;
|
|
1811
|
+
break;
|
|
1543
1812
|
case 3:
|
|
1813
|
+
_context28.prev = 3;
|
|
1814
|
+
_t8 = _context28["catch"](1);
|
|
1815
|
+
_Logger.default.warn("Delete failed with Mobius: ".concat((0, _stringify.default)(_t8)), loggerContext);
|
|
1816
|
+
case 4:
|
|
1817
|
+
if (!closeMobiusWss) {
|
|
1818
|
+
_context28.next = 6;
|
|
1819
|
+
break;
|
|
1820
|
+
}
|
|
1821
|
+
_context28.next = 5;
|
|
1822
|
+
return this.apiRequest.disconnectFromMobiusSocket({
|
|
1823
|
+
code: 3050,
|
|
1824
|
+
reason: 'done (permanent)'
|
|
1825
|
+
});
|
|
1826
|
+
case 5:
|
|
1827
|
+
_Logger.default.log('Mobius socket disconnect complete after deregistration', loggerContext);
|
|
1828
|
+
case 6:
|
|
1544
1829
|
this.clearKeepaliveTimer();
|
|
1545
|
-
this.setStatus(
|
|
1830
|
+
this.setStatus(_types3.RegistrationStatus.INACTIVE);
|
|
1546
1831
|
this.clearFailoverState();
|
|
1547
|
-
case
|
|
1832
|
+
case 7:
|
|
1548
1833
|
case "end":
|
|
1549
|
-
return
|
|
1834
|
+
return _context28.stop();
|
|
1550
1835
|
}
|
|
1551
|
-
},
|
|
1836
|
+
}, _callee27, this, [[1, 3]]);
|
|
1552
1837
|
}));
|
|
1553
1838
|
function deregister() {
|
|
1554
1839
|
return _deregister.apply(this, arguments);
|
|
@@ -1593,8 +1878,12 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1593
1878
|
};
|
|
1594
1879
|
var stringToReplace = "".concat(_constants2.DEVICES_ENDPOINT_RESOURCE, "/").concat(restoreData.devices[0].deviceId);
|
|
1595
1880
|
var uri = restoreData.devices[0].uri.replace(stringToReplace, '');
|
|
1881
|
+
if (this.apiRequest.isSocketEnabled()) {
|
|
1882
|
+
uri = uri.replace('https://', 'wss://');
|
|
1883
|
+
uri = !uri.endsWith('/') ? "".concat(uri, "/") : uri;
|
|
1884
|
+
}
|
|
1596
1885
|
this.setActiveMobiusUrl(uri);
|
|
1597
|
-
this.registrationStatus =
|
|
1886
|
+
this.registrationStatus = _types3.RegistrationStatus.ACTIVE;
|
|
1598
1887
|
return true;
|
|
1599
1888
|
}
|
|
1600
1889
|
return false;
|
|
@@ -1612,10 +1901,10 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1612
1901
|
}, {
|
|
1613
1902
|
key: "reconnectOnFailure",
|
|
1614
1903
|
value: (function () {
|
|
1615
|
-
var _reconnectOnFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1904
|
+
var _reconnectOnFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee28(caller) {
|
|
1616
1905
|
var abort;
|
|
1617
|
-
return _regenerator.default.wrap(function (
|
|
1618
|
-
while (1) switch (
|
|
1906
|
+
return _regenerator.default.wrap(function (_context29) {
|
|
1907
|
+
while (1) switch (_context29.prev = _context29.next) {
|
|
1619
1908
|
case 0:
|
|
1620
1909
|
_Logger.default.info(_constants.METHOD_START_MESSAGE, {
|
|
1621
1910
|
method: _constants2.METHODS.RECONNECT_ON_FAILURE,
|
|
@@ -1623,25 +1912,25 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1623
1912
|
});
|
|
1624
1913
|
this.reconnectPending = false;
|
|
1625
1914
|
if (this.isDeviceRegistered()) {
|
|
1626
|
-
|
|
1915
|
+
_context29.next = 4;
|
|
1627
1916
|
break;
|
|
1628
1917
|
}
|
|
1629
1918
|
if (!((0, _keys.default)(this.callManager.getActiveCalls()).length === 0)) {
|
|
1630
|
-
|
|
1919
|
+
_context29.next = 3;
|
|
1631
1920
|
break;
|
|
1632
1921
|
}
|
|
1633
|
-
|
|
1922
|
+
_context29.next = 1;
|
|
1634
1923
|
return this.restorePreviousRegistration(caller);
|
|
1635
1924
|
case 1:
|
|
1636
|
-
abort =
|
|
1925
|
+
abort = _context29.sent;
|
|
1637
1926
|
if (!(!abort && !this.isDeviceRegistered())) {
|
|
1638
|
-
|
|
1927
|
+
_context29.next = 2;
|
|
1639
1928
|
break;
|
|
1640
1929
|
}
|
|
1641
|
-
|
|
1930
|
+
_context29.next = 2;
|
|
1642
1931
|
return this.restartRegistration(caller);
|
|
1643
1932
|
case 2:
|
|
1644
|
-
|
|
1933
|
+
_context29.next = 4;
|
|
1645
1934
|
break;
|
|
1646
1935
|
case 3:
|
|
1647
1936
|
this.reconnectPending = true;
|
|
@@ -1651,14 +1940,134 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1651
1940
|
});
|
|
1652
1941
|
case 4:
|
|
1653
1942
|
case "end":
|
|
1654
|
-
return
|
|
1943
|
+
return _context29.stop();
|
|
1655
1944
|
}
|
|
1656
|
-
},
|
|
1945
|
+
}, _callee28, this);
|
|
1657
1946
|
}));
|
|
1658
|
-
function reconnectOnFailure(
|
|
1947
|
+
function reconnectOnFailure(_x22) {
|
|
1659
1948
|
return _reconnectOnFailure.apply(this, arguments);
|
|
1660
1949
|
}
|
|
1661
1950
|
return reconnectOnFailure;
|
|
1951
|
+
}()
|
|
1952
|
+
/**
|
|
1953
|
+
* Handles an async REGISTRATION_DOWN event emitted by Mobius. Ends the first
|
|
1954
|
+
* active call (if any) and runs registration-side cleanup.
|
|
1955
|
+
*
|
|
1956
|
+
* @param event - The Mobius async event payload (trackingId/eventId used for logs).
|
|
1957
|
+
*/
|
|
1958
|
+
)
|
|
1959
|
+
}, {
|
|
1960
|
+
key: "handleRegistrationDownEvent",
|
|
1961
|
+
value: (function () {
|
|
1962
|
+
var _handleRegistrationDownEvent = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee29(event) {
|
|
1963
|
+
var _event$trackingId, _event$eventId;
|
|
1964
|
+
var loggerContext, _Object$values, _Object$values2, activeCall;
|
|
1965
|
+
return _regenerator.default.wrap(function (_context30) {
|
|
1966
|
+
while (1) switch (_context30.prev = _context30.next) {
|
|
1967
|
+
case 0:
|
|
1968
|
+
loggerContext = {
|
|
1969
|
+
file: _constants2.REGISTRATION_FILE,
|
|
1970
|
+
method: _constants2.METHODS.HANDLE_REGISTRATION_DOWN_EVENT
|
|
1971
|
+
};
|
|
1972
|
+
_Logger.default.info("Registration down received - trackingId: ".concat((_event$trackingId = event === null || event === void 0 ? void 0 : event.trackingId) !== null && _event$trackingId !== void 0 ? _event$trackingId : 'unknown', ", eventId: ").concat((_event$eventId = event === null || event === void 0 ? void 0 : event.eventId) !== null && _event$eventId !== void 0 ? _event$eventId : 'unknown'), loggerContext);
|
|
1973
|
+
_Object$values = (0, _values.default)(this.callManager.getActiveCalls()), _Object$values2 = (0, _slicedToArray2.default)(_Object$values, 1), activeCall = _Object$values2[0];
|
|
1974
|
+
activeCall === null || activeCall === void 0 ? void 0 : activeCall.end();
|
|
1975
|
+
_context30.next = 1;
|
|
1976
|
+
return this.registrationCleanup(_constants2.METHODS.HANDLE_REGISTRATION_DOWN_EVENT, {
|
|
1977
|
+
reason: _types2.HARD_STOP_REASON.REGISTRATION_DOWN
|
|
1978
|
+
});
|
|
1979
|
+
case 1:
|
|
1980
|
+
case "end":
|
|
1981
|
+
return _context30.stop();
|
|
1982
|
+
}
|
|
1983
|
+
}, _callee29, this);
|
|
1984
|
+
}));
|
|
1985
|
+
function handleRegistrationDownEvent(_x23) {
|
|
1986
|
+
return _handleRegistrationDownEvent.apply(this, arguments);
|
|
1987
|
+
}
|
|
1988
|
+
return handleRegistrationDownEvent;
|
|
1989
|
+
}()
|
|
1990
|
+
/**
|
|
1991
|
+
* Cleans up registration-side state for a hard stop, i.e. a registration that is gone
|
|
1992
|
+
* and must not be re-established by the SDK (Mobius registration-down event, or a
|
|
1993
|
+
* session superseded by another registration for the same user).
|
|
1994
|
+
*
|
|
1995
|
+
* Stops timers, resets transient flags, clears failover cache, sets status to
|
|
1996
|
+
* INACTIVE, tears down the Mobius WebSocket (when enabled), and finally emits
|
|
1997
|
+
* `LINE_EVENTS.UNREGISTERED` so the SDK consumer is notified. A superseded session
|
|
1998
|
+
* carries its `LineError` on that event as the reason the line will stay unregistered.
|
|
1999
|
+
*
|
|
2000
|
+
* Runs under the shared mutex to avoid racing with other registration flows.
|
|
2001
|
+
*
|
|
2002
|
+
* @param caller - Identifier of the caller, used for logs.
|
|
2003
|
+
* @param hardStop - Why the registration is being torn down as {@link HardStop}.
|
|
2004
|
+
*/
|
|
2005
|
+
)
|
|
2006
|
+
}, {
|
|
2007
|
+
key: "registrationCleanup",
|
|
2008
|
+
value: (function () {
|
|
2009
|
+
var _registrationCleanup = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee31(caller, hardStop) {
|
|
2010
|
+
var _this0 = this;
|
|
2011
|
+
var loggerContext;
|
|
2012
|
+
return _regenerator.default.wrap(function (_context32) {
|
|
2013
|
+
while (1) switch (_context32.prev = _context32.next) {
|
|
2014
|
+
case 0:
|
|
2015
|
+
loggerContext = {
|
|
2016
|
+
file: _constants2.REGISTRATION_FILE,
|
|
2017
|
+
method: caller
|
|
2018
|
+
};
|
|
2019
|
+
_Logger.default.info("[".concat(caller, "] : Running ").concat(hardStop.reason, " cleanup"), loggerContext);
|
|
2020
|
+
_context32.next = 1;
|
|
2021
|
+
return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee30() {
|
|
2022
|
+
var _t9;
|
|
2023
|
+
return _regenerator.default.wrap(function (_context31) {
|
|
2024
|
+
while (1) switch (_context31.prev = _context31.next) {
|
|
2025
|
+
case 0:
|
|
2026
|
+
_this0.clearFailbackTimer();
|
|
2027
|
+
_this0.clearKeepaliveTimer();
|
|
2028
|
+
_this0.reconnectPending = false;
|
|
2029
|
+
_this0.scheduled429Retry = false;
|
|
2030
|
+
_this0.failoverImmediately = false;
|
|
2031
|
+
_this0.retryAfter = undefined;
|
|
2032
|
+
_this0.registerRetry = false;
|
|
2033
|
+
_this0.clearFailoverState();
|
|
2034
|
+
_this0.setStatus(_types3.RegistrationStatus.INACTIVE);
|
|
2035
|
+
if (!_this0.apiRequest.isSocketEnabled()) {
|
|
2036
|
+
_context31.next = 4;
|
|
2037
|
+
break;
|
|
2038
|
+
}
|
|
2039
|
+
_context31.prev = 1;
|
|
2040
|
+
_context31.next = 2;
|
|
2041
|
+
return _this0.apiRequest.disconnectFromMobiusSocket({
|
|
2042
|
+
code: 3050,
|
|
2043
|
+
reason: 'done (permanent)'
|
|
2044
|
+
});
|
|
2045
|
+
case 2:
|
|
2046
|
+
_Logger.default.log("Mobius socket disconnect complete after ".concat(hardStop.reason), loggerContext);
|
|
2047
|
+
_context31.next = 4;
|
|
2048
|
+
break;
|
|
2049
|
+
case 3:
|
|
2050
|
+
_context31.prev = 3;
|
|
2051
|
+
_t9 = _context31["catch"](1);
|
|
2052
|
+
_Logger.default.warn("Mobius socket disconnect failed after ".concat(hardStop.reason, ": ").concat(String(_t9)), loggerContext);
|
|
2053
|
+
case 4:
|
|
2054
|
+
_this0.lineEmitter(_types4.LINE_EVENTS.UNREGISTERED, undefined, hardStop.error);
|
|
2055
|
+
case 5:
|
|
2056
|
+
case "end":
|
|
2057
|
+
return _context31.stop();
|
|
2058
|
+
}
|
|
2059
|
+
}, _callee30, null, [[1, 3]]);
|
|
2060
|
+
})));
|
|
2061
|
+
case 1:
|
|
2062
|
+
case "end":
|
|
2063
|
+
return _context32.stop();
|
|
2064
|
+
}
|
|
2065
|
+
}, _callee31, this);
|
|
2066
|
+
}));
|
|
2067
|
+
function registrationCleanup(_x24, _x25) {
|
|
2068
|
+
return _registrationCleanup.apply(this, arguments);
|
|
2069
|
+
}
|
|
2070
|
+
return registrationCleanup;
|
|
1662
2071
|
}())
|
|
1663
2072
|
}]);
|
|
1664
2073
|
}();
|