@webex/calling 3.12.0-next.6 → 3.12.0-next.61
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/CallRecording/CallRecording.js +158 -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 +576 -0
- package/dist/CallRecording/WxcCallRecordingConnector.js.map +1 -0
- package/dist/CallRecording/WxcCallRecordingConnector.test.js +651 -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 +49 -0
- package/dist/CallRecording/constants.js.map +1 -0
- package/dist/CallRecording/types.js +136 -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 +454 -224
- package/dist/CallingClient/CallingClient.js.map +1 -1
- package/dist/CallingClient/CallingClient.test.js +513 -154
- package/dist/CallingClient/CallingClient.test.js.map +1 -1
- package/dist/CallingClient/calling/call.js +589 -445
- package/dist/CallingClient/calling/call.js.map +1 -1
- package/dist/CallingClient/calling/call.test.js +695 -445
- package/dist/CallingClient/calling/call.test.js.map +1 -1
- package/dist/CallingClient/calling/callManager.js +81 -31
- package/dist/CallingClient/calling/callManager.js.map +1 -1
- package/dist/CallingClient/calling/callManager.test.js +123 -0
- package/dist/CallingClient/calling/callManager.test.js.map +1 -1
- package/dist/CallingClient/calling/types.js +2 -0
- package/dist/CallingClient/calling/types.js.map +1 -1
- package/dist/CallingClient/constants.js +28 -3
- package/dist/CallingClient/constants.js.map +1 -1
- package/dist/CallingClient/line/index.js +4 -1
- package/dist/CallingClient/line/index.js.map +1 -1
- package/dist/CallingClient/line/line.test.js +16 -1
- package/dist/CallingClient/line/line.test.js.map +1 -1
- package/dist/CallingClient/registration/register.js +724 -407
- package/dist/CallingClient/registration/register.js.map +1 -1
- package/dist/CallingClient/registration/register.test.js +380 -58
- package/dist/CallingClient/registration/register.test.js.map +1 -1
- 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.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/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 +156 -51
- package/dist/common/Utils.js.map +1 -1
- package/dist/common/Utils.test.js +79 -0
- 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 +165 -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/CallRecording/CallRecording.js +56 -0
- package/dist/module/CallRecording/WxcCallRecordingConnector.js +264 -0
- package/dist/module/CallRecording/callRecordingFixtures.js +201 -0
- package/dist/module/CallRecording/constants.js +27 -0
- package/dist/module/CallRecording/types.js +19 -0
- package/dist/module/CallRecording/utils.js +14 -0
- package/dist/module/CallingClient/CallingClient.js +126 -10
- package/dist/module/CallingClient/calling/call.js +177 -61
- package/dist/module/CallingClient/calling/callManager.js +39 -7
- package/dist/module/CallingClient/calling/types.js +2 -0
- package/dist/module/CallingClient/constants.js +24 -0
- package/dist/module/CallingClient/line/index.js +2 -2
- package/dist/module/CallingClient/registration/register.js +239 -63
- 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/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 +60 -17
- 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/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 +28 -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 +8 -0
- package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/call.d.ts +12 -0
- package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/callManager.d.ts +4 -2
- package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/types.d.ts +34 -9
- package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
- package/dist/types/CallingClient/constants.d.ts +24 -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 +7 -1
- package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/types.d.ts +4 -2
- 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 +1 -0
- 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/Events/types.d.ts +79 -15
- 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 +11 -3
- 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 +5 -1
- package/dist/types/common/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +8 -3
- 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 +20 -5
- package/src/mobius-socket/socket/socket.shim.ts +22 -0
- package/src/mobius-socket/socket/socket.ts +14 -0
|
@@ -19,12 +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"));
|
|
22
23
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/slicedToArray"));
|
|
23
24
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
24
25
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
25
26
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
26
27
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
27
|
-
var _uuid = require("uuid");
|
|
28
28
|
var _constants = require("../../common/constants");
|
|
29
29
|
var _common = require("../../common");
|
|
30
30
|
var _webWorkerStr = _interopRequireDefault(require("./webWorkerStr"));
|
|
@@ -36,6 +36,7 @@ var _SDKConnector = _interopRequireDefault(require("../../SDKConnector"));
|
|
|
36
36
|
var _types2 = require("../../common/types");
|
|
37
37
|
var _constants2 = require("../constants");
|
|
38
38
|
var _types3 = require("../line/types");
|
|
39
|
+
var _request = require("../utils/request");
|
|
39
40
|
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; } } }; }
|
|
40
41
|
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; } }
|
|
41
42
|
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; }
|
|
@@ -74,6 +75,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
74
75
|
(0, _defineProperty2.default)(this, "retryAfter", void 0);
|
|
75
76
|
(0, _defineProperty2.default)(this, "scheduled429Retry", false);
|
|
76
77
|
(0, _defineProperty2.default)(this, "webWorker", void 0);
|
|
78
|
+
(0, _defineProperty2.default)(this, "apiRequest", void 0);
|
|
77
79
|
this.jwe = jwe;
|
|
78
80
|
this.sdkConnector = _SDKConnector.default;
|
|
79
81
|
this.serviceData = serviceData;
|
|
@@ -94,8 +96,17 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
94
96
|
this.lineEmitter = lineEmitter;
|
|
95
97
|
this.primaryMobiusUris = [];
|
|
96
98
|
this.backupMobiusUris = [];
|
|
99
|
+
this.apiRequest = _request.APIRequest.getInstance({
|
|
100
|
+
webex: this.webex
|
|
101
|
+
});
|
|
97
102
|
}
|
|
98
103
|
return (0, _createClass2.default)(Registration, [{
|
|
104
|
+
key: "getServerType",
|
|
105
|
+
value: function getServerType(url) {
|
|
106
|
+
var _this$backupMobiusUri;
|
|
107
|
+
return this.primaryMobiusUris.includes(url) && 'PRIMARY' || ((_this$backupMobiusUri = this.backupMobiusUris) === null || _this$backupMobiusUri === void 0 ? void 0 : _this$backupMobiusUri.includes(url)) && 'BACKUP' || 'UNKNOWN';
|
|
108
|
+
}
|
|
109
|
+
}, {
|
|
99
110
|
key: "getFailoverCacheKey",
|
|
100
111
|
value: function getFailoverCacheKey() {
|
|
101
112
|
return "".concat(_constants2.FAILOVER_CACHE_PREFIX, ".").concat(this.userId || 'unknown');
|
|
@@ -218,36 +229,33 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
218
229
|
key: "deleteRegistration",
|
|
219
230
|
value: (function () {
|
|
220
231
|
var _deleteRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(url, deviceId, deviceUrl) {
|
|
221
|
-
var
|
|
222
|
-
var response, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t0;
|
|
232
|
+
var response, requestObj, _t2;
|
|
223
233
|
return _regenerator.default.wrap(function (_context2) {
|
|
224
234
|
while (1) switch (_context2.prev = _context2.next) {
|
|
225
235
|
case 0:
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
236
|
+
requestObj = {
|
|
237
|
+
uri: "".concat(url).concat(_constants2.DEVICES_ENDPOINT_RESOURCE, "/").concat(deviceId),
|
|
238
|
+
method: _types2.HTTP_METHODS.DELETE,
|
|
239
|
+
headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, deviceUrl), _constants2.SPARK_USER_AGENT, _constants2.CALLING_USER_AGENT),
|
|
240
|
+
service: _types2.ALLOWED_SERVICES.MOBIUS
|
|
241
|
+
};
|
|
242
|
+
if (this.apiRequest.isSocketEnabled()) {
|
|
243
|
+
// @ts-ignore - body is added for mobius wss support, it is not used for mobius http
|
|
244
|
+
requestObj.body = {
|
|
245
|
+
deviceId: deviceId
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
_context2.prev = 1;
|
|
238
249
|
_context2.next = 2;
|
|
239
|
-
return
|
|
240
|
-
method: _t4,
|
|
241
|
-
headers: _t9
|
|
242
|
-
});
|
|
250
|
+
return this.apiRequest.makeRequest(requestObj);
|
|
243
251
|
case 2:
|
|
244
252
|
response = _context2.sent;
|
|
245
253
|
_context2.next = 4;
|
|
246
254
|
break;
|
|
247
255
|
case 3:
|
|
248
256
|
_context2.prev = 3;
|
|
249
|
-
|
|
250
|
-
_Logger.default.warn("Delete failed with Mobius: ".concat((0, _stringify.default)(
|
|
257
|
+
_t2 = _context2["catch"](1);
|
|
258
|
+
_Logger.default.warn("Delete failed with Mobius: ".concat((0, _stringify.default)(_t2)), {
|
|
251
259
|
file: _constants2.REGISTRATION_FILE,
|
|
252
260
|
method: _constants2.METHODS.DELETE_REGISTRATION
|
|
253
261
|
});
|
|
@@ -256,12 +264,12 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
256
264
|
case 4:
|
|
257
265
|
this.setStatus(_types2.RegistrationStatus.INACTIVE);
|
|
258
266
|
this.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
|
|
259
|
-
return _context2.abrupt("return",
|
|
267
|
+
return _context2.abrupt("return", response);
|
|
260
268
|
case 5:
|
|
261
269
|
case "end":
|
|
262
270
|
return _context2.stop();
|
|
263
271
|
}
|
|
264
|
-
}, _callee2, this, [[
|
|
272
|
+
}, _callee2, this, [[1, 3]]);
|
|
265
273
|
}));
|
|
266
274
|
function deleteRegistration(_x, _x2, _x3) {
|
|
267
275
|
return _deleteRegistration.apply(this, arguments);
|
|
@@ -288,7 +296,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
288
296
|
jwe: this.jwe
|
|
289
297
|
}) : this.serviceData
|
|
290
298
|
};
|
|
291
|
-
return _context3.abrupt("return", this.
|
|
299
|
+
return _context3.abrupt("return", this.apiRequest.makeRequest({
|
|
292
300
|
uri: "".concat(url, "device"),
|
|
293
301
|
method: _types2.HTTP_METHODS.POST,
|
|
294
302
|
headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, deviceInfo.clientDeviceUri), _constants2.SPARK_USER_AGENT, _constants2.CALLING_USER_AGENT),
|
|
@@ -316,25 +324,44 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
316
324
|
value: (function () {
|
|
317
325
|
var _restorePreviousRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5(caller) {
|
|
318
326
|
var _this = this;
|
|
319
|
-
var abort;
|
|
327
|
+
var loggerContext, abort;
|
|
320
328
|
return _regenerator.default.wrap(function (_context5) {
|
|
321
329
|
while (1) switch (_context5.prev = _context5.next) {
|
|
322
330
|
case 0:
|
|
331
|
+
loggerContext = {
|
|
332
|
+
file: _constants2.REGISTRATION_FILE,
|
|
333
|
+
method: _constants2.METHODS.RESTORE_PREVIOUS_REGISTRATION
|
|
334
|
+
};
|
|
335
|
+
_Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " - caller: ").concat(caller, ", activeMobiusUrl: ").concat(this.activeMobiusUrl), loggerContext);
|
|
323
336
|
abort = false;
|
|
324
|
-
if (!this.activeMobiusUrl) {
|
|
325
|
-
_context5.next =
|
|
337
|
+
if (!(this.apiRequest.isSocketEnabled() && "".concat(this.apiRequest.getConnectedWebSocketUrl(), "/") !== this.activeMobiusUrl)) {
|
|
338
|
+
_context5.next = 1;
|
|
326
339
|
break;
|
|
327
340
|
}
|
|
341
|
+
_Logger.default.info("Disconnecting from Mobius socket to restore previous registration.", {
|
|
342
|
+
file: _constants2.REGISTRATION_FILE,
|
|
343
|
+
method: 'restorePreviousRegistration'
|
|
344
|
+
});
|
|
328
345
|
_context5.next = 1;
|
|
329
|
-
return this.
|
|
346
|
+
return this.apiRequest.disconnectFromMobiusSocket({
|
|
347
|
+
code: 3050,
|
|
348
|
+
reason: 'done (permanent)'
|
|
349
|
+
});
|
|
330
350
|
case 1:
|
|
351
|
+
if (!this.activeMobiusUrl) {
|
|
352
|
+
_context5.next = 7;
|
|
353
|
+
break;
|
|
354
|
+
}
|
|
355
|
+
_context5.next = 2;
|
|
356
|
+
return this.attemptRegistrationWithServers(caller, [this.activeMobiusUrl]);
|
|
357
|
+
case 2:
|
|
331
358
|
abort = _context5.sent;
|
|
332
359
|
if (!this.retryAfter) {
|
|
333
|
-
_context5.next =
|
|
360
|
+
_context5.next = 7;
|
|
334
361
|
break;
|
|
335
362
|
}
|
|
336
363
|
if (!(this.retryAfter < _constants2.RETRY_TIMER_UPPER_LIMIT)) {
|
|
337
|
-
_context5.next =
|
|
364
|
+
_context5.next = 3;
|
|
338
365
|
break;
|
|
339
366
|
}
|
|
340
367
|
// If retry-after is less than threshold, honor it and schedule retry
|
|
@@ -350,28 +377,30 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
350
377
|
}
|
|
351
378
|
}, _callee4);
|
|
352
379
|
})), this.retryAfter * 1000);
|
|
353
|
-
_context5.next =
|
|
380
|
+
_context5.next = 6;
|
|
354
381
|
break;
|
|
355
|
-
case
|
|
382
|
+
case 3:
|
|
356
383
|
if (!(this.primaryMobiusUris.includes(this.activeMobiusUrl) && this.backupMobiusUris.length > 0)) {
|
|
357
|
-
_context5.next =
|
|
384
|
+
_context5.next = 5;
|
|
358
385
|
break;
|
|
359
386
|
}
|
|
360
|
-
_context5.next =
|
|
387
|
+
_context5.next = 4;
|
|
361
388
|
return this.attemptRegistrationWithServers(caller, this.backupMobiusUris);
|
|
362
|
-
case
|
|
389
|
+
case 4:
|
|
363
390
|
abort = _context5.sent;
|
|
364
|
-
_context5.next =
|
|
391
|
+
_context5.next = 6;
|
|
365
392
|
break;
|
|
366
|
-
case 4:
|
|
367
|
-
// If we are using backup and got 429, restart registration
|
|
368
|
-
this.restartRegistration(caller);
|
|
369
393
|
case 5:
|
|
394
|
+
_context5.next = 6;
|
|
395
|
+
return this.restartRegistration(caller);
|
|
396
|
+
case 6:
|
|
370
397
|
this.retryAfter = undefined;
|
|
398
|
+
_Logger.default.log("restorePreviousRegistration completed via 429 retry-after path - caller: ".concat(caller), loggerContext);
|
|
371
399
|
return _context5.abrupt("return", true);
|
|
372
|
-
case 6:
|
|
373
|
-
return _context5.abrupt("return", abort);
|
|
374
400
|
case 7:
|
|
401
|
+
_Logger.default.log("restorePreviousRegistration completed - caller: ".concat(caller, ", deviceRegistered: ").concat(this.isDeviceRegistered(), ", abort: ").concat(abort), loggerContext);
|
|
402
|
+
return _context5.abrupt("return", abort);
|
|
403
|
+
case 8:
|
|
375
404
|
case "end":
|
|
376
405
|
return _context5.stop();
|
|
377
406
|
}
|
|
@@ -390,12 +419,17 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
390
419
|
key: "handle404KeepaliveFailure",
|
|
391
420
|
value: (function () {
|
|
392
421
|
var _handle404KeepaliveFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6(caller) {
|
|
393
|
-
var abort;
|
|
422
|
+
var loggerContext, abort;
|
|
394
423
|
return _regenerator.default.wrap(function (_context6) {
|
|
395
424
|
while (1) switch (_context6.prev = _context6.next) {
|
|
396
425
|
case 0:
|
|
426
|
+
loggerContext = {
|
|
427
|
+
file: _constants2.REGISTRATION_FILE,
|
|
428
|
+
method: _constants2.METHODS.HANDLE_404_KEEPALIVE_FAILURE
|
|
429
|
+
};
|
|
430
|
+
_Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " - caller: ").concat(caller), loggerContext);
|
|
397
431
|
if (!(caller === _constants2.KEEPALIVE_UTIL)) {
|
|
398
|
-
_context6.next =
|
|
432
|
+
_context6.next = 4;
|
|
399
433
|
break;
|
|
400
434
|
}
|
|
401
435
|
_context6.next = 1;
|
|
@@ -403,12 +437,18 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
403
437
|
case 1:
|
|
404
438
|
abort = _context6.sent;
|
|
405
439
|
if (!(!abort && !this.isDeviceRegistered())) {
|
|
406
|
-
_context6.next =
|
|
440
|
+
_context6.next = 3;
|
|
407
441
|
break;
|
|
408
442
|
}
|
|
443
|
+
_Logger.default.warn('Keepalive 404 recovery: re-registration did not complete, starting failover timer', loggerContext);
|
|
409
444
|
_context6.next = 2;
|
|
410
445
|
return this.startFailoverTimer();
|
|
411
446
|
case 2:
|
|
447
|
+
_context6.next = 4;
|
|
448
|
+
break;
|
|
449
|
+
case 3:
|
|
450
|
+
_Logger.default.log("Keepalive 404 recovery handled - deviceRegistered: ".concat(this.isDeviceRegistered(), ", abort: ").concat(abort), loggerContext);
|
|
451
|
+
case 4:
|
|
412
452
|
case "end":
|
|
413
453
|
return _context6.stop();
|
|
414
454
|
}
|
|
@@ -485,7 +525,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
485
525
|
return _context7.stop();
|
|
486
526
|
}
|
|
487
527
|
}, _callee7);
|
|
488
|
-
})), retryAfter * 1000);
|
|
528
|
+
})), (retryAfter - Number(this.deviceInfo.keepaliveInterval || 0)) * 1000);
|
|
489
529
|
} else {
|
|
490
530
|
this.retryAfter = retryAfter;
|
|
491
531
|
}
|
|
@@ -601,13 +641,26 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
601
641
|
}, _callee0);
|
|
602
642
|
})), interval * _constants2.SEC_TO_MSEC_MFACTOR);
|
|
603
643
|
_Logger.default.log("Scheduled retry with primary in ".concat(interval, " seconds, number of attempts : ").concat(attempt), loggerContext);
|
|
604
|
-
_context11.next =
|
|
644
|
+
_context11.next = 7;
|
|
605
645
|
break;
|
|
606
646
|
case 1:
|
|
607
647
|
if (!this.backupMobiusUris.length) {
|
|
648
|
+
_context11.next = 5;
|
|
649
|
+
break;
|
|
650
|
+
}
|
|
651
|
+
if (!this.apiRequest.isSocketEnabled()) {
|
|
608
652
|
_context11.next = 3;
|
|
609
653
|
break;
|
|
610
654
|
}
|
|
655
|
+
_Logger.default.info('Disconnecting from primary Mobius socket for failover to backup servers', loggerContext);
|
|
656
|
+
_context11.next = 2;
|
|
657
|
+
return this.apiRequest.disconnectFromMobiusSocket({
|
|
658
|
+
code: 3050,
|
|
659
|
+
reason: 'done (permanent)'
|
|
660
|
+
});
|
|
661
|
+
case 2:
|
|
662
|
+
_Logger.default.log('Mobius socket disconnect complete prior to backup failover', loggerContext);
|
|
663
|
+
case 3:
|
|
611
664
|
this.saveFailoverState({
|
|
612
665
|
attempt: attempt,
|
|
613
666
|
timeElapsed: timeElapsed,
|
|
@@ -616,9 +669,9 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
616
669
|
});
|
|
617
670
|
_Logger.default.info('Failing over to backup servers.', loggerContext);
|
|
618
671
|
this.failoverImmediately = false;
|
|
619
|
-
_context11.next =
|
|
672
|
+
_context11.next = 4;
|
|
620
673
|
return this.attemptRegistrationWithServers(_constants2.FAILOVER_UTIL, this.backupMobiusUris);
|
|
621
|
-
case
|
|
674
|
+
case 4:
|
|
622
675
|
abort = _context11.sent;
|
|
623
676
|
if (!abort && !this.isDeviceRegistered()) {
|
|
624
677
|
interval = this.getRegRetryInterval();
|
|
@@ -662,16 +715,16 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
662
715
|
})), interval * _constants2.SEC_TO_MSEC_MFACTOR);
|
|
663
716
|
_Logger.default.log("Scheduled retry with backup servers in ".concat(interval, " seconds."), loggerContext);
|
|
664
717
|
}
|
|
665
|
-
_context11.next =
|
|
718
|
+
_context11.next = 7;
|
|
666
719
|
break;
|
|
667
|
-
case
|
|
668
|
-
_context11.next =
|
|
720
|
+
case 5:
|
|
721
|
+
_context11.next = 6;
|
|
669
722
|
return (0, _common.uploadLogs)();
|
|
670
|
-
case
|
|
723
|
+
case 6:
|
|
671
724
|
(0, _common.emitFinalFailure)(function (clientError) {
|
|
672
725
|
_this3.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
|
|
673
|
-
}, loggerContext);
|
|
674
|
-
case
|
|
726
|
+
}, loggerContext, interval < 0 ? 'Timer threshold exceeded during failover' : undefined);
|
|
727
|
+
case 7:
|
|
675
728
|
case "end":
|
|
676
729
|
return _context11.stop();
|
|
677
730
|
}
|
|
@@ -695,25 +748,53 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
695
748
|
}
|
|
696
749
|
}
|
|
697
750
|
}, {
|
|
698
|
-
key: "
|
|
751
|
+
key: "postKeepAlive",
|
|
699
752
|
value: function () {
|
|
700
|
-
var
|
|
701
|
-
var
|
|
753
|
+
var _postKeepAlive = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12(deviceUrl, url) {
|
|
754
|
+
var _this$deviceInfo$devi;
|
|
702
755
|
return _regenerator.default.wrap(function (_context12) {
|
|
703
756
|
while (1) switch (_context12.prev = _context12.next) {
|
|
757
|
+
case 0:
|
|
758
|
+
return _context12.abrupt("return", this.apiRequest.makeRequest({
|
|
759
|
+
uri: "".concat(url, "/status"),
|
|
760
|
+
method: _types2.HTTP_METHODS.POST,
|
|
761
|
+
headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, deviceUrl), _constants2.SPARK_USER_AGENT, _constants2.CALLING_USER_AGENT),
|
|
762
|
+
body: {
|
|
763
|
+
deviceId: (_this$deviceInfo$devi = this.deviceInfo.device) === null || _this$deviceInfo$devi === void 0 ? void 0 : _this$deviceInfo$devi.deviceId
|
|
764
|
+
},
|
|
765
|
+
service: _types2.ALLOWED_SERVICES.MOBIUS
|
|
766
|
+
}));
|
|
767
|
+
case 1:
|
|
768
|
+
case "end":
|
|
769
|
+
return _context12.stop();
|
|
770
|
+
}
|
|
771
|
+
}, _callee12, this);
|
|
772
|
+
}));
|
|
773
|
+
function postKeepAlive(_x9, _x0) {
|
|
774
|
+
return _postKeepAlive.apply(this, arguments);
|
|
775
|
+
}
|
|
776
|
+
return postKeepAlive;
|
|
777
|
+
}()
|
|
778
|
+
}, {
|
|
779
|
+
key: "isPrimaryActive",
|
|
780
|
+
value: function () {
|
|
781
|
+
var _isPrimaryActive = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13() {
|
|
782
|
+
var status, _iterator, _step, mobiusUrl, baseUri, response, _ref7, statusCode, _t3, _t4;
|
|
783
|
+
return _regenerator.default.wrap(function (_context13) {
|
|
784
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
704
785
|
case 0:
|
|
705
786
|
_iterator = _createForOfIteratorHelper(this.primaryMobiusUris);
|
|
706
|
-
|
|
787
|
+
_context13.prev = 1;
|
|
707
788
|
_iterator.s();
|
|
708
789
|
case 2:
|
|
709
790
|
if ((_step = _iterator.n()).done) {
|
|
710
|
-
|
|
791
|
+
_context13.next = 8;
|
|
711
792
|
break;
|
|
712
793
|
}
|
|
713
794
|
mobiusUrl = _step.value;
|
|
714
|
-
|
|
715
|
-
baseUri = mobiusUrl.replace(_constants2.URL_ENDPOINT, '/'); // eslint-disable-next-line no-await-in-loop
|
|
716
|
-
|
|
795
|
+
_context13.prev = 3;
|
|
796
|
+
baseUri = mobiusUrl.replace(_constants2.URL_ENDPOINT, '/').replace('wss://', 'https://'); // eslint-disable-next-line no-await-in-loop
|
|
797
|
+
_context13.next = 4;
|
|
717
798
|
return this.webex.request({
|
|
718
799
|
uri: "".concat(baseUri, "ping"),
|
|
719
800
|
method: _types2.HTTP_METHODS.GET,
|
|
@@ -721,10 +802,10 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
721
802
|
service: _types2.ALLOWED_SERVICES.MOBIUS
|
|
722
803
|
});
|
|
723
804
|
case 4:
|
|
724
|
-
response =
|
|
805
|
+
response = _context13.sent;
|
|
725
806
|
_ref7 = response, statusCode = _ref7.statusCode;
|
|
726
807
|
if (!(statusCode === 200)) {
|
|
727
|
-
|
|
808
|
+
_context13.next = 5;
|
|
728
809
|
break;
|
|
729
810
|
}
|
|
730
811
|
_Logger.default.info("Ping successful for primary Mobius: ".concat(mobiusUrl), {
|
|
@@ -732,39 +813,39 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
732
813
|
method: _constants2.FAILBACK_UTIL
|
|
733
814
|
});
|
|
734
815
|
status = 'up';
|
|
735
|
-
return
|
|
816
|
+
return _context13.abrupt("continue", 8);
|
|
736
817
|
case 5:
|
|
737
|
-
|
|
818
|
+
_context13.next = 7;
|
|
738
819
|
break;
|
|
739
820
|
case 6:
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
_Logger.default.warn("Ping failed for primary Mobius: ".concat(mobiusUrl, " with error: ").concat((0, _stringify.default)(
|
|
821
|
+
_context13.prev = 6;
|
|
822
|
+
_t3 = _context13["catch"](3);
|
|
823
|
+
_Logger.default.warn("Ping failed for primary Mobius: ".concat(mobiusUrl, " with error: ").concat((0, _stringify.default)(_t3)), {
|
|
743
824
|
file: _constants2.REGISTRATION_FILE,
|
|
744
825
|
method: _constants2.FAILBACK_UTIL
|
|
745
826
|
});
|
|
746
827
|
status = 'down';
|
|
747
828
|
case 7:
|
|
748
|
-
|
|
829
|
+
_context13.next = 2;
|
|
749
830
|
break;
|
|
750
831
|
case 8:
|
|
751
|
-
|
|
832
|
+
_context13.next = 10;
|
|
752
833
|
break;
|
|
753
834
|
case 9:
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
_iterator.e(
|
|
835
|
+
_context13.prev = 9;
|
|
836
|
+
_t4 = _context13["catch"](1);
|
|
837
|
+
_iterator.e(_t4);
|
|
757
838
|
case 10:
|
|
758
|
-
|
|
839
|
+
_context13.prev = 10;
|
|
759
840
|
_iterator.f();
|
|
760
|
-
return
|
|
841
|
+
return _context13.finish(10);
|
|
761
842
|
case 11:
|
|
762
|
-
return
|
|
843
|
+
return _context13.abrupt("return", status === 'up');
|
|
763
844
|
case 12:
|
|
764
845
|
case "end":
|
|
765
|
-
return
|
|
846
|
+
return _context13.stop();
|
|
766
847
|
}
|
|
767
|
-
},
|
|
848
|
+
}, _callee13, this, [[1, 9, 10, 11], [3, 6]]);
|
|
768
849
|
}));
|
|
769
850
|
function isPrimaryActive() {
|
|
770
851
|
return _isPrimaryActive.apply(this, arguments);
|
|
@@ -797,13 +878,21 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
797
878
|
}, {
|
|
798
879
|
key: "initiateFailback",
|
|
799
880
|
value: function initiateFailback() {
|
|
881
|
+
var loggerContext = {
|
|
882
|
+
file: _constants2.REGISTRATION_FILE,
|
|
883
|
+
method: _constants2.METHODS.INITIATE_FAILBACK
|
|
884
|
+
};
|
|
800
885
|
if (this.isFailbackRequired()) {
|
|
801
886
|
if (!this.failbackTimer) {
|
|
802
887
|
this.failback429RetryAttempts = 0;
|
|
803
888
|
var intervalInMinutes = this.getFailbackInterval();
|
|
889
|
+
_Logger.default.info("Scheduling failback to primary - intervalMinutes: ".concat(intervalInMinutes), loggerContext);
|
|
804
890
|
this.startFailbackTimer(intervalInMinutes * _constants2.MINUTES_TO_SEC_MFACTOR);
|
|
891
|
+
} else {
|
|
892
|
+
_Logger.default.info('Failback timer already scheduled, skipping', loggerContext);
|
|
805
893
|
}
|
|
806
894
|
} else {
|
|
895
|
+
_Logger.default.info('Failback not required, clearing any pending failback timer', loggerContext);
|
|
807
896
|
this.failback429RetryAttempts = 0;
|
|
808
897
|
this.clearFailbackTimer();
|
|
809
898
|
}
|
|
@@ -817,16 +906,16 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
817
906
|
key: "startFailbackTimer",
|
|
818
907
|
value: function startFailbackTimer(intervalInSeconds) {
|
|
819
908
|
var _this4 = this;
|
|
820
|
-
this.failbackTimer = setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
821
|
-
return _regenerator.default.wrap(function (
|
|
822
|
-
while (1) switch (
|
|
909
|
+
this.failbackTimer = setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14() {
|
|
910
|
+
return _regenerator.default.wrap(function (_context14) {
|
|
911
|
+
while (1) switch (_context14.prev = _context14.next) {
|
|
823
912
|
case 0:
|
|
824
|
-
return
|
|
913
|
+
return _context14.abrupt("return", _this4.executeFailback());
|
|
825
914
|
case 1:
|
|
826
915
|
case "end":
|
|
827
|
-
return
|
|
916
|
+
return _context14.stop();
|
|
828
917
|
}
|
|
829
|
-
},
|
|
918
|
+
}, _callee14);
|
|
830
919
|
})), intervalInSeconds * _constants2.SEC_TO_MSEC_MFACTOR);
|
|
831
920
|
_Logger.default.log("Failback scheduled after ".concat(intervalInSeconds, " seconds."), {
|
|
832
921
|
file: _constants2.REGISTRATION_FILE,
|
|
@@ -841,90 +930,103 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
841
930
|
}, {
|
|
842
931
|
key: "executeFailback",
|
|
843
932
|
value: (function () {
|
|
844
|
-
var _executeFailback = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
933
|
+
var _executeFailback = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee16() {
|
|
845
934
|
var _this5 = this;
|
|
846
|
-
|
|
847
|
-
|
|
935
|
+
var loggerContext;
|
|
936
|
+
return _regenerator.default.wrap(function (_context16) {
|
|
937
|
+
while (1) switch (_context16.prev = _context16.next) {
|
|
848
938
|
case 0:
|
|
849
|
-
|
|
850
|
-
|
|
939
|
+
loggerContext = {
|
|
940
|
+
file: _constants2.REGISTRATION_FILE,
|
|
941
|
+
method: _constants2.METHODS.EXECUTE_FAILBACK
|
|
942
|
+
};
|
|
943
|
+
_Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
|
|
944
|
+
_context16.next = 1;
|
|
945
|
+
return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15() {
|
|
851
946
|
var primaryServerStatus, abort, abortNew;
|
|
852
|
-
return _regenerator.default.wrap(function (
|
|
853
|
-
while (1) switch (
|
|
947
|
+
return _regenerator.default.wrap(function (_context15) {
|
|
948
|
+
while (1) switch (_context15.prev = _context15.next) {
|
|
854
949
|
case 0:
|
|
855
950
|
if (!_this5.isFailbackRequired()) {
|
|
856
|
-
|
|
951
|
+
_context15.next = 13;
|
|
857
952
|
break;
|
|
858
953
|
}
|
|
859
|
-
|
|
954
|
+
_context15.next = 1;
|
|
860
955
|
return _this5.isPrimaryActive();
|
|
861
956
|
case 1:
|
|
862
|
-
primaryServerStatus =
|
|
957
|
+
primaryServerStatus = _context15.sent;
|
|
863
958
|
if (!((0, _keys.default)(_this5.callManager.getActiveCalls()).length === 0 && primaryServerStatus)) {
|
|
864
|
-
|
|
959
|
+
_context15.next = 12;
|
|
865
960
|
break;
|
|
866
961
|
}
|
|
867
|
-
_Logger.default.info("Attempting failback to primary.",
|
|
868
|
-
|
|
869
|
-
method: _this5.executeFailback.name
|
|
870
|
-
});
|
|
871
|
-
_context14.next = 2;
|
|
962
|
+
_Logger.default.info("Attempting failback to primary.", loggerContext);
|
|
963
|
+
_context15.next = 2;
|
|
872
964
|
return _this5.deregister();
|
|
873
965
|
case 2:
|
|
874
|
-
|
|
875
|
-
|
|
966
|
+
if (!_this5.apiRequest.isSocketEnabled()) {
|
|
967
|
+
_context15.next = 4;
|
|
968
|
+
break;
|
|
969
|
+
}
|
|
970
|
+
_Logger.default.info('Disconnecting from backup Mobius socket for failback to primary', loggerContext);
|
|
971
|
+
_context15.next = 3;
|
|
972
|
+
return _this5.apiRequest.disconnectFromMobiusSocket({
|
|
973
|
+
code: 3050,
|
|
974
|
+
reason: 'done (permanent)'
|
|
975
|
+
});
|
|
876
976
|
case 3:
|
|
877
|
-
|
|
977
|
+
_Logger.default.log('Mobius socket disconnect complete prior to primary failback', loggerContext);
|
|
978
|
+
case 4:
|
|
979
|
+
_context15.next = 5;
|
|
980
|
+
return _this5.attemptRegistrationWithServers(_constants2.FAILBACK_UTIL);
|
|
981
|
+
case 5:
|
|
982
|
+
abort = _context15.sent;
|
|
878
983
|
if (!(_this5.scheduled429Retry || abort || _this5.isDeviceRegistered())) {
|
|
879
|
-
|
|
984
|
+
_context15.next = 6;
|
|
880
985
|
break;
|
|
881
986
|
}
|
|
882
|
-
return
|
|
883
|
-
case
|
|
884
|
-
|
|
987
|
+
return _context15.abrupt("return");
|
|
988
|
+
case 6:
|
|
989
|
+
_context15.next = 7;
|
|
885
990
|
return _this5.restorePreviousRegistration(_constants2.FAILBACK_UTIL);
|
|
886
|
-
case
|
|
887
|
-
abortNew =
|
|
991
|
+
case 7:
|
|
992
|
+
abortNew = _context15.sent;
|
|
888
993
|
if (!abortNew) {
|
|
889
|
-
|
|
994
|
+
_context15.next = 8;
|
|
890
995
|
break;
|
|
891
996
|
}
|
|
892
997
|
_this5.clearFailbackTimer();
|
|
893
|
-
return
|
|
894
|
-
case
|
|
998
|
+
return _context15.abrupt("return");
|
|
999
|
+
case 8:
|
|
895
1000
|
if (_this5.isDeviceRegistered()) {
|
|
896
|
-
|
|
1001
|
+
_context15.next = 10;
|
|
897
1002
|
break;
|
|
898
1003
|
}
|
|
899
|
-
|
|
900
|
-
return _this5.restartRegistration(
|
|
901
|
-
case 7:
|
|
902
|
-
_context14.next = 9;
|
|
903
|
-
break;
|
|
904
|
-
case 8:
|
|
905
|
-
_this5.failbackTimer = undefined;
|
|
906
|
-
_this5.initiateFailback();
|
|
1004
|
+
_context15.next = 9;
|
|
1005
|
+
return _this5.restartRegistration(loggerContext.method);
|
|
907
1006
|
case 9:
|
|
908
|
-
|
|
1007
|
+
_context15.next = 11;
|
|
909
1008
|
break;
|
|
910
1009
|
case 10:
|
|
911
|
-
_Logger.default.info('Active calls present or primary Mobius is down, deferring failback to next cycle.', {
|
|
912
|
-
file: _constants2.REGISTRATION_FILE,
|
|
913
|
-
method: _this5.executeFailback.name
|
|
914
|
-
});
|
|
915
1010
|
_this5.failbackTimer = undefined;
|
|
916
1011
|
_this5.initiateFailback();
|
|
917
1012
|
case 11:
|
|
1013
|
+
_context15.next = 13;
|
|
1014
|
+
break;
|
|
1015
|
+
case 12:
|
|
1016
|
+
_Logger.default.info('Active calls present or primary Mobius is down, deferring failback to next cycle.', loggerContext);
|
|
1017
|
+
_this5.failbackTimer = undefined;
|
|
1018
|
+
_this5.initiateFailback();
|
|
1019
|
+
case 13:
|
|
918
1020
|
case "end":
|
|
919
|
-
return
|
|
1021
|
+
return _context15.stop();
|
|
920
1022
|
}
|
|
921
|
-
},
|
|
1023
|
+
}, _callee15);
|
|
922
1024
|
})));
|
|
923
1025
|
case 1:
|
|
924
1026
|
case "end":
|
|
925
|
-
return
|
|
1027
|
+
return _context16.stop();
|
|
926
1028
|
}
|
|
927
|
-
},
|
|
1029
|
+
}, _callee16, this);
|
|
928
1030
|
}));
|
|
929
1031
|
function executeFailback() {
|
|
930
1032
|
return _executeFailback.apply(this, arguments);
|
|
@@ -987,34 +1089,42 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
987
1089
|
}, {
|
|
988
1090
|
key: "restartRegistration",
|
|
989
1091
|
value: (function () {
|
|
990
|
-
var _restartRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
991
|
-
var abort;
|
|
992
|
-
return _regenerator.default.wrap(function (
|
|
993
|
-
while (1) switch (
|
|
1092
|
+
var _restartRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee17(caller) {
|
|
1093
|
+
var loggerContext, abort;
|
|
1094
|
+
return _regenerator.default.wrap(function (_context17) {
|
|
1095
|
+
while (1) switch (_context17.prev = _context17.next) {
|
|
994
1096
|
case 0:
|
|
1097
|
+
loggerContext = {
|
|
1098
|
+
file: _constants2.REGISTRATION_FILE,
|
|
1099
|
+
method: _constants2.METHODS.RESTART_REGISTRATION
|
|
1100
|
+
};
|
|
1101
|
+
_Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " - caller: ").concat(caller), loggerContext);
|
|
1102
|
+
|
|
995
1103
|
/*
|
|
996
1104
|
* Cancel any failback timer running
|
|
997
1105
|
* and start fresh registration attempt with retry as true.
|
|
998
1106
|
*/
|
|
999
1107
|
this.clearFailbackTimer();
|
|
1000
1108
|
this.failback429RetryAttempts = 0;
|
|
1001
|
-
|
|
1109
|
+
_context17.next = 1;
|
|
1002
1110
|
return this.attemptRegistrationWithServers(caller, this.primaryMobiusUris);
|
|
1003
1111
|
case 1:
|
|
1004
|
-
abort =
|
|
1112
|
+
abort = _context17.sent;
|
|
1005
1113
|
if (!(!abort && !this.isDeviceRegistered())) {
|
|
1006
|
-
|
|
1114
|
+
_context17.next = 2;
|
|
1007
1115
|
break;
|
|
1008
1116
|
}
|
|
1009
|
-
|
|
1117
|
+
_context17.next = 2;
|
|
1010
1118
|
return this.startFailoverTimer();
|
|
1011
1119
|
case 2:
|
|
1120
|
+
_Logger.default.log("restartRegistration completed - caller: ".concat(caller, ", deviceRegistered: ").concat(this.isDeviceRegistered(), ", abort: ").concat(abort), loggerContext);
|
|
1121
|
+
case 3:
|
|
1012
1122
|
case "end":
|
|
1013
|
-
return
|
|
1123
|
+
return _context17.stop();
|
|
1014
1124
|
}
|
|
1015
|
-
},
|
|
1125
|
+
}, _callee17, this);
|
|
1016
1126
|
}));
|
|
1017
|
-
function restartRegistration(
|
|
1127
|
+
function restartRegistration(_x1) {
|
|
1018
1128
|
return _restartRegistration.apply(this, arguments);
|
|
1019
1129
|
}
|
|
1020
1130
|
return restartRegistration;
|
|
@@ -1028,23 +1138,23 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1028
1138
|
}, {
|
|
1029
1139
|
key: "handleConnectionRestoration",
|
|
1030
1140
|
value: (function () {
|
|
1031
|
-
var _handleConnectionRestoration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1141
|
+
var _handleConnectionRestoration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee19(retry) {
|
|
1032
1142
|
var _this6 = this;
|
|
1033
|
-
return _regenerator.default.wrap(function (
|
|
1034
|
-
while (1) switch (
|
|
1143
|
+
return _regenerator.default.wrap(function (_context19) {
|
|
1144
|
+
while (1) switch (_context19.prev = _context19.next) {
|
|
1035
1145
|
case 0:
|
|
1036
1146
|
_Logger.default.info(_constants.METHOD_START_MESSAGE, {
|
|
1037
1147
|
method: _constants2.METHODS.HANDLE_CONNECTION_RESTORATION,
|
|
1038
1148
|
file: _constants2.REGISTRATION_FILE
|
|
1039
1149
|
});
|
|
1040
|
-
|
|
1041
|
-
return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1150
|
+
_context19.next = 1;
|
|
1151
|
+
return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee18() {
|
|
1042
1152
|
var abort;
|
|
1043
|
-
return _regenerator.default.wrap(function (
|
|
1044
|
-
while (1) switch (
|
|
1153
|
+
return _regenerator.default.wrap(function (_context18) {
|
|
1154
|
+
while (1) switch (_context18.prev = _context18.next) {
|
|
1045
1155
|
case 0:
|
|
1046
1156
|
if (!retry) {
|
|
1047
|
-
|
|
1157
|
+
_context18.next = 4;
|
|
1048
1158
|
break;
|
|
1049
1159
|
}
|
|
1050
1160
|
_Logger.default.log('Network is up again, re-registering with Webex Calling if needed', {
|
|
@@ -1053,43 +1163,43 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1053
1163
|
});
|
|
1054
1164
|
_this6.clearKeepaliveTimer();
|
|
1055
1165
|
if (!_this6.isDeviceRegistered()) {
|
|
1056
|
-
|
|
1166
|
+
_context18.next = 1;
|
|
1057
1167
|
break;
|
|
1058
1168
|
}
|
|
1059
|
-
|
|
1169
|
+
_context18.next = 1;
|
|
1060
1170
|
return _this6.deregister();
|
|
1061
1171
|
case 1:
|
|
1062
1172
|
if (!_this6.activeMobiusUrl) {
|
|
1063
|
-
|
|
1173
|
+
_context18.next = 3;
|
|
1064
1174
|
break;
|
|
1065
1175
|
}
|
|
1066
|
-
|
|
1176
|
+
_context18.next = 2;
|
|
1067
1177
|
return _this6.restorePreviousRegistration(_constants2.METHODS.HANDLE_CONNECTION_RESTORATION);
|
|
1068
1178
|
case 2:
|
|
1069
|
-
abort =
|
|
1179
|
+
abort = _context18.sent;
|
|
1070
1180
|
if (!(!abort && !_this6.isDeviceRegistered())) {
|
|
1071
|
-
|
|
1181
|
+
_context18.next = 3;
|
|
1072
1182
|
break;
|
|
1073
1183
|
}
|
|
1074
|
-
|
|
1184
|
+
_context18.next = 3;
|
|
1075
1185
|
return _this6.restartRegistration(_constants2.METHODS.HANDLE_CONNECTION_RESTORATION);
|
|
1076
1186
|
case 3:
|
|
1077
1187
|
retry = false;
|
|
1078
1188
|
case 4:
|
|
1079
1189
|
case "end":
|
|
1080
|
-
return
|
|
1190
|
+
return _context18.stop();
|
|
1081
1191
|
}
|
|
1082
|
-
},
|
|
1192
|
+
}, _callee18);
|
|
1083
1193
|
})));
|
|
1084
1194
|
case 1:
|
|
1085
|
-
return
|
|
1195
|
+
return _context19.abrupt("return", retry);
|
|
1086
1196
|
case 2:
|
|
1087
1197
|
case "end":
|
|
1088
|
-
return
|
|
1198
|
+
return _context19.stop();
|
|
1089
1199
|
}
|
|
1090
|
-
},
|
|
1200
|
+
}, _callee19, this);
|
|
1091
1201
|
}));
|
|
1092
|
-
function handleConnectionRestoration(
|
|
1202
|
+
function handleConnectionRestoration(_x10) {
|
|
1093
1203
|
return _handleConnectionRestoration.apply(this, arguments);
|
|
1094
1204
|
}
|
|
1095
1205
|
return handleConnectionRestoration;
|
|
@@ -1105,53 +1215,53 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1105
1215
|
value: function restoreRegistrationCallBack() {
|
|
1106
1216
|
var _this7 = this;
|
|
1107
1217
|
return /*#__PURE__*/function () {
|
|
1108
|
-
var _ref1 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1218
|
+
var _ref1 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee20(restoreData, caller) {
|
|
1109
1219
|
var logContext, restore, finalError;
|
|
1110
|
-
return _regenerator.default.wrap(function (
|
|
1111
|
-
while (1) switch (
|
|
1220
|
+
return _regenerator.default.wrap(function (_context20) {
|
|
1221
|
+
while (1) switch (_context20.prev = _context20.next) {
|
|
1112
1222
|
case 0:
|
|
1113
1223
|
logContext = {
|
|
1114
1224
|
file: _constants2.REGISTRATION_FILE,
|
|
1115
1225
|
method: caller
|
|
1116
1226
|
};
|
|
1117
1227
|
if (_this7.isRegRetry()) {
|
|
1118
|
-
|
|
1228
|
+
_context20.next = 4;
|
|
1119
1229
|
break;
|
|
1120
1230
|
}
|
|
1121
1231
|
_Logger.default.info('Registration restoration in progress.', logContext);
|
|
1122
1232
|
restore = _this7.getExistingDevice(restoreData);
|
|
1123
1233
|
if (!restore) {
|
|
1124
|
-
|
|
1234
|
+
_context20.next = 3;
|
|
1125
1235
|
break;
|
|
1126
1236
|
}
|
|
1127
1237
|
_this7.setRegRetry(true);
|
|
1128
|
-
|
|
1238
|
+
_context20.next = 1;
|
|
1129
1239
|
return _this7.deregister();
|
|
1130
1240
|
case 1:
|
|
1131
|
-
|
|
1241
|
+
_context20.next = 2;
|
|
1132
1242
|
return _this7.restorePreviousRegistration(caller);
|
|
1133
1243
|
case 2:
|
|
1134
|
-
finalError =
|
|
1244
|
+
finalError = _context20.sent;
|
|
1135
1245
|
_this7.setRegRetry(false);
|
|
1136
1246
|
if (_this7.isDeviceRegistered()) {
|
|
1137
1247
|
_Logger.default.info('Registration restored successfully.', logContext);
|
|
1138
1248
|
}
|
|
1139
|
-
return
|
|
1249
|
+
return _context20.abrupt("return", finalError);
|
|
1140
1250
|
case 3:
|
|
1141
1251
|
_this7.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
|
|
1142
|
-
|
|
1252
|
+
_context20.next = 5;
|
|
1143
1253
|
break;
|
|
1144
1254
|
case 4:
|
|
1145
1255
|
_this7.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
|
|
1146
1256
|
case 5:
|
|
1147
|
-
return
|
|
1257
|
+
return _context20.abrupt("return", false);
|
|
1148
1258
|
case 6:
|
|
1149
1259
|
case "end":
|
|
1150
|
-
return
|
|
1260
|
+
return _context20.stop();
|
|
1151
1261
|
}
|
|
1152
|
-
},
|
|
1262
|
+
}, _callee20);
|
|
1153
1263
|
}));
|
|
1154
|
-
return function (
|
|
1264
|
+
return function (_x11, _x12) {
|
|
1155
1265
|
return _ref1.apply(this, arguments);
|
|
1156
1266
|
};
|
|
1157
1267
|
}();
|
|
@@ -1164,39 +1274,51 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1164
1274
|
}, {
|
|
1165
1275
|
key: "triggerRegistration",
|
|
1166
1276
|
value: (function () {
|
|
1167
|
-
var _triggerRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1168
|
-
var abort;
|
|
1169
|
-
return _regenerator.default.wrap(function (
|
|
1170
|
-
while (1) switch (
|
|
1277
|
+
var _triggerRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee21() {
|
|
1278
|
+
var loggerContext, abort;
|
|
1279
|
+
return _regenerator.default.wrap(function (_context21) {
|
|
1280
|
+
while (1) switch (_context21.prev = _context21.next) {
|
|
1171
1281
|
case 0:
|
|
1172
|
-
|
|
1282
|
+
loggerContext = {
|
|
1283
|
+
file: _constants2.REGISTRATION_FILE,
|
|
1284
|
+
method: _constants2.METHODS.TRIGGER_REGISTRATION
|
|
1285
|
+
};
|
|
1286
|
+
_Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
|
|
1287
|
+
_context21.next = 1;
|
|
1173
1288
|
return this.resumeFailover();
|
|
1174
1289
|
case 1:
|
|
1175
|
-
if (!
|
|
1176
|
-
|
|
1290
|
+
if (!_context21.sent) {
|
|
1291
|
+
_context21.next = 2;
|
|
1177
1292
|
break;
|
|
1178
1293
|
}
|
|
1179
|
-
|
|
1294
|
+
_Logger.default.info('Registration trigger handled by resumeFailover path', loggerContext);
|
|
1295
|
+
return _context21.abrupt("return");
|
|
1180
1296
|
case 2:
|
|
1181
1297
|
if (!(this.primaryMobiusUris.length > 0)) {
|
|
1182
|
-
|
|
1298
|
+
_context21.next = 5;
|
|
1183
1299
|
break;
|
|
1184
1300
|
}
|
|
1185
|
-
|
|
1301
|
+
_context21.next = 3;
|
|
1186
1302
|
return this.attemptRegistrationWithServers(_constants2.REGISTRATION_UTIL, this.primaryMobiusUris);
|
|
1187
1303
|
case 3:
|
|
1188
|
-
abort =
|
|
1304
|
+
abort = _context21.sent;
|
|
1189
1305
|
if (!(!this.isDeviceRegistered() && !abort)) {
|
|
1190
|
-
|
|
1306
|
+
_context21.next = 4;
|
|
1191
1307
|
break;
|
|
1192
1308
|
}
|
|
1193
|
-
|
|
1309
|
+
_context21.next = 4;
|
|
1194
1310
|
return this.startFailoverTimer();
|
|
1195
1311
|
case 4:
|
|
1312
|
+
_Logger.default.log("triggerRegistration completed - deviceRegistered: ".concat(this.isDeviceRegistered(), ", abort: ").concat(abort), loggerContext);
|
|
1313
|
+
_context21.next = 6;
|
|
1314
|
+
break;
|
|
1315
|
+
case 5:
|
|
1316
|
+
_Logger.default.warn('triggerRegistration skipped: no primary Mobius URIs available', loggerContext);
|
|
1317
|
+
case 6:
|
|
1196
1318
|
case "end":
|
|
1197
|
-
return
|
|
1319
|
+
return _context21.stop();
|
|
1198
1320
|
}
|
|
1199
|
-
},
|
|
1321
|
+
}, _callee21, this);
|
|
1200
1322
|
}));
|
|
1201
1323
|
function triggerRegistration() {
|
|
1202
1324
|
return _triggerRegistration.apply(this, arguments);
|
|
@@ -1215,84 +1337,104 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1215
1337
|
}, {
|
|
1216
1338
|
key: "attemptRegistrationWithServers",
|
|
1217
1339
|
value: (function () {
|
|
1218
|
-
var _attemptRegistrationWithServers = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1340
|
+
var _attemptRegistrationWithServers = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee22(caller) {
|
|
1219
1341
|
var _this8 = this;
|
|
1220
1342
|
var servers,
|
|
1343
|
+
loggerContext,
|
|
1221
1344
|
abort,
|
|
1345
|
+
connectedWebSocketUrl,
|
|
1222
1346
|
_iterator2,
|
|
1223
1347
|
_step2,
|
|
1224
1348
|
_loop,
|
|
1225
1349
|
_ret,
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
return _regenerator.default.wrap(function (
|
|
1229
|
-
while (1) switch (
|
|
1350
|
+
_args23 = arguments,
|
|
1351
|
+
_t6;
|
|
1352
|
+
return _regenerator.default.wrap(function (_context23) {
|
|
1353
|
+
while (1) switch (_context23.prev = _context23.next) {
|
|
1230
1354
|
case 0:
|
|
1231
|
-
servers =
|
|
1355
|
+
servers = _args23.length > 1 && _args23[1] !== undefined ? _args23[1] : this.primaryMobiusUris;
|
|
1356
|
+
loggerContext = {
|
|
1357
|
+
file: _constants2.REGISTRATION_FILE,
|
|
1358
|
+
method: _constants2.REGISTER_UTIL
|
|
1359
|
+
};
|
|
1232
1360
|
abort = false;
|
|
1233
1361
|
this.retryAfter = undefined;
|
|
1234
1362
|
if (!this.failoverImmediately) {
|
|
1235
|
-
|
|
1363
|
+
_context23.next = 1;
|
|
1236
1364
|
break;
|
|
1237
1365
|
}
|
|
1238
|
-
return
|
|
1366
|
+
return _context23.abrupt("return", abort);
|
|
1239
1367
|
case 1:
|
|
1240
1368
|
if (!this.isDeviceRegistered()) {
|
|
1241
|
-
|
|
1369
|
+
_context23.next = 2;
|
|
1242
1370
|
break;
|
|
1243
1371
|
}
|
|
1244
|
-
_Logger.default.info("[".concat(caller, "] : Device already registered with : ").concat(this.activeMobiusUrl),
|
|
1245
|
-
|
|
1246
|
-
method: _constants2.REGISTER_UTIL
|
|
1247
|
-
});
|
|
1248
|
-
return _context22.abrupt("return", abort);
|
|
1372
|
+
_Logger.default.info("[".concat(caller, "] : Device already registered with : ").concat(this.activeMobiusUrl), loggerContext);
|
|
1373
|
+
return _context23.abrupt("return", abort);
|
|
1249
1374
|
case 2:
|
|
1375
|
+
/*
|
|
1376
|
+
* Align the active transport with this server group. When the Mobius socket is enabled
|
|
1377
|
+
* but a group has no WSS URL, CallingClient hands us its HTTP URIs instead; routing those
|
|
1378
|
+
* over the socket would fail, so toggle the transport from the group's URL scheme. This
|
|
1379
|
+
* keeps every socket-gated path below (connect, teardown, makeRequest) consistent for the
|
|
1380
|
+
* group being registered, while primary and backup are resolved independently.
|
|
1381
|
+
*/
|
|
1382
|
+
if (servers.length) {
|
|
1383
|
+
this.apiRequest.setSocketEnabled(servers[0].startsWith('wss://'));
|
|
1384
|
+
}
|
|
1250
1385
|
_iterator2 = _createForOfIteratorHelper(servers);
|
|
1251
|
-
|
|
1386
|
+
_context23.prev = 3;
|
|
1252
1387
|
_loop = /*#__PURE__*/_regenerator.default.mark(function _loop() {
|
|
1253
|
-
var _this8$
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
while (1) switch (_context21.prev = _context21.next) {
|
|
1388
|
+
var url, serverType, _this8$deviceInfo$dev, _resp$headers, _resp$headers$trackin, _resp$headers2, _this8$deviceInfo$dev2, wssNormalizedUrl, resp, body, _yield$handleRegistra, finalError, shouldDisconnect, _t5;
|
|
1389
|
+
return _regenerator.default.wrap(function (_context22) {
|
|
1390
|
+
while (1) switch (_context22.prev = _context22.next) {
|
|
1257
1391
|
case 0:
|
|
1258
1392
|
url = _step2.value;
|
|
1259
|
-
serverType = _this8.
|
|
1260
|
-
|
|
1393
|
+
serverType = _this8.getServerType(url);
|
|
1394
|
+
_context22.prev = 1;
|
|
1261
1395
|
abort = false;
|
|
1262
1396
|
_this8.registrationStatus = _types2.RegistrationStatus.INACTIVE;
|
|
1263
1397
|
_this8.lineEmitter(_types3.LINE_EVENTS.CONNECTING);
|
|
1264
|
-
_Logger.default.info("[".concat(caller, "] : Mobius url to contact: ").concat(url),
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1398
|
+
_Logger.default.info("[".concat(caller, "] : Mobius url to contact: ").concat(url), loggerContext);
|
|
1399
|
+
if (!_this8.apiRequest.isSocketEnabled()) {
|
|
1400
|
+
_context22.next = 3;
|
|
1401
|
+
break;
|
|
1402
|
+
}
|
|
1403
|
+
wssNormalizedUrl = url.endsWith('/') ? url.slice(0, -1) : url;
|
|
1404
|
+
_Logger.default.info("[".concat(caller, "] : Connecting to Mobius WebSocket - serverType: ").concat(serverType, ", wssUrl: ").concat(wssNormalizedUrl), loggerContext);
|
|
1405
|
+
|
|
1268
1406
|
// eslint-disable-next-line no-await-in-loop
|
|
1269
|
-
|
|
1270
|
-
return _this8.
|
|
1407
|
+
_context22.next = 2;
|
|
1408
|
+
return _this8.apiRequest.connectToMobiusSocket(wssNormalizedUrl);
|
|
1271
1409
|
case 2:
|
|
1272
|
-
|
|
1410
|
+
connectedWebSocketUrl = _context22.sent;
|
|
1411
|
+
connectedWebSocketUrl = connectedWebSocketUrl ? "".concat(connectedWebSocketUrl, "/") : undefined;
|
|
1412
|
+
_Logger.default.log("[".concat(caller, "] : Mobius WebSocket connected - serverType: ").concat(serverType, ", connectedWebSocketUrl: ").concat(connectedWebSocketUrl), loggerContext);
|
|
1413
|
+
case 3:
|
|
1414
|
+
_context22.next = 4;
|
|
1415
|
+
return _this8.postRegistration(url);
|
|
1416
|
+
case 4:
|
|
1417
|
+
resp = _context22.sent;
|
|
1273
1418
|
_this8.clearFailoverState();
|
|
1274
1419
|
_this8.deviceInfo = resp.body;
|
|
1275
1420
|
_this8.registrationStatus = _types2.RegistrationStatus.ACTIVE;
|
|
1276
|
-
_this8.setActiveMobiusUrl(url);
|
|
1421
|
+
_this8.setActiveMobiusUrl(connectedWebSocketUrl || url);
|
|
1277
1422
|
_this8.lineEmitter(_types3.LINE_EVENTS.REGISTERED, resp.body);
|
|
1278
|
-
_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),
|
|
1279
|
-
file: _constants2.REGISTRATION_FILE,
|
|
1280
|
-
method: _constants2.METHODS.REGISTER
|
|
1281
|
-
});
|
|
1423
|
+
_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);
|
|
1282
1424
|
_this8.setIntervalValues(_this8.deviceInfo);
|
|
1283
1425
|
_this8.metricManager.setDeviceInfo(_this8.deviceInfo);
|
|
1284
1426
|
_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);
|
|
1285
1427
|
_this8.startKeepaliveTimer((_this8$deviceInfo$dev2 = _this8.deviceInfo.device) === null || _this8$deviceInfo$dev2 === void 0 ? void 0 : _this8$deviceInfo$dev2.uri, _this8.deviceInfo.keepaliveInterval, serverType);
|
|
1286
1428
|
_this8.initiateFailback();
|
|
1287
|
-
return
|
|
1288
|
-
case
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
body =
|
|
1292
|
-
|
|
1293
|
-
return (0, _common.handleRegistrationErrors)(body, function (clientError,
|
|
1429
|
+
return _context22.abrupt("return", 0);
|
|
1430
|
+
case 5:
|
|
1431
|
+
_context22.prev = 5;
|
|
1432
|
+
_t5 = _context22["catch"](1);
|
|
1433
|
+
body = _t5; // eslint-disable-next-line no-await-in-loop, @typescript-eslint/no-unused-vars
|
|
1434
|
+
_context22.next = 6;
|
|
1435
|
+
return (0, _common.handleRegistrationErrors)(body, function (clientError, isFinalError) {
|
|
1294
1436
|
var _body$headers$trackin, _body$headers;
|
|
1295
|
-
if (
|
|
1437
|
+
if (isFinalError) {
|
|
1296
1438
|
_this8.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
|
|
1297
1439
|
} else {
|
|
1298
1440
|
_this8.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
|
|
@@ -1303,72 +1445,88 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1303
1445
|
file: _constants2.REGISTRATION_FILE
|
|
1304
1446
|
}, function (retryAfter, retryCaller) {
|
|
1305
1447
|
return _this8.handle429Retry(retryAfter, retryCaller);
|
|
1306
|
-
}, _this8.restoreRegistrationCallBack());
|
|
1307
|
-
case
|
|
1308
|
-
|
|
1448
|
+
}, _this8.restoreRegistrationCallBack(), servers.length);
|
|
1449
|
+
case 6:
|
|
1450
|
+
_yield$handleRegistra = _context22.sent;
|
|
1451
|
+
finalError = _yield$handleRegistra.finalError;
|
|
1452
|
+
shouldDisconnect = _yield$handleRegistra.shouldDisconnect;
|
|
1453
|
+
abort = finalError;
|
|
1309
1454
|
if (!(_this8.registrationStatus === _types2.RegistrationStatus.ACTIVE)) {
|
|
1310
|
-
|
|
1455
|
+
_context22.next = 7;
|
|
1311
1456
|
break;
|
|
1312
1457
|
}
|
|
1313
|
-
_Logger.default.info("[".concat(caller, "] : Device is already restored, active mobius url: ").concat(_this8.activeMobiusUrl),
|
|
1314
|
-
|
|
1315
|
-
|
|
1458
|
+
_Logger.default.info("[".concat(caller, "] : Device is already restored, active mobius url: ").concat(_this8.activeMobiusUrl), loggerContext);
|
|
1459
|
+
return _context22.abrupt("return", 0);
|
|
1460
|
+
case 7:
|
|
1461
|
+
if (!(shouldDisconnect && _this8.apiRequest.isSocketEnabled())) {
|
|
1462
|
+
_context22.next = 9;
|
|
1463
|
+
break;
|
|
1464
|
+
}
|
|
1465
|
+
connectedWebSocketUrl = undefined;
|
|
1466
|
+
_Logger.default.info("[".concat(caller, "] : Tearing down Mobius WebSocket after registration error - serverType: ").concat(serverType), loggerContext);
|
|
1467
|
+
|
|
1468
|
+
// eslint-disable-next-line no-await-in-loop
|
|
1469
|
+
_context22.next = 8;
|
|
1470
|
+
return _this8.apiRequest.disconnectFromMobiusSocket({
|
|
1471
|
+
code: 3050,
|
|
1472
|
+
reason: 'done (permanent)'
|
|
1316
1473
|
});
|
|
1317
|
-
|
|
1318
|
-
|
|
1474
|
+
case 8:
|
|
1475
|
+
_Logger.default.log("[".concat(caller, "] : Mobius WebSocket disconnect complete after registration error - serverType: ").concat(serverType), loggerContext);
|
|
1476
|
+
case 9:
|
|
1319
1477
|
if (!abort) {
|
|
1320
|
-
|
|
1478
|
+
_context22.next = 11;
|
|
1321
1479
|
break;
|
|
1322
1480
|
}
|
|
1323
1481
|
_this8.setStatus(_types2.RegistrationStatus.INACTIVE);
|
|
1324
1482
|
// eslint-disable-next-line no-await-in-loop
|
|
1325
|
-
|
|
1483
|
+
_context22.next = 10;
|
|
1326
1484
|
return (0, _common.uploadLogs)();
|
|
1327
|
-
case
|
|
1328
|
-
return
|
|
1329
|
-
case
|
|
1485
|
+
case 10:
|
|
1486
|
+
return _context22.abrupt("return", 0);
|
|
1487
|
+
case 11:
|
|
1330
1488
|
case "end":
|
|
1331
|
-
return
|
|
1489
|
+
return _context22.stop();
|
|
1332
1490
|
}
|
|
1333
|
-
}, _loop, null, [[1,
|
|
1491
|
+
}, _loop, null, [[1, 5]]);
|
|
1334
1492
|
});
|
|
1335
1493
|
_iterator2.s();
|
|
1336
1494
|
case 4:
|
|
1337
1495
|
if ((_step2 = _iterator2.n()).done) {
|
|
1338
|
-
|
|
1496
|
+
_context23.next = 7;
|
|
1339
1497
|
break;
|
|
1340
1498
|
}
|
|
1341
|
-
return
|
|
1499
|
+
return _context23.delegateYield(_loop(), "t0", 5);
|
|
1342
1500
|
case 5:
|
|
1343
|
-
_ret =
|
|
1501
|
+
_ret = _context23.t0;
|
|
1344
1502
|
if (!(_ret === 0)) {
|
|
1345
|
-
|
|
1503
|
+
_context23.next = 6;
|
|
1346
1504
|
break;
|
|
1347
1505
|
}
|
|
1348
|
-
return
|
|
1506
|
+
return _context23.abrupt("continue", 7);
|
|
1349
1507
|
case 6:
|
|
1350
|
-
|
|
1508
|
+
_context23.next = 4;
|
|
1351
1509
|
break;
|
|
1352
1510
|
case 7:
|
|
1353
|
-
|
|
1511
|
+
_context23.next = 9;
|
|
1354
1512
|
break;
|
|
1355
1513
|
case 8:
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
_iterator2.e(
|
|
1514
|
+
_context23.prev = 8;
|
|
1515
|
+
_t6 = _context23["catch"](3);
|
|
1516
|
+
_iterator2.e(_t6);
|
|
1359
1517
|
case 9:
|
|
1360
|
-
|
|
1518
|
+
_context23.prev = 9;
|
|
1361
1519
|
_iterator2.f();
|
|
1362
|
-
return
|
|
1520
|
+
return _context23.finish(9);
|
|
1363
1521
|
case 10:
|
|
1364
|
-
return
|
|
1522
|
+
return _context23.abrupt("return", abort);
|
|
1365
1523
|
case 11:
|
|
1366
1524
|
case "end":
|
|
1367
|
-
return
|
|
1525
|
+
return _context23.stop();
|
|
1368
1526
|
}
|
|
1369
|
-
},
|
|
1527
|
+
}, _callee22, this, [[3, 8, 9, 10]]);
|
|
1370
1528
|
}));
|
|
1371
|
-
function attemptRegistrationWithServers(
|
|
1529
|
+
function attemptRegistrationWithServers(_x13) {
|
|
1372
1530
|
return _attemptRegistrationWithServers.apply(this, arguments);
|
|
1373
1531
|
}
|
|
1374
1532
|
return attemptRegistrationWithServers;
|
|
@@ -1381,132 +1539,156 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1381
1539
|
}, {
|
|
1382
1540
|
key: "startKeepaliveTimer",
|
|
1383
1541
|
value: (function () {
|
|
1384
|
-
var _startKeepaliveTimer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1542
|
+
var _startKeepaliveTimer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee25(url, interval, serverType) {
|
|
1385
1543
|
var _this9 = this;
|
|
1386
1544
|
var RETRY_COUNT_THRESHOLD;
|
|
1387
|
-
return _regenerator.default.wrap(function (
|
|
1388
|
-
while (1) switch (
|
|
1545
|
+
return _regenerator.default.wrap(function (_context26) {
|
|
1546
|
+
while (1) switch (_context26.prev = _context26.next) {
|
|
1389
1547
|
case 0:
|
|
1390
1548
|
this.clearKeepaliveTimer();
|
|
1391
1549
|
RETRY_COUNT_THRESHOLD = this.isCCFlow ? 4 : 5;
|
|
1392
|
-
|
|
1393
|
-
return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1394
|
-
var
|
|
1395
|
-
return _regenerator.default.wrap(function (
|
|
1396
|
-
while (1) switch (
|
|
1550
|
+
_context26.next = 1;
|
|
1551
|
+
return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee24() {
|
|
1552
|
+
var blob, blobUrl;
|
|
1553
|
+
return _regenerator.default.wrap(function (_context25) {
|
|
1554
|
+
while (1) switch (_context25.prev = _context25.next) {
|
|
1397
1555
|
case 0:
|
|
1398
|
-
if (
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
if (!(event.data.type === _types2.WorkerMessageType.KEEPALIVE_FAILURE)) {
|
|
1436
|
-
_context23.next = 7;
|
|
1556
|
+
if (_this9.isDeviceRegistered()) {
|
|
1557
|
+
if (!_this9.webWorker) {
|
|
1558
|
+
blob = new Blob([_webWorkerStr.default], {
|
|
1559
|
+
type: 'application/javascript'
|
|
1560
|
+
});
|
|
1561
|
+
blobUrl = URL.createObjectURL(blob);
|
|
1562
|
+
_this9.webWorker = new Worker(blobUrl);
|
|
1563
|
+
URL.revokeObjectURL(blobUrl);
|
|
1564
|
+
_this9.webWorker.postMessage({
|
|
1565
|
+
type: _types2.WorkerMessageType.START_KEEPALIVE,
|
|
1566
|
+
interval: interval,
|
|
1567
|
+
retryCountThreshold: RETRY_COUNT_THRESHOLD
|
|
1568
|
+
});
|
|
1569
|
+
_this9.webWorker.onmessage = /*#__PURE__*/function () {
|
|
1570
|
+
var _ref11 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee23(event) {
|
|
1571
|
+
var logContext, _this9$webWorker, res, _err$headers, _this9$webWorker2, error, _error, _yield$handleRegistra2, abort, _t7;
|
|
1572
|
+
return _regenerator.default.wrap(function (_context24) {
|
|
1573
|
+
while (1) switch (_context24.prev = _context24.next) {
|
|
1574
|
+
case 0:
|
|
1575
|
+
logContext = {
|
|
1576
|
+
file: _constants2.REGISTRATION_FILE,
|
|
1577
|
+
method: _constants2.KEEPALIVE_UTIL
|
|
1578
|
+
};
|
|
1579
|
+
if (!(event.data.type === _types2.WorkerMessageType.SEND_KEEPALIVE)) {
|
|
1580
|
+
_context24.next = 4;
|
|
1581
|
+
break;
|
|
1582
|
+
}
|
|
1583
|
+
_context24.prev = 1;
|
|
1584
|
+
_context24.next = 2;
|
|
1585
|
+
return _this9.postKeepAlive(String(_this9.webex.internal.device.url), url);
|
|
1586
|
+
case 2:
|
|
1587
|
+
res = _context24.sent;
|
|
1588
|
+
(_this9$webWorker = _this9.webWorker) === null || _this9$webWorker === void 0 ? void 0 : _this9$webWorker.postMessage({
|
|
1589
|
+
type: _types2.WorkerMessageType.KEEPALIVE_RESULT,
|
|
1590
|
+
statusCode: res.statusCode
|
|
1591
|
+
});
|
|
1592
|
+
_context24.next = 4;
|
|
1437
1593
|
break;
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1594
|
+
case 3:
|
|
1595
|
+
_context24.prev = 3;
|
|
1596
|
+
_t7 = _context24["catch"](1);
|
|
1597
|
+
error = {
|
|
1598
|
+
headers: {
|
|
1599
|
+
trackingid: (_err$headers = _t7.headers) === null || _err$headers === void 0 ? void 0 : _err$headers.trackingid,
|
|
1600
|
+
'retry-after': _t7.headers['retry-after']
|
|
1601
|
+
},
|
|
1602
|
+
statusCode: _t7.statusCode,
|
|
1603
|
+
statusText: _t7.statusText,
|
|
1604
|
+
type: _t7.type
|
|
1605
|
+
};
|
|
1606
|
+
(_this9$webWorker2 = _this9.webWorker) === null || _this9$webWorker2 === void 0 ? void 0 : _this9$webWorker2.postMessage({
|
|
1607
|
+
type: _types2.WorkerMessageType.KEEPALIVE_RESULT,
|
|
1608
|
+
err: error
|
|
1609
|
+
});
|
|
1610
|
+
case 4:
|
|
1611
|
+
if (event.data.type === _types2.WorkerMessageType.KEEPALIVE_SUCCESS) {
|
|
1612
|
+
_Logger.default.info("Sent Keepalive, status: ".concat(event.data.statusCode), logContext);
|
|
1613
|
+
_this9.lineEmitter(_types3.LINE_EVENTS.RECONNECTED);
|
|
1614
|
+
}
|
|
1615
|
+
if (!(event.data.type === _types2.WorkerMessageType.KEEPALIVE_FAILURE)) {
|
|
1616
|
+
_context24.next = 11;
|
|
1617
|
+
break;
|
|
1618
|
+
}
|
|
1619
|
+
_error = event.data.err;
|
|
1620
|
+
_Logger.default.warn("Keep-alive missed ".concat(event.data.keepAliveRetryCount, " times. Status -> ").concat(_error.statusCode, " "), logContext);
|
|
1621
|
+
_context24.next = 5;
|
|
1622
|
+
return (0, _common.handleRegistrationErrors)(_error, function (clientError, finalError) {
|
|
1623
|
+
var _error$headers$tracki, _error$headers;
|
|
1624
|
+
if (finalError) {
|
|
1625
|
+
_this9.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
|
|
1626
|
+
}
|
|
1627
|
+
_this9.metricManager.submitRegistrationMetric(_types.METRIC_EVENT.KEEPALIVE_ERROR, _types.REG_ACTION.KEEPALIVE_FAILURE, _types.METRIC_TYPE.BEHAVIORAL, _constants2.KEEPALIVE_UTIL, serverType, (_error$headers$tracki = (_error$headers = _error.headers) === null || _error$headers === void 0 ? void 0 : _error$headers.trackingid) !== null && _error$headers$tracki !== void 0 ? _error$headers$tracki : '', event.data.keepAliveRetryCount, clientError);
|
|
1628
|
+
}, {
|
|
1629
|
+
method: _constants2.KEEPALIVE_UTIL,
|
|
1630
|
+
file: _constants2.REGISTRATION_FILE
|
|
1631
|
+
}, function (retryAfter, retryCaller) {
|
|
1632
|
+
return _this9.handle429Retry(retryAfter, retryCaller);
|
|
1633
|
+
});
|
|
1634
|
+
case 5:
|
|
1635
|
+
_yield$handleRegistra2 = _context24.sent;
|
|
1636
|
+
abort = _yield$handleRegistra2.finalError;
|
|
1637
|
+
if (!(abort || event.data.keepAliveRetryCount >= RETRY_COUNT_THRESHOLD)) {
|
|
1638
|
+
_context24.next = 10;
|
|
1639
|
+
break;
|
|
1446
1640
|
}
|
|
1447
|
-
_this9.
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1641
|
+
_this9.failoverImmediately = _this9.isCCFlow;
|
|
1642
|
+
_this9.setStatus(_types2.RegistrationStatus.INACTIVE);
|
|
1643
|
+
_this9.clearKeepaliveTimer();
|
|
1644
|
+
_this9.clearFailbackTimer();
|
|
1645
|
+
_this9.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
|
|
1646
|
+
_context24.next = 6;
|
|
1647
|
+
return (0, _common.uploadLogs)();
|
|
1648
|
+
case 6:
|
|
1649
|
+
if (abort) {
|
|
1650
|
+
_context24.next = 8;
|
|
1651
|
+
break;
|
|
1652
|
+
}
|
|
1653
|
+
_context24.next = 7;
|
|
1654
|
+
return _this9.reconnectOnFailure(_constants2.RECONNECT_ON_FAILURE_UTIL);
|
|
1655
|
+
case 7:
|
|
1656
|
+
_context24.next = 9;
|
|
1458
1657
|
break;
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
_context23.next = 2;
|
|
1466
|
-
return (0, _common.uploadLogs)();
|
|
1467
|
-
case 2:
|
|
1468
|
-
if (abort) {
|
|
1469
|
-
_context23.next = 4;
|
|
1658
|
+
case 8:
|
|
1659
|
+
if (_error.statusCode === 404) {
|
|
1660
|
+
_this9.handle404KeepaliveFailure(_constants2.KEEPALIVE_UTIL);
|
|
1661
|
+
}
|
|
1662
|
+
case 9:
|
|
1663
|
+
_context24.next = 11;
|
|
1470
1664
|
break;
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
case 6:
|
|
1485
|
-
_this9.lineEmitter(_types3.LINE_EVENTS.RECONNECTING);
|
|
1486
|
-
case 7:
|
|
1487
|
-
case "end":
|
|
1488
|
-
return _context23.stop();
|
|
1489
|
-
}
|
|
1490
|
-
}, _callee22);
|
|
1491
|
-
}));
|
|
1492
|
-
return function (_x15) {
|
|
1493
|
-
return _ref11.apply(this, arguments);
|
|
1494
|
-
};
|
|
1495
|
-
}();
|
|
1665
|
+
case 10:
|
|
1666
|
+
_this9.lineEmitter(_types3.LINE_EVENTS.RECONNECTING);
|
|
1667
|
+
case 11:
|
|
1668
|
+
case "end":
|
|
1669
|
+
return _context24.stop();
|
|
1670
|
+
}
|
|
1671
|
+
}, _callee23, null, [[1, 3]]);
|
|
1672
|
+
}));
|
|
1673
|
+
return function (_x17) {
|
|
1674
|
+
return _ref11.apply(this, arguments);
|
|
1675
|
+
};
|
|
1676
|
+
}();
|
|
1677
|
+
}
|
|
1496
1678
|
}
|
|
1497
|
-
case
|
|
1679
|
+
case 1:
|
|
1498
1680
|
case "end":
|
|
1499
|
-
return
|
|
1681
|
+
return _context25.stop();
|
|
1500
1682
|
}
|
|
1501
|
-
},
|
|
1683
|
+
}, _callee24);
|
|
1502
1684
|
})));
|
|
1503
1685
|
case 1:
|
|
1504
1686
|
case "end":
|
|
1505
|
-
return
|
|
1687
|
+
return _context26.stop();
|
|
1506
1688
|
}
|
|
1507
|
-
},
|
|
1689
|
+
}, _callee25, this);
|
|
1508
1690
|
}));
|
|
1509
|
-
function startKeepaliveTimer(
|
|
1691
|
+
function startKeepaliveTimer(_x14, _x15, _x16) {
|
|
1510
1692
|
return _startKeepaliveTimer.apply(this, arguments);
|
|
1511
1693
|
}
|
|
1512
1694
|
return startKeepaliveTimer;
|
|
@@ -1534,37 +1716,54 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1534
1716
|
}, {
|
|
1535
1717
|
key: "deregister",
|
|
1536
1718
|
value: function () {
|
|
1537
|
-
var _deregister = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1538
|
-
var
|
|
1539
|
-
|
|
1540
|
-
|
|
1719
|
+
var _deregister = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee26() {
|
|
1720
|
+
var closeMobiusWss,
|
|
1721
|
+
loggerContext,
|
|
1722
|
+
_this$deviceInfo$devi2,
|
|
1723
|
+
_this$deviceInfo$devi3,
|
|
1724
|
+
_args27 = arguments,
|
|
1725
|
+
_t8;
|
|
1726
|
+
return _regenerator.default.wrap(function (_context27) {
|
|
1727
|
+
while (1) switch (_context27.prev = _context27.next) {
|
|
1541
1728
|
case 0:
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
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);
|
|
1545
|
-
case 1:
|
|
1546
|
-
_Logger.default.log('Registration successfully deregistered', {
|
|
1729
|
+
closeMobiusWss = _args27.length > 0 && _args27[0] !== undefined ? _args27[0] : false;
|
|
1730
|
+
loggerContext = {
|
|
1547
1731
|
file: _constants2.REGISTRATION_FILE,
|
|
1548
1732
|
method: _constants2.METHODS.DEREGISTER
|
|
1549
|
-
}
|
|
1550
|
-
|
|
1551
|
-
|
|
1733
|
+
};
|
|
1734
|
+
_Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
|
|
1735
|
+
_context27.prev = 1;
|
|
1736
|
+
_context27.next = 2;
|
|
1737
|
+
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);
|
|
1552
1738
|
case 2:
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
file: _constants2.REGISTRATION_FILE,
|
|
1557
|
-
method: _constants2.METHODS.DEREGISTER
|
|
1558
|
-
});
|
|
1739
|
+
_Logger.default.log('Registration successfully deregistered', loggerContext);
|
|
1740
|
+
_context27.next = 4;
|
|
1741
|
+
break;
|
|
1559
1742
|
case 3:
|
|
1743
|
+
_context27.prev = 3;
|
|
1744
|
+
_t8 = _context27["catch"](1);
|
|
1745
|
+
_Logger.default.warn("Delete failed with Mobius: ".concat((0, _stringify.default)(_t8)), loggerContext);
|
|
1746
|
+
case 4:
|
|
1747
|
+
if (!closeMobiusWss) {
|
|
1748
|
+
_context27.next = 6;
|
|
1749
|
+
break;
|
|
1750
|
+
}
|
|
1751
|
+
_context27.next = 5;
|
|
1752
|
+
return this.apiRequest.disconnectFromMobiusSocket({
|
|
1753
|
+
code: 3050,
|
|
1754
|
+
reason: 'done (permanent)'
|
|
1755
|
+
});
|
|
1756
|
+
case 5:
|
|
1757
|
+
_Logger.default.log('Mobius socket disconnect complete after deregistration', loggerContext);
|
|
1758
|
+
case 6:
|
|
1560
1759
|
this.clearKeepaliveTimer();
|
|
1561
1760
|
this.setStatus(_types2.RegistrationStatus.INACTIVE);
|
|
1562
1761
|
this.clearFailoverState();
|
|
1563
|
-
case
|
|
1762
|
+
case 7:
|
|
1564
1763
|
case "end":
|
|
1565
|
-
return
|
|
1764
|
+
return _context27.stop();
|
|
1566
1765
|
}
|
|
1567
|
-
},
|
|
1766
|
+
}, _callee26, this, [[1, 3]]);
|
|
1568
1767
|
}));
|
|
1569
1768
|
function deregister() {
|
|
1570
1769
|
return _deregister.apply(this, arguments);
|
|
@@ -1609,6 +1808,10 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1609
1808
|
};
|
|
1610
1809
|
var stringToReplace = "".concat(_constants2.DEVICES_ENDPOINT_RESOURCE, "/").concat(restoreData.devices[0].deviceId);
|
|
1611
1810
|
var uri = restoreData.devices[0].uri.replace(stringToReplace, '');
|
|
1811
|
+
if (this.apiRequest.isSocketEnabled()) {
|
|
1812
|
+
uri = uri.replace('https://', 'wss://');
|
|
1813
|
+
uri = !uri.endsWith('/') ? "".concat(uri, "/") : uri;
|
|
1814
|
+
}
|
|
1612
1815
|
this.setActiveMobiusUrl(uri);
|
|
1613
1816
|
this.registrationStatus = _types2.RegistrationStatus.ACTIVE;
|
|
1614
1817
|
return true;
|
|
@@ -1628,10 +1831,10 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1628
1831
|
}, {
|
|
1629
1832
|
key: "reconnectOnFailure",
|
|
1630
1833
|
value: (function () {
|
|
1631
|
-
var _reconnectOnFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1834
|
+
var _reconnectOnFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee27(caller) {
|
|
1632
1835
|
var abort;
|
|
1633
|
-
return _regenerator.default.wrap(function (
|
|
1634
|
-
while (1) switch (
|
|
1836
|
+
return _regenerator.default.wrap(function (_context28) {
|
|
1837
|
+
while (1) switch (_context28.prev = _context28.next) {
|
|
1635
1838
|
case 0:
|
|
1636
1839
|
_Logger.default.info(_constants.METHOD_START_MESSAGE, {
|
|
1637
1840
|
method: _constants2.METHODS.RECONNECT_ON_FAILURE,
|
|
@@ -1639,25 +1842,25 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1639
1842
|
});
|
|
1640
1843
|
this.reconnectPending = false;
|
|
1641
1844
|
if (this.isDeviceRegistered()) {
|
|
1642
|
-
|
|
1845
|
+
_context28.next = 4;
|
|
1643
1846
|
break;
|
|
1644
1847
|
}
|
|
1645
1848
|
if (!((0, _keys.default)(this.callManager.getActiveCalls()).length === 0)) {
|
|
1646
|
-
|
|
1849
|
+
_context28.next = 3;
|
|
1647
1850
|
break;
|
|
1648
1851
|
}
|
|
1649
|
-
|
|
1852
|
+
_context28.next = 1;
|
|
1650
1853
|
return this.restorePreviousRegistration(caller);
|
|
1651
1854
|
case 1:
|
|
1652
|
-
abort =
|
|
1855
|
+
abort = _context28.sent;
|
|
1653
1856
|
if (!(!abort && !this.isDeviceRegistered())) {
|
|
1654
|
-
|
|
1857
|
+
_context28.next = 2;
|
|
1655
1858
|
break;
|
|
1656
1859
|
}
|
|
1657
|
-
|
|
1860
|
+
_context28.next = 2;
|
|
1658
1861
|
return this.restartRegistration(caller);
|
|
1659
1862
|
case 2:
|
|
1660
|
-
|
|
1863
|
+
_context28.next = 4;
|
|
1661
1864
|
break;
|
|
1662
1865
|
case 3:
|
|
1663
1866
|
this.reconnectPending = true;
|
|
@@ -1667,14 +1870,128 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1667
1870
|
});
|
|
1668
1871
|
case 4:
|
|
1669
1872
|
case "end":
|
|
1670
|
-
return
|
|
1873
|
+
return _context28.stop();
|
|
1671
1874
|
}
|
|
1672
|
-
},
|
|
1875
|
+
}, _callee27, this);
|
|
1673
1876
|
}));
|
|
1674
|
-
function reconnectOnFailure(
|
|
1877
|
+
function reconnectOnFailure(_x18) {
|
|
1675
1878
|
return _reconnectOnFailure.apply(this, arguments);
|
|
1676
1879
|
}
|
|
1677
1880
|
return reconnectOnFailure;
|
|
1881
|
+
}()
|
|
1882
|
+
/**
|
|
1883
|
+
* Handles an async REGISTRATION_DOWN event emitted by Mobius. Ends the first
|
|
1884
|
+
* active call (if any) and runs registration-side cleanup.
|
|
1885
|
+
*
|
|
1886
|
+
* @param event - The Mobius async event payload (trackingId/eventId used for logs).
|
|
1887
|
+
*/
|
|
1888
|
+
)
|
|
1889
|
+
}, {
|
|
1890
|
+
key: "handleRegistrationDownEvent",
|
|
1891
|
+
value: (function () {
|
|
1892
|
+
var _handleRegistrationDownEvent = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee28(event) {
|
|
1893
|
+
var _event$trackingId, _event$eventId;
|
|
1894
|
+
var loggerContext, _Object$values, _Object$values2, activeCall;
|
|
1895
|
+
return _regenerator.default.wrap(function (_context29) {
|
|
1896
|
+
while (1) switch (_context29.prev = _context29.next) {
|
|
1897
|
+
case 0:
|
|
1898
|
+
loggerContext = {
|
|
1899
|
+
file: _constants2.REGISTRATION_FILE,
|
|
1900
|
+
method: _constants2.METHODS.HANDLE_REGISTRATION_DOWN_EVENT
|
|
1901
|
+
};
|
|
1902
|
+
_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);
|
|
1903
|
+
_Object$values = (0, _values.default)(this.callManager.getActiveCalls()), _Object$values2 = (0, _slicedToArray2.default)(_Object$values, 1), activeCall = _Object$values2[0];
|
|
1904
|
+
activeCall === null || activeCall === void 0 ? void 0 : activeCall.end();
|
|
1905
|
+
_context29.next = 1;
|
|
1906
|
+
return this.performRegistrationDownCleanup(_constants2.METHODS.HANDLE_REGISTRATION_DOWN_EVENT);
|
|
1907
|
+
case 1:
|
|
1908
|
+
case "end":
|
|
1909
|
+
return _context29.stop();
|
|
1910
|
+
}
|
|
1911
|
+
}, _callee28, this);
|
|
1912
|
+
}));
|
|
1913
|
+
function handleRegistrationDownEvent(_x19) {
|
|
1914
|
+
return _handleRegistrationDownEvent.apply(this, arguments);
|
|
1915
|
+
}
|
|
1916
|
+
return handleRegistrationDownEvent;
|
|
1917
|
+
}()
|
|
1918
|
+
/**
|
|
1919
|
+
* Cleans up registration-side state after a Mobius registration-down event.
|
|
1920
|
+
*
|
|
1921
|
+
* Stops timers, resets transient flags, clears failover cache, sets status to
|
|
1922
|
+
* INACTIVE, tears down the Mobius WebSocket (when enabled), and finally emits
|
|
1923
|
+
* `LINE_EVENTS.UNREGISTERED` so the SDK consumer is notified.
|
|
1924
|
+
*
|
|
1925
|
+
* Runs under the shared mutex to avoid racing with other registration flows.
|
|
1926
|
+
*
|
|
1927
|
+
* @param caller - Identifier of the caller, used for logs.
|
|
1928
|
+
*/
|
|
1929
|
+
)
|
|
1930
|
+
}, {
|
|
1931
|
+
key: "performRegistrationDownCleanup",
|
|
1932
|
+
value: (function () {
|
|
1933
|
+
var _performRegistrationDownCleanup = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee30(caller) {
|
|
1934
|
+
var _this0 = this;
|
|
1935
|
+
var loggerContext;
|
|
1936
|
+
return _regenerator.default.wrap(function (_context31) {
|
|
1937
|
+
while (1) switch (_context31.prev = _context31.next) {
|
|
1938
|
+
case 0:
|
|
1939
|
+
loggerContext = {
|
|
1940
|
+
file: _constants2.REGISTRATION_FILE,
|
|
1941
|
+
method: _constants2.METHODS.HANDLE_REGISTRATION_DOWN_EVENT
|
|
1942
|
+
};
|
|
1943
|
+
_Logger.default.info("[".concat(caller, "] : Running registration-down cleanup"), loggerContext);
|
|
1944
|
+
_context31.next = 1;
|
|
1945
|
+
return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee29() {
|
|
1946
|
+
var _t9;
|
|
1947
|
+
return _regenerator.default.wrap(function (_context30) {
|
|
1948
|
+
while (1) switch (_context30.prev = _context30.next) {
|
|
1949
|
+
case 0:
|
|
1950
|
+
_this0.clearFailbackTimer();
|
|
1951
|
+
_this0.clearKeepaliveTimer();
|
|
1952
|
+
_this0.reconnectPending = false;
|
|
1953
|
+
_this0.scheduled429Retry = false;
|
|
1954
|
+
_this0.failoverImmediately = false;
|
|
1955
|
+
_this0.retryAfter = undefined;
|
|
1956
|
+
_this0.registerRetry = false;
|
|
1957
|
+
_this0.clearFailoverState();
|
|
1958
|
+
_this0.setStatus(_types2.RegistrationStatus.INACTIVE);
|
|
1959
|
+
if (!_this0.apiRequest.isSocketEnabled()) {
|
|
1960
|
+
_context30.next = 4;
|
|
1961
|
+
break;
|
|
1962
|
+
}
|
|
1963
|
+
_context30.prev = 1;
|
|
1964
|
+
_context30.next = 2;
|
|
1965
|
+
return _this0.apiRequest.disconnectFromMobiusSocket({
|
|
1966
|
+
code: 3050,
|
|
1967
|
+
reason: 'done (permanent)'
|
|
1968
|
+
});
|
|
1969
|
+
case 2:
|
|
1970
|
+
_Logger.default.log('Mobius socket disconnect complete after registration-down', loggerContext);
|
|
1971
|
+
_context30.next = 4;
|
|
1972
|
+
break;
|
|
1973
|
+
case 3:
|
|
1974
|
+
_context30.prev = 3;
|
|
1975
|
+
_t9 = _context30["catch"](1);
|
|
1976
|
+
_Logger.default.warn("Mobius socket disconnect failed after registration-down: ".concat(String(_t9)), loggerContext);
|
|
1977
|
+
case 4:
|
|
1978
|
+
_this0.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
|
|
1979
|
+
case 5:
|
|
1980
|
+
case "end":
|
|
1981
|
+
return _context30.stop();
|
|
1982
|
+
}
|
|
1983
|
+
}, _callee29, null, [[1, 3]]);
|
|
1984
|
+
})));
|
|
1985
|
+
case 1:
|
|
1986
|
+
case "end":
|
|
1987
|
+
return _context31.stop();
|
|
1988
|
+
}
|
|
1989
|
+
}, _callee30, this);
|
|
1990
|
+
}));
|
|
1991
|
+
function performRegistrationDownCleanup(_x20) {
|
|
1992
|
+
return _performRegistrationDownCleanup.apply(this, arguments);
|
|
1993
|
+
}
|
|
1994
|
+
return performRegistrationDownCleanup;
|
|
1678
1995
|
}())
|
|
1679
1996
|
}]);
|
|
1680
1997
|
}();
|