@webex/calling 3.12.0-next.28 → 3.12.0-next.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CallingClient/CallingClient.js +408 -194
- package/dist/CallingClient/CallingClient.js.map +1 -1
- package/dist/CallingClient/CallingClient.test.js +119 -25
- package/dist/CallingClient/CallingClient.test.js.map +1 -1
- package/dist/CallingClient/calling/call.js +11 -8
- package/dist/CallingClient/calling/call.js.map +1 -1
- package/dist/CallingClient/calling/call.test.js +45 -4
- package/dist/CallingClient/calling/call.test.js.map +1 -1
- package/dist/CallingClient/calling/callManager.js +53 -30
- package/dist/CallingClient/calling/callManager.js.map +1 -1
- package/dist/CallingClient/calling/callManager.test.js +35 -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 +20 -2
- package/dist/CallingClient/constants.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 +694 -406
- package/dist/CallingClient/registration/register.js.map +1 -1
- package/dist/CallingClient/registration/register.test.js +202 -21
- 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/utils/constants.js +46 -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 +211 -0
- package/dist/CallingClient/utils/mobiusSocketMapper.test.js.map +1 -0
- package/dist/CallingClient/utils/request.js +349 -0
- package/dist/CallingClient/utils/request.js.map +1 -0
- package/dist/CallingClient/utils/request.test.js +881 -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 +28 -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.test.js +3 -8
- package/dist/Contacts/ContactsClient.test.js.map +1 -1
- package/dist/Metrics/index.js +60 -0
- package/dist/Metrics/index.js.map +1 -1
- package/dist/Metrics/index.test.js +356 -0
- package/dist/Metrics/index.test.js.map +1 -1
- package/dist/Metrics/types.js +11 -1
- package/dist/Metrics/types.js.map +1 -1
- package/dist/SDKConnector/types.js.map +1 -1
- package/dist/common/Utils.js +136 -40
- package/dist/common/Utils.js.map +1 -1
- package/dist/common/testUtil.js +8 -4
- package/dist/common/testUtil.js.map +1 -1
- package/dist/common/types.js +2 -0
- package/dist/common/types.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 +150 -0
- package/dist/mobius-socket/errors.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 +485 -0
- package/dist/mobius-socket/mobius-socket-events.test.js.map +1 -0
- package/dist/mobius-socket/mobius-socket.js +804 -0
- package/dist/mobius-socket/mobius-socket.js.map +1 -0
- package/dist/mobius-socket/mobius-socket.test.js +1833 -0
- package/dist/mobius-socket/mobius-socket.test.js.map +1 -0
- package/dist/mobius-socket/socket/constants.js +34 -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/CallingClient/CallingClient.js +102 -5
- package/dist/module/CallingClient/calling/call.js +9 -6
- package/dist/module/CallingClient/calling/callManager.js +27 -7
- package/dist/module/CallingClient/calling/types.js +2 -0
- package/dist/module/CallingClient/constants.js +18 -0
- package/dist/module/CallingClient/registration/register.js +226 -62
- 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 +30 -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 +162 -0
- package/dist/module/CallingClient/utils/types.js +1 -0
- package/dist/module/CallingClient/utils/wsFeatureFlag.js +12 -0
- package/dist/module/Metrics/index.js +46 -0
- package/dist/module/Metrics/types.js +10 -0
- package/dist/module/common/Utils.js +51 -8
- package/dist/module/common/testUtil.js +5 -1
- package/dist/module/common/types.js +2 -0
- package/dist/module/mobius-socket/config.js +15 -0
- package/dist/module/mobius-socket/errors.js +64 -0
- package/dist/module/mobius-socket/index.js +24 -0
- package/dist/module/mobius-socket/mobius-socket.js +571 -0
- package/dist/module/mobius-socket/socket/constants.js +10 -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/CallingClient/CallingClient.d.ts +5 -0
- package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/call.d.ts +1 -0
- package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/callManager.d.ts +3 -2
- package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/types.d.ts +21 -9
- package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
- package/dist/types/CallingClient/constants.d.ts +18 -0
- package/dist/types/CallingClient/constants.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/register.d.ts +6 -0
- package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/types.d.ts +3 -1
- 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/utils/constants.d.ts +30 -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 +23 -0
- package/dist/types/CallingClient/utils/request.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/types.d.ts +29 -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/Metrics/index.d.ts.map +1 -1
- package/dist/types/Metrics/types.d.ts +11 -1
- package/dist/types/Metrics/types.d.ts.map +1 -1
- package/dist/types/SDKConnector/types.d.ts +24 -0
- package/dist/types/SDKConnector/types.d.ts.map +1 -1
- package/dist/types/common/Utils.d.ts +8 -2
- package/dist/types/common/Utils.d.ts.map +1 -1
- package/dist/types/common/testUtil.d.ts +4 -1
- package/dist/types/common/testUtil.d.ts.map +1 -1
- package/dist/types/common/types.d.ts +3 -0
- package/dist/types/common/types.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 +11 -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 +16 -2
- 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.
|
|
325
|
-
_context5.next =
|
|
337
|
+
if (!this.apiRequest.isSocketEnabled()) {
|
|
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
|
}
|
|
@@ -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,94 @@ 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:
|
|
1250
1375
|
_iterator2 = _createForOfIteratorHelper(servers);
|
|
1251
|
-
|
|
1376
|
+
_context23.prev = 3;
|
|
1252
1377
|
_loop = /*#__PURE__*/_regenerator.default.mark(function _loop() {
|
|
1253
|
-
var _this8$
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
while (1) switch (_context21.prev = _context21.next) {
|
|
1378
|
+
var url, serverType, _this8$deviceInfo$dev, _resp$headers, _resp$headers$trackin, _resp$headers2, _this8$deviceInfo$dev2, wssNormalizedUrl, resp, body, _yield$handleRegistra, finalError, shouldDisconnect, _t5;
|
|
1379
|
+
return _regenerator.default.wrap(function (_context22) {
|
|
1380
|
+
while (1) switch (_context22.prev = _context22.next) {
|
|
1257
1381
|
case 0:
|
|
1258
1382
|
url = _step2.value;
|
|
1259
|
-
serverType = _this8.
|
|
1260
|
-
|
|
1383
|
+
serverType = _this8.getServerType(url);
|
|
1384
|
+
_context22.prev = 1;
|
|
1261
1385
|
abort = false;
|
|
1262
1386
|
_this8.registrationStatus = _types2.RegistrationStatus.INACTIVE;
|
|
1263
1387
|
_this8.lineEmitter(_types3.LINE_EVENTS.CONNECTING);
|
|
1264
|
-
_Logger.default.info("[".concat(caller, "] : Mobius url to contact: ").concat(url),
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1388
|
+
_Logger.default.info("[".concat(caller, "] : Mobius url to contact: ").concat(url), loggerContext);
|
|
1389
|
+
if (!_this8.apiRequest.isSocketEnabled()) {
|
|
1390
|
+
_context22.next = 3;
|
|
1391
|
+
break;
|
|
1392
|
+
}
|
|
1393
|
+
wssNormalizedUrl = url.endsWith('/') ? url.slice(0, -1) : url;
|
|
1394
|
+
_Logger.default.info("[".concat(caller, "] : Connecting to Mobius WebSocket - serverType: ").concat(serverType, ", wssUrl: ").concat(wssNormalizedUrl), loggerContext);
|
|
1395
|
+
|
|
1268
1396
|
// eslint-disable-next-line no-await-in-loop
|
|
1269
|
-
|
|
1270
|
-
return _this8.
|
|
1397
|
+
_context22.next = 2;
|
|
1398
|
+
return _this8.apiRequest.connectToMobiusSocket(wssNormalizedUrl);
|
|
1271
1399
|
case 2:
|
|
1272
|
-
|
|
1400
|
+
connectedWebSocketUrl = _context22.sent;
|
|
1401
|
+
connectedWebSocketUrl = connectedWebSocketUrl ? "".concat(connectedWebSocketUrl, "/") : undefined;
|
|
1402
|
+
_Logger.default.log("[".concat(caller, "] : Mobius WebSocket connected - serverType: ").concat(serverType, ", connectedWebSocketUrl: ").concat(connectedWebSocketUrl), loggerContext);
|
|
1403
|
+
case 3:
|
|
1404
|
+
_context22.next = 4;
|
|
1405
|
+
return _this8.postRegistration(url);
|
|
1406
|
+
case 4:
|
|
1407
|
+
resp = _context22.sent;
|
|
1273
1408
|
_this8.clearFailoverState();
|
|
1274
1409
|
_this8.deviceInfo = resp.body;
|
|
1275
1410
|
_this8.registrationStatus = _types2.RegistrationStatus.ACTIVE;
|
|
1276
|
-
_this8.setActiveMobiusUrl(url);
|
|
1411
|
+
_this8.setActiveMobiusUrl(connectedWebSocketUrl || url);
|
|
1277
1412
|
_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
|
-
});
|
|
1413
|
+
_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
1414
|
_this8.setIntervalValues(_this8.deviceInfo);
|
|
1283
1415
|
_this8.metricManager.setDeviceInfo(_this8.deviceInfo);
|
|
1284
1416
|
_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
1417
|
_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
1418
|
_this8.initiateFailback();
|
|
1287
|
-
return
|
|
1288
|
-
case
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
body =
|
|
1292
|
-
|
|
1293
|
-
return (0, _common.handleRegistrationErrors)(body, function (clientError,
|
|
1419
|
+
return _context22.abrupt("return", 0);
|
|
1420
|
+
case 5:
|
|
1421
|
+
_context22.prev = 5;
|
|
1422
|
+
_t5 = _context22["catch"](1);
|
|
1423
|
+
body = _t5; // eslint-disable-next-line no-await-in-loop, @typescript-eslint/no-unused-vars
|
|
1424
|
+
_context22.next = 6;
|
|
1425
|
+
return (0, _common.handleRegistrationErrors)(body, function (clientError, isFinalError) {
|
|
1294
1426
|
var _body$headers$trackin, _body$headers;
|
|
1295
|
-
if (
|
|
1427
|
+
if (isFinalError) {
|
|
1296
1428
|
_this8.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
|
|
1297
1429
|
} else {
|
|
1298
1430
|
_this8.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
|
|
@@ -1303,72 +1435,88 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1303
1435
|
file: _constants2.REGISTRATION_FILE
|
|
1304
1436
|
}, function (retryAfter, retryCaller) {
|
|
1305
1437
|
return _this8.handle429Retry(retryAfter, retryCaller);
|
|
1306
|
-
}, _this8.restoreRegistrationCallBack());
|
|
1307
|
-
case
|
|
1308
|
-
|
|
1438
|
+
}, _this8.restoreRegistrationCallBack(), servers.length);
|
|
1439
|
+
case 6:
|
|
1440
|
+
_yield$handleRegistra = _context22.sent;
|
|
1441
|
+
finalError = _yield$handleRegistra.finalError;
|
|
1442
|
+
shouldDisconnect = _yield$handleRegistra.shouldDisconnect;
|
|
1443
|
+
abort = finalError;
|
|
1309
1444
|
if (!(_this8.registrationStatus === _types2.RegistrationStatus.ACTIVE)) {
|
|
1310
|
-
|
|
1445
|
+
_context22.next = 7;
|
|
1311
1446
|
break;
|
|
1312
1447
|
}
|
|
1313
|
-
_Logger.default.info("[".concat(caller, "] : Device is already restored, active mobius url: ").concat(_this8.activeMobiusUrl),
|
|
1314
|
-
|
|
1315
|
-
|
|
1448
|
+
_Logger.default.info("[".concat(caller, "] : Device is already restored, active mobius url: ").concat(_this8.activeMobiusUrl), loggerContext);
|
|
1449
|
+
return _context22.abrupt("return", 0);
|
|
1450
|
+
case 7:
|
|
1451
|
+
if (!(shouldDisconnect && _this8.apiRequest.isSocketEnabled())) {
|
|
1452
|
+
_context22.next = 9;
|
|
1453
|
+
break;
|
|
1454
|
+
}
|
|
1455
|
+
connectedWebSocketUrl = undefined;
|
|
1456
|
+
_Logger.default.info("[".concat(caller, "] : Tearing down Mobius WebSocket after registration error - serverType: ").concat(serverType), loggerContext);
|
|
1457
|
+
|
|
1458
|
+
// eslint-disable-next-line no-await-in-loop
|
|
1459
|
+
_context22.next = 8;
|
|
1460
|
+
return _this8.apiRequest.disconnectFromMobiusSocket({
|
|
1461
|
+
code: 3050,
|
|
1462
|
+
reason: 'done (permanent)'
|
|
1316
1463
|
});
|
|
1317
|
-
|
|
1318
|
-
|
|
1464
|
+
case 8:
|
|
1465
|
+
_Logger.default.log("[".concat(caller, "] : Mobius WebSocket disconnect complete after registration error - serverType: ").concat(serverType), loggerContext);
|
|
1466
|
+
case 9:
|
|
1319
1467
|
if (!abort) {
|
|
1320
|
-
|
|
1468
|
+
_context22.next = 11;
|
|
1321
1469
|
break;
|
|
1322
1470
|
}
|
|
1323
1471
|
_this8.setStatus(_types2.RegistrationStatus.INACTIVE);
|
|
1324
1472
|
// eslint-disable-next-line no-await-in-loop
|
|
1325
|
-
|
|
1473
|
+
_context22.next = 10;
|
|
1326
1474
|
return (0, _common.uploadLogs)();
|
|
1327
|
-
case
|
|
1328
|
-
return
|
|
1329
|
-
case
|
|
1475
|
+
case 10:
|
|
1476
|
+
return _context22.abrupt("return", 0);
|
|
1477
|
+
case 11:
|
|
1330
1478
|
case "end":
|
|
1331
|
-
return
|
|
1479
|
+
return _context22.stop();
|
|
1332
1480
|
}
|
|
1333
|
-
}, _loop, null, [[1,
|
|
1481
|
+
}, _loop, null, [[1, 5]]);
|
|
1334
1482
|
});
|
|
1335
1483
|
_iterator2.s();
|
|
1336
1484
|
case 4:
|
|
1337
1485
|
if ((_step2 = _iterator2.n()).done) {
|
|
1338
|
-
|
|
1486
|
+
_context23.next = 7;
|
|
1339
1487
|
break;
|
|
1340
1488
|
}
|
|
1341
|
-
return
|
|
1489
|
+
return _context23.delegateYield(_loop(), "t0", 5);
|
|
1342
1490
|
case 5:
|
|
1343
|
-
_ret =
|
|
1491
|
+
_ret = _context23.t0;
|
|
1344
1492
|
if (!(_ret === 0)) {
|
|
1345
|
-
|
|
1493
|
+
_context23.next = 6;
|
|
1346
1494
|
break;
|
|
1347
1495
|
}
|
|
1348
|
-
return
|
|
1496
|
+
return _context23.abrupt("continue", 7);
|
|
1349
1497
|
case 6:
|
|
1350
|
-
|
|
1498
|
+
_context23.next = 4;
|
|
1351
1499
|
break;
|
|
1352
1500
|
case 7:
|
|
1353
|
-
|
|
1501
|
+
_context23.next = 9;
|
|
1354
1502
|
break;
|
|
1355
1503
|
case 8:
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
_iterator2.e(
|
|
1504
|
+
_context23.prev = 8;
|
|
1505
|
+
_t6 = _context23["catch"](3);
|
|
1506
|
+
_iterator2.e(_t6);
|
|
1359
1507
|
case 9:
|
|
1360
|
-
|
|
1508
|
+
_context23.prev = 9;
|
|
1361
1509
|
_iterator2.f();
|
|
1362
|
-
return
|
|
1510
|
+
return _context23.finish(9);
|
|
1363
1511
|
case 10:
|
|
1364
|
-
return
|
|
1512
|
+
return _context23.abrupt("return", abort);
|
|
1365
1513
|
case 11:
|
|
1366
1514
|
case "end":
|
|
1367
|
-
return
|
|
1515
|
+
return _context23.stop();
|
|
1368
1516
|
}
|
|
1369
|
-
},
|
|
1517
|
+
}, _callee22, this, [[3, 8, 9, 10]]);
|
|
1370
1518
|
}));
|
|
1371
|
-
function attemptRegistrationWithServers(
|
|
1519
|
+
function attemptRegistrationWithServers(_x13) {
|
|
1372
1520
|
return _attemptRegistrationWithServers.apply(this, arguments);
|
|
1373
1521
|
}
|
|
1374
1522
|
return attemptRegistrationWithServers;
|
|
@@ -1381,132 +1529,156 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1381
1529
|
}, {
|
|
1382
1530
|
key: "startKeepaliveTimer",
|
|
1383
1531
|
value: (function () {
|
|
1384
|
-
var _startKeepaliveTimer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1532
|
+
var _startKeepaliveTimer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee25(url, interval, serverType) {
|
|
1385
1533
|
var _this9 = this;
|
|
1386
1534
|
var RETRY_COUNT_THRESHOLD;
|
|
1387
|
-
return _regenerator.default.wrap(function (
|
|
1388
|
-
while (1) switch (
|
|
1535
|
+
return _regenerator.default.wrap(function (_context26) {
|
|
1536
|
+
while (1) switch (_context26.prev = _context26.next) {
|
|
1389
1537
|
case 0:
|
|
1390
1538
|
this.clearKeepaliveTimer();
|
|
1391
1539
|
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 (
|
|
1540
|
+
_context26.next = 1;
|
|
1541
|
+
return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee24() {
|
|
1542
|
+
var blob, blobUrl;
|
|
1543
|
+
return _regenerator.default.wrap(function (_context25) {
|
|
1544
|
+
while (1) switch (_context25.prev = _context25.next) {
|
|
1397
1545
|
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;
|
|
1546
|
+
if (_this9.isDeviceRegistered()) {
|
|
1547
|
+
if (!_this9.webWorker) {
|
|
1548
|
+
blob = new Blob([_webWorkerStr.default], {
|
|
1549
|
+
type: 'application/javascript'
|
|
1550
|
+
});
|
|
1551
|
+
blobUrl = URL.createObjectURL(blob);
|
|
1552
|
+
_this9.webWorker = new Worker(blobUrl);
|
|
1553
|
+
URL.revokeObjectURL(blobUrl);
|
|
1554
|
+
_this9.webWorker.postMessage({
|
|
1555
|
+
type: _types2.WorkerMessageType.START_KEEPALIVE,
|
|
1556
|
+
interval: interval,
|
|
1557
|
+
retryCountThreshold: RETRY_COUNT_THRESHOLD
|
|
1558
|
+
});
|
|
1559
|
+
_this9.webWorker.onmessage = /*#__PURE__*/function () {
|
|
1560
|
+
var _ref11 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee23(event) {
|
|
1561
|
+
var logContext, _this9$webWorker, res, _err$headers, _this9$webWorker2, error, _error, _yield$handleRegistra2, abort, _t7;
|
|
1562
|
+
return _regenerator.default.wrap(function (_context24) {
|
|
1563
|
+
while (1) switch (_context24.prev = _context24.next) {
|
|
1564
|
+
case 0:
|
|
1565
|
+
logContext = {
|
|
1566
|
+
file: _constants2.REGISTRATION_FILE,
|
|
1567
|
+
method: _constants2.KEEPALIVE_UTIL
|
|
1568
|
+
};
|
|
1569
|
+
if (!(event.data.type === _types2.WorkerMessageType.SEND_KEEPALIVE)) {
|
|
1570
|
+
_context24.next = 4;
|
|
1571
|
+
break;
|
|
1572
|
+
}
|
|
1573
|
+
_context24.prev = 1;
|
|
1574
|
+
_context24.next = 2;
|
|
1575
|
+
return _this9.postKeepAlive(String(_this9.webex.internal.device.url), url);
|
|
1576
|
+
case 2:
|
|
1577
|
+
res = _context24.sent;
|
|
1578
|
+
(_this9$webWorker = _this9.webWorker) === null || _this9$webWorker === void 0 ? void 0 : _this9$webWorker.postMessage({
|
|
1579
|
+
type: _types2.WorkerMessageType.KEEPALIVE_RESULT,
|
|
1580
|
+
statusCode: res.statusCode
|
|
1581
|
+
});
|
|
1582
|
+
_context24.next = 4;
|
|
1437
1583
|
break;
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1584
|
+
case 3:
|
|
1585
|
+
_context24.prev = 3;
|
|
1586
|
+
_t7 = _context24["catch"](1);
|
|
1587
|
+
error = {
|
|
1588
|
+
headers: {
|
|
1589
|
+
trackingid: (_err$headers = _t7.headers) === null || _err$headers === void 0 ? void 0 : _err$headers.trackingid,
|
|
1590
|
+
'retry-after': _t7.headers['retry-after']
|
|
1591
|
+
},
|
|
1592
|
+
statusCode: _t7.statusCode,
|
|
1593
|
+
statusText: _t7.statusText,
|
|
1594
|
+
type: _t7.type
|
|
1595
|
+
};
|
|
1596
|
+
(_this9$webWorker2 = _this9.webWorker) === null || _this9$webWorker2 === void 0 ? void 0 : _this9$webWorker2.postMessage({
|
|
1597
|
+
type: _types2.WorkerMessageType.KEEPALIVE_RESULT,
|
|
1598
|
+
err: error
|
|
1599
|
+
});
|
|
1600
|
+
case 4:
|
|
1601
|
+
if (event.data.type === _types2.WorkerMessageType.KEEPALIVE_SUCCESS) {
|
|
1602
|
+
_Logger.default.info("Sent Keepalive, status: ".concat(event.data.statusCode), logContext);
|
|
1603
|
+
_this9.lineEmitter(_types3.LINE_EVENTS.RECONNECTED);
|
|
1604
|
+
}
|
|
1605
|
+
if (!(event.data.type === _types2.WorkerMessageType.KEEPALIVE_FAILURE)) {
|
|
1606
|
+
_context24.next = 11;
|
|
1607
|
+
break;
|
|
1608
|
+
}
|
|
1609
|
+
_error = event.data.err;
|
|
1610
|
+
_Logger.default.warn("Keep-alive missed ".concat(event.data.keepAliveRetryCount, " times. Status -> ").concat(_error.statusCode, " "), logContext);
|
|
1611
|
+
_context24.next = 5;
|
|
1612
|
+
return (0, _common.handleRegistrationErrors)(_error, function (clientError, finalError) {
|
|
1613
|
+
var _error$headers$tracki, _error$headers;
|
|
1614
|
+
if (finalError) {
|
|
1615
|
+
_this9.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
|
|
1616
|
+
}
|
|
1617
|
+
_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);
|
|
1618
|
+
}, {
|
|
1619
|
+
method: _constants2.KEEPALIVE_UTIL,
|
|
1620
|
+
file: _constants2.REGISTRATION_FILE
|
|
1621
|
+
}, function (retryAfter, retryCaller) {
|
|
1622
|
+
return _this9.handle429Retry(retryAfter, retryCaller);
|
|
1623
|
+
});
|
|
1624
|
+
case 5:
|
|
1625
|
+
_yield$handleRegistra2 = _context24.sent;
|
|
1626
|
+
abort = _yield$handleRegistra2.finalError;
|
|
1627
|
+
if (!(abort || event.data.keepAliveRetryCount >= RETRY_COUNT_THRESHOLD)) {
|
|
1628
|
+
_context24.next = 10;
|
|
1629
|
+
break;
|
|
1630
|
+
}
|
|
1631
|
+
_this9.failoverImmediately = _this9.isCCFlow;
|
|
1632
|
+
_this9.setStatus(_types2.RegistrationStatus.INACTIVE);
|
|
1633
|
+
_this9.clearKeepaliveTimer();
|
|
1634
|
+
_this9.clearFailbackTimer();
|
|
1635
|
+
_this9.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
|
|
1636
|
+
_context24.next = 6;
|
|
1637
|
+
return (0, _common.uploadLogs)();
|
|
1638
|
+
case 6:
|
|
1639
|
+
if (abort) {
|
|
1640
|
+
_context24.next = 8;
|
|
1641
|
+
break;
|
|
1446
1642
|
}
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
}, function (retryAfter, retryCaller) {
|
|
1452
|
-
return _this9.handle429Retry(retryAfter, retryCaller);
|
|
1453
|
-
});
|
|
1454
|
-
case 1:
|
|
1455
|
-
abort = _context23.sent;
|
|
1456
|
-
if (!(abort || event.data.keepAliveRetryCount >= RETRY_COUNT_THRESHOLD)) {
|
|
1457
|
-
_context23.next = 6;
|
|
1643
|
+
_context24.next = 7;
|
|
1644
|
+
return _this9.reconnectOnFailure(_constants2.RECONNECT_ON_FAILURE_UTIL);
|
|
1645
|
+
case 7:
|
|
1646
|
+
_context24.next = 9;
|
|
1458
1647
|
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;
|
|
1648
|
+
case 8:
|
|
1649
|
+
if (_error.statusCode === 404) {
|
|
1650
|
+
_this9.handle404KeepaliveFailure(_constants2.KEEPALIVE_UTIL);
|
|
1651
|
+
}
|
|
1652
|
+
case 9:
|
|
1653
|
+
_context24.next = 11;
|
|
1470
1654
|
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
|
-
}();
|
|
1655
|
+
case 10:
|
|
1656
|
+
_this9.lineEmitter(_types3.LINE_EVENTS.RECONNECTING);
|
|
1657
|
+
case 11:
|
|
1658
|
+
case "end":
|
|
1659
|
+
return _context24.stop();
|
|
1660
|
+
}
|
|
1661
|
+
}, _callee23, null, [[1, 3]]);
|
|
1662
|
+
}));
|
|
1663
|
+
return function (_x17) {
|
|
1664
|
+
return _ref11.apply(this, arguments);
|
|
1665
|
+
};
|
|
1666
|
+
}();
|
|
1667
|
+
}
|
|
1496
1668
|
}
|
|
1497
|
-
case
|
|
1669
|
+
case 1:
|
|
1498
1670
|
case "end":
|
|
1499
|
-
return
|
|
1671
|
+
return _context25.stop();
|
|
1500
1672
|
}
|
|
1501
|
-
},
|
|
1673
|
+
}, _callee24);
|
|
1502
1674
|
})));
|
|
1503
1675
|
case 1:
|
|
1504
1676
|
case "end":
|
|
1505
|
-
return
|
|
1677
|
+
return _context26.stop();
|
|
1506
1678
|
}
|
|
1507
|
-
},
|
|
1679
|
+
}, _callee25, this);
|
|
1508
1680
|
}));
|
|
1509
|
-
function startKeepaliveTimer(
|
|
1681
|
+
function startKeepaliveTimer(_x14, _x15, _x16) {
|
|
1510
1682
|
return _startKeepaliveTimer.apply(this, arguments);
|
|
1511
1683
|
}
|
|
1512
1684
|
return startKeepaliveTimer;
|
|
@@ -1534,37 +1706,36 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1534
1706
|
}, {
|
|
1535
1707
|
key: "deregister",
|
|
1536
1708
|
value: function () {
|
|
1537
|
-
var _deregister = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1538
|
-
var _this$deviceInfo$
|
|
1539
|
-
return _regenerator.default.wrap(function (
|
|
1540
|
-
while (1) switch (
|
|
1709
|
+
var _deregister = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee26() {
|
|
1710
|
+
var loggerContext, _this$deviceInfo$devi2, _this$deviceInfo$devi3, _t8;
|
|
1711
|
+
return _regenerator.default.wrap(function (_context27) {
|
|
1712
|
+
while (1) switch (_context27.prev = _context27.next) {
|
|
1541
1713
|
case 0:
|
|
1542
|
-
|
|
1543
|
-
_context26.next = 1;
|
|
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', {
|
|
1714
|
+
loggerContext = {
|
|
1547
1715
|
file: _constants2.REGISTRATION_FILE,
|
|
1548
1716
|
method: _constants2.METHODS.DEREGISTER
|
|
1549
|
-
}
|
|
1550
|
-
|
|
1551
|
-
|
|
1717
|
+
};
|
|
1718
|
+
_Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
|
|
1719
|
+
_context27.prev = 1;
|
|
1720
|
+
_context27.next = 2;
|
|
1721
|
+
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
1722
|
case 2:
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
file: _constants2.REGISTRATION_FILE,
|
|
1557
|
-
method: _constants2.METHODS.DEREGISTER
|
|
1558
|
-
});
|
|
1723
|
+
_Logger.default.log('Registration successfully deregistered', loggerContext);
|
|
1724
|
+
_context27.next = 4;
|
|
1725
|
+
break;
|
|
1559
1726
|
case 3:
|
|
1727
|
+
_context27.prev = 3;
|
|
1728
|
+
_t8 = _context27["catch"](1);
|
|
1729
|
+
_Logger.default.warn("Delete failed with Mobius: ".concat((0, _stringify.default)(_t8)), loggerContext);
|
|
1730
|
+
case 4:
|
|
1560
1731
|
this.clearKeepaliveTimer();
|
|
1561
1732
|
this.setStatus(_types2.RegistrationStatus.INACTIVE);
|
|
1562
1733
|
this.clearFailoverState();
|
|
1563
|
-
case
|
|
1734
|
+
case 5:
|
|
1564
1735
|
case "end":
|
|
1565
|
-
return
|
|
1736
|
+
return _context27.stop();
|
|
1566
1737
|
}
|
|
1567
|
-
},
|
|
1738
|
+
}, _callee26, this, [[1, 3]]);
|
|
1568
1739
|
}));
|
|
1569
1740
|
function deregister() {
|
|
1570
1741
|
return _deregister.apply(this, arguments);
|
|
@@ -1609,6 +1780,9 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1609
1780
|
};
|
|
1610
1781
|
var stringToReplace = "".concat(_constants2.DEVICES_ENDPOINT_RESOURCE, "/").concat(restoreData.devices[0].deviceId);
|
|
1611
1782
|
var uri = restoreData.devices[0].uri.replace(stringToReplace, '');
|
|
1783
|
+
if (this.apiRequest.isSocketEnabled()) {
|
|
1784
|
+
uri = uri.replace('https://', 'wss://');
|
|
1785
|
+
}
|
|
1612
1786
|
this.setActiveMobiusUrl(uri);
|
|
1613
1787
|
this.registrationStatus = _types2.RegistrationStatus.ACTIVE;
|
|
1614
1788
|
return true;
|
|
@@ -1628,10 +1802,10 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1628
1802
|
}, {
|
|
1629
1803
|
key: "reconnectOnFailure",
|
|
1630
1804
|
value: (function () {
|
|
1631
|
-
var _reconnectOnFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function
|
|
1805
|
+
var _reconnectOnFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee27(caller) {
|
|
1632
1806
|
var abort;
|
|
1633
|
-
return _regenerator.default.wrap(function (
|
|
1634
|
-
while (1) switch (
|
|
1807
|
+
return _regenerator.default.wrap(function (_context28) {
|
|
1808
|
+
while (1) switch (_context28.prev = _context28.next) {
|
|
1635
1809
|
case 0:
|
|
1636
1810
|
_Logger.default.info(_constants.METHOD_START_MESSAGE, {
|
|
1637
1811
|
method: _constants2.METHODS.RECONNECT_ON_FAILURE,
|
|
@@ -1639,25 +1813,25 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1639
1813
|
});
|
|
1640
1814
|
this.reconnectPending = false;
|
|
1641
1815
|
if (this.isDeviceRegistered()) {
|
|
1642
|
-
|
|
1816
|
+
_context28.next = 4;
|
|
1643
1817
|
break;
|
|
1644
1818
|
}
|
|
1645
1819
|
if (!((0, _keys.default)(this.callManager.getActiveCalls()).length === 0)) {
|
|
1646
|
-
|
|
1820
|
+
_context28.next = 3;
|
|
1647
1821
|
break;
|
|
1648
1822
|
}
|
|
1649
|
-
|
|
1823
|
+
_context28.next = 1;
|
|
1650
1824
|
return this.restorePreviousRegistration(caller);
|
|
1651
1825
|
case 1:
|
|
1652
|
-
abort =
|
|
1826
|
+
abort = _context28.sent;
|
|
1653
1827
|
if (!(!abort && !this.isDeviceRegistered())) {
|
|
1654
|
-
|
|
1828
|
+
_context28.next = 2;
|
|
1655
1829
|
break;
|
|
1656
1830
|
}
|
|
1657
|
-
|
|
1831
|
+
_context28.next = 2;
|
|
1658
1832
|
return this.restartRegistration(caller);
|
|
1659
1833
|
case 2:
|
|
1660
|
-
|
|
1834
|
+
_context28.next = 4;
|
|
1661
1835
|
break;
|
|
1662
1836
|
case 3:
|
|
1663
1837
|
this.reconnectPending = true;
|
|
@@ -1667,14 +1841,128 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1667
1841
|
});
|
|
1668
1842
|
case 4:
|
|
1669
1843
|
case "end":
|
|
1670
|
-
return
|
|
1844
|
+
return _context28.stop();
|
|
1671
1845
|
}
|
|
1672
|
-
},
|
|
1846
|
+
}, _callee27, this);
|
|
1673
1847
|
}));
|
|
1674
|
-
function reconnectOnFailure(
|
|
1848
|
+
function reconnectOnFailure(_x18) {
|
|
1675
1849
|
return _reconnectOnFailure.apply(this, arguments);
|
|
1676
1850
|
}
|
|
1677
1851
|
return reconnectOnFailure;
|
|
1852
|
+
}()
|
|
1853
|
+
/**
|
|
1854
|
+
* Handles an async REGISTRATION_DOWN event emitted by Mobius. Ends the first
|
|
1855
|
+
* active call (if any) and runs registration-side cleanup.
|
|
1856
|
+
*
|
|
1857
|
+
* @param event - The Mobius async event payload (trackingId/eventId used for logs).
|
|
1858
|
+
*/
|
|
1859
|
+
)
|
|
1860
|
+
}, {
|
|
1861
|
+
key: "handleRegistrationDownEvent",
|
|
1862
|
+
value: (function () {
|
|
1863
|
+
var _handleRegistrationDownEvent = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee28(event) {
|
|
1864
|
+
var _event$trackingId, _event$eventId;
|
|
1865
|
+
var loggerContext, _Object$values, _Object$values2, activeCall;
|
|
1866
|
+
return _regenerator.default.wrap(function (_context29) {
|
|
1867
|
+
while (1) switch (_context29.prev = _context29.next) {
|
|
1868
|
+
case 0:
|
|
1869
|
+
loggerContext = {
|
|
1870
|
+
file: _constants2.REGISTRATION_FILE,
|
|
1871
|
+
method: _constants2.METHODS.HANDLE_REGISTRATION_DOWN_EVENT
|
|
1872
|
+
};
|
|
1873
|
+
_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);
|
|
1874
|
+
_Object$values = (0, _values.default)(this.callManager.getActiveCalls()), _Object$values2 = (0, _slicedToArray2.default)(_Object$values, 1), activeCall = _Object$values2[0];
|
|
1875
|
+
activeCall === null || activeCall === void 0 ? void 0 : activeCall.end();
|
|
1876
|
+
_context29.next = 1;
|
|
1877
|
+
return this.performRegistrationDownCleanup(_constants2.METHODS.HANDLE_REGISTRATION_DOWN_EVENT);
|
|
1878
|
+
case 1:
|
|
1879
|
+
case "end":
|
|
1880
|
+
return _context29.stop();
|
|
1881
|
+
}
|
|
1882
|
+
}, _callee28, this);
|
|
1883
|
+
}));
|
|
1884
|
+
function handleRegistrationDownEvent(_x19) {
|
|
1885
|
+
return _handleRegistrationDownEvent.apply(this, arguments);
|
|
1886
|
+
}
|
|
1887
|
+
return handleRegistrationDownEvent;
|
|
1888
|
+
}()
|
|
1889
|
+
/**
|
|
1890
|
+
* Cleans up registration-side state after a Mobius registration-down event.
|
|
1891
|
+
*
|
|
1892
|
+
* Stops timers, resets transient flags, clears failover cache, sets status to
|
|
1893
|
+
* INACTIVE, tears down the Mobius WebSocket (when enabled), and finally emits
|
|
1894
|
+
* `LINE_EVENTS.UNREGISTERED` so the SDK consumer is notified.
|
|
1895
|
+
*
|
|
1896
|
+
* Runs under the shared mutex to avoid racing with other registration flows.
|
|
1897
|
+
*
|
|
1898
|
+
* @param caller - Identifier of the caller, used for logs.
|
|
1899
|
+
*/
|
|
1900
|
+
)
|
|
1901
|
+
}, {
|
|
1902
|
+
key: "performRegistrationDownCleanup",
|
|
1903
|
+
value: (function () {
|
|
1904
|
+
var _performRegistrationDownCleanup = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee30(caller) {
|
|
1905
|
+
var _this0 = this;
|
|
1906
|
+
var loggerContext;
|
|
1907
|
+
return _regenerator.default.wrap(function (_context31) {
|
|
1908
|
+
while (1) switch (_context31.prev = _context31.next) {
|
|
1909
|
+
case 0:
|
|
1910
|
+
loggerContext = {
|
|
1911
|
+
file: _constants2.REGISTRATION_FILE,
|
|
1912
|
+
method: _constants2.METHODS.HANDLE_REGISTRATION_DOWN_EVENT
|
|
1913
|
+
};
|
|
1914
|
+
_Logger.default.info("[".concat(caller, "] : Running registration-down cleanup"), loggerContext);
|
|
1915
|
+
_context31.next = 1;
|
|
1916
|
+
return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee29() {
|
|
1917
|
+
var _t9;
|
|
1918
|
+
return _regenerator.default.wrap(function (_context30) {
|
|
1919
|
+
while (1) switch (_context30.prev = _context30.next) {
|
|
1920
|
+
case 0:
|
|
1921
|
+
_this0.clearFailbackTimer();
|
|
1922
|
+
_this0.clearKeepaliveTimer();
|
|
1923
|
+
_this0.reconnectPending = false;
|
|
1924
|
+
_this0.scheduled429Retry = false;
|
|
1925
|
+
_this0.failoverImmediately = false;
|
|
1926
|
+
_this0.retryAfter = undefined;
|
|
1927
|
+
_this0.registerRetry = false;
|
|
1928
|
+
_this0.clearFailoverState();
|
|
1929
|
+
_this0.setStatus(_types2.RegistrationStatus.INACTIVE);
|
|
1930
|
+
if (!_this0.apiRequest.isSocketEnabled()) {
|
|
1931
|
+
_context30.next = 4;
|
|
1932
|
+
break;
|
|
1933
|
+
}
|
|
1934
|
+
_context30.prev = 1;
|
|
1935
|
+
_context30.next = 2;
|
|
1936
|
+
return _this0.apiRequest.disconnectFromMobiusSocket({
|
|
1937
|
+
code: 3050,
|
|
1938
|
+
reason: 'done (permanent)'
|
|
1939
|
+
});
|
|
1940
|
+
case 2:
|
|
1941
|
+
_Logger.default.log('Mobius socket disconnect complete after registration-down', loggerContext);
|
|
1942
|
+
_context30.next = 4;
|
|
1943
|
+
break;
|
|
1944
|
+
case 3:
|
|
1945
|
+
_context30.prev = 3;
|
|
1946
|
+
_t9 = _context30["catch"](1);
|
|
1947
|
+
_Logger.default.warn("Mobius socket disconnect failed after registration-down: ".concat(String(_t9)), loggerContext);
|
|
1948
|
+
case 4:
|
|
1949
|
+
_this0.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
|
|
1950
|
+
case 5:
|
|
1951
|
+
case "end":
|
|
1952
|
+
return _context30.stop();
|
|
1953
|
+
}
|
|
1954
|
+
}, _callee29, null, [[1, 3]]);
|
|
1955
|
+
})));
|
|
1956
|
+
case 1:
|
|
1957
|
+
case "end":
|
|
1958
|
+
return _context31.stop();
|
|
1959
|
+
}
|
|
1960
|
+
}, _callee30, this);
|
|
1961
|
+
}));
|
|
1962
|
+
function performRegistrationDownCleanup(_x20) {
|
|
1963
|
+
return _performRegistrationDownCleanup.apply(this, arguments);
|
|
1964
|
+
}
|
|
1965
|
+
return performRegistrationDownCleanup;
|
|
1678
1966
|
}())
|
|
1679
1967
|
}]);
|
|
1680
1968
|
}();
|