@webex/calling 3.8.0-web-workers-keepalive.2 → 3.8.1-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CallHistory/CallHistory.js +100 -63
- package/dist/CallHistory/CallHistory.js.map +1 -1
- package/dist/CallHistory/CallHistory.test.js +115 -19
- package/dist/CallHistory/CallHistory.test.js.map +1 -1
- package/dist/CallHistory/constants.js +9 -1
- package/dist/CallHistory/constants.js.map +1 -1
- package/dist/CallSettings/CallSettings.js +46 -13
- package/dist/CallSettings/CallSettings.js.map +1 -1
- package/dist/CallSettings/UcmBackendConnector.js +62 -18
- package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
- package/dist/CallSettings/UcmBackendConnector.test.js +70 -7
- package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
- package/dist/CallSettings/WxCallBackendConnector.js +153 -103
- package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
- package/dist/CallSettings/WxCallBackendConnector.test.js +52 -15
- package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
- package/dist/CallSettings/constants.js +15 -1
- package/dist/CallSettings/constants.js.map +1 -1
- package/dist/CallingClient/CallingClient.js +220 -159
- package/dist/CallingClient/CallingClient.js.map +1 -1
- package/dist/CallingClient/CallingClient.test.js +53 -24
- package/dist/CallingClient/CallingClient.test.js.map +1 -1
- package/dist/CallingClient/calling/call.js +251 -189
- package/dist/CallingClient/calling/call.js.map +1 -1
- package/dist/CallingClient/calling/call.test.js +96 -41
- package/dist/CallingClient/calling/call.test.js.map +1 -1
- package/dist/CallingClient/calling/callManager.js +73 -48
- package/dist/CallingClient/calling/callManager.js.map +1 -1
- package/dist/CallingClient/calling/callManager.test.js +96 -37
- package/dist/CallingClient/calling/callManager.test.js.map +1 -1
- package/dist/CallingClient/constants.js +105 -3
- package/dist/CallingClient/constants.js.map +1 -1
- package/dist/CallingClient/line/index.js +47 -18
- package/dist/CallingClient/line/index.js.map +1 -1
- package/dist/CallingClient/line/line.test.js +12 -6
- package/dist/CallingClient/line/line.test.js.map +1 -1
- package/dist/CallingClient/registration/register.js +591 -529
- package/dist/CallingClient/registration/register.js.map +1 -1
- package/dist/CallingClient/registration/register.test.js +806 -457
- package/dist/CallingClient/registration/register.test.js.map +1 -1
- package/dist/CallingClient/registration/types.js.map +1 -1
- package/dist/Contacts/ContactsClient.js +156 -102
- package/dist/Contacts/ContactsClient.js.map +1 -1
- package/dist/Contacts/ContactsClient.test.js +197 -49
- package/dist/Contacts/ContactsClient.test.js.map +1 -1
- package/dist/Contacts/constants.js +11 -1
- package/dist/Contacts/constants.js.map +1 -1
- package/dist/Errors/types.js +2 -0
- package/dist/Errors/types.js.map +1 -1
- package/dist/Events/impl/index.js +1 -1
- package/dist/Events/impl/index.js.map +1 -1
- package/dist/Metrics/index.js +102 -41
- package/dist/Metrics/index.js.map +1 -1
- package/dist/Metrics/index.test.js +10 -4
- package/dist/Metrics/index.test.js.map +1 -1
- package/dist/Metrics/types.js +4 -1
- package/dist/Metrics/types.js.map +1 -1
- package/dist/SDKConnector/types.js.map +1 -1
- package/dist/Voicemail/BroadworksBackendConnector.js +154 -91
- package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
- package/dist/Voicemail/BroadworksBackendConnector.test.js +99 -19
- package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
- package/dist/Voicemail/UcmBackendConnector.js +105 -54
- package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
- package/dist/Voicemail/UcmBackendConnector.test.js +127 -17
- package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
- package/dist/Voicemail/Voicemail.js +198 -79
- package/dist/Voicemail/Voicemail.js.map +1 -1
- package/dist/Voicemail/Voicemail.test.js +188 -23
- package/dist/Voicemail/Voicemail.test.js.map +1 -1
- package/dist/Voicemail/WxCallBackendConnector.js +123 -76
- package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
- package/dist/Voicemail/WxCallBackendConnector.test.js +69 -6
- package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
- package/dist/Voicemail/constants.js +25 -1
- package/dist/Voicemail/constants.js.map +1 -1
- package/dist/common/Utils.js +168 -104
- package/dist/common/Utils.js.map +1 -1
- package/dist/common/Utils.test.js +199 -35
- package/dist/common/Utils.test.js.map +1 -1
- package/dist/common/constants.js +2 -1
- package/dist/common/constants.js.map +1 -1
- package/dist/common/types.js +1 -8
- package/dist/common/types.js.map +1 -1
- package/dist/module/CallHistory/CallHistory.js +32 -13
- package/dist/module/CallHistory/constants.js +6 -0
- package/dist/module/CallSettings/CallSettings.js +36 -3
- package/dist/module/CallSettings/UcmBackendConnector.js +50 -5
- package/dist/module/CallSettings/WxCallBackendConnector.js +54 -18
- package/dist/module/CallSettings/constants.js +12 -0
- package/dist/module/CallingClient/CallingClient.js +54 -16
- package/dist/module/CallingClient/calling/call.js +172 -121
- package/dist/module/CallingClient/calling/callManager.js +51 -26
- package/dist/module/CallingClient/constants.js +102 -2
- package/dist/module/CallingClient/line/index.js +37 -8
- package/dist/module/CallingClient/registration/register.js +151 -108
- package/dist/module/Contacts/ContactsClient.js +65 -21
- package/dist/module/Contacts/constants.js +10 -0
- package/dist/module/Errors/types.js +2 -0
- package/dist/module/Events/impl/index.js +1 -1
- package/dist/module/Metrics/index.js +57 -2
- package/dist/module/Metrics/types.js +3 -0
- package/dist/module/Voicemail/BroadworksBackendConnector.js +66 -17
- package/dist/module/Voicemail/UcmBackendConnector.js +51 -11
- package/dist/module/Voicemail/Voicemail.js +109 -9
- package/dist/module/Voicemail/WxCallBackendConnector.js +50 -17
- package/dist/module/Voicemail/constants.js +21 -0
- package/dist/module/common/Utils.js +51 -12
- package/dist/module/common/constants.js +1 -0
- package/dist/module/common/types.js +0 -7
- package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
- package/dist/types/CallHistory/constants.d.ts +6 -0
- package/dist/types/CallHistory/constants.d.ts.map +1 -1
- package/dist/types/CallSettings/CallSettings.d.ts.map +1 -1
- package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
- package/dist/types/CallSettings/WxCallBackendConnector.d.ts.map +1 -1
- package/dist/types/CallSettings/constants.d.ts +12 -0
- package/dist/types/CallSettings/constants.d.ts.map +1 -1
- package/dist/types/CallingClient/CallingClient.d.ts +2 -3
- package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
- package/dist/types/CallingClient/constants.d.ts +102 -2
- package/dist/types/CallingClient/constants.d.ts.map +1 -1
- package/dist/types/CallingClient/line/index.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/register.d.ts +5 -2
- package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/types.d.ts +1 -0
- package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
- package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
- package/dist/types/Contacts/constants.d.ts +10 -0
- package/dist/types/Contacts/constants.d.ts.map +1 -1
- package/dist/types/Errors/types.d.ts +2 -0
- package/dist/types/Errors/types.d.ts.map +1 -1
- package/dist/types/Metrics/index.d.ts +1 -1
- package/dist/types/Metrics/index.d.ts.map +1 -1
- package/dist/types/Metrics/types.d.ts +7 -2
- package/dist/types/Metrics/types.d.ts.map +1 -1
- package/dist/types/SDKConnector/types.d.ts +8 -2
- package/dist/types/SDKConnector/types.d.ts.map +1 -1
- package/dist/types/Voicemail/BroadworksBackendConnector.d.ts.map +1 -1
- package/dist/types/Voicemail/UcmBackendConnector.d.ts.map +1 -1
- package/dist/types/Voicemail/Voicemail.d.ts +1 -1
- package/dist/types/Voicemail/Voicemail.d.ts.map +1 -1
- package/dist/types/Voicemail/WxCallBackendConnector.d.ts.map +1 -1
- package/dist/types/Voicemail/constants.d.ts +21 -0
- package/dist/types/Voicemail/constants.d.ts.map +1 -1
- package/dist/types/common/Utils.d.ts +4 -4
- package/dist/types/common/Utils.d.ts.map +1 -1
- package/dist/types/common/constants.d.ts +1 -0
- package/dist/types/common/constants.d.ts.map +1 -1
- package/dist/types/common/types.d.ts +11 -11
- package/dist/types/common/types.d.ts.map +1 -1
- package/package.json +4 -5
- package/dist/CallingClient/registration/webWorker.js +0 -115
- package/dist/CallingClient/registration/webWorker.js.map +0 -1
- package/dist/CallingClient/registration/webWorker.test.js +0 -256
- package/dist/CallingClient/registration/webWorker.test.js.map +0 -1
- package/dist/module/CallingClient/registration/webWorker.js +0 -59
- package/dist/types/CallingClient/registration/webWorker.d.ts +0 -2
- package/dist/types/CallingClient/registration/webWorker.d.ts.map +0 -1
|
@@ -23,16 +23,16 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/he
|
|
|
23
23
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
24
24
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
25
25
|
var _uuid = require("uuid");
|
|
26
|
-
var
|
|
26
|
+
var _constants = require("../../common/constants");
|
|
27
27
|
var _common = require("../../common");
|
|
28
|
-
var
|
|
28
|
+
var _types = require("../../Metrics/types");
|
|
29
29
|
var _Metrics = require("../../Metrics");
|
|
30
30
|
var _calling = require("../calling");
|
|
31
31
|
var _Logger = _interopRequireDefault(require("../../Logger"));
|
|
32
32
|
var _SDKConnector = _interopRequireDefault(require("../../SDKConnector"));
|
|
33
|
-
var
|
|
34
|
-
var
|
|
35
|
-
var
|
|
33
|
+
var _types2 = require("../../common/types");
|
|
34
|
+
var _constants2 = require("../constants");
|
|
35
|
+
var _types3 = require("../line/types");
|
|
36
36
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && o[_Symbol$iterator] || o["@@iterator"]; if (!it) { if (_Array$isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
37
37
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
38
38
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
@@ -54,6 +54,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
54
54
|
(0, _defineProperty2.default)(this, "registrationStatus", void 0);
|
|
55
55
|
(0, _defineProperty2.default)(this, "failbackTimer", void 0);
|
|
56
56
|
(0, _defineProperty2.default)(this, "activeMobiusUrl", void 0);
|
|
57
|
+
(0, _defineProperty2.default)(this, "keepaliveTimer", void 0);
|
|
57
58
|
(0, _defineProperty2.default)(this, "rehomingIntervalMin", void 0);
|
|
58
59
|
(0, _defineProperty2.default)(this, "rehomingIntervalMax", void 0);
|
|
59
60
|
(0, _defineProperty2.default)(this, "mutex", void 0);
|
|
@@ -68,21 +69,22 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
68
69
|
(0, _defineProperty2.default)(this, "jwe", void 0);
|
|
69
70
|
(0, _defineProperty2.default)(this, "isCCFlow", false);
|
|
70
71
|
(0, _defineProperty2.default)(this, "failoverImmediately", false);
|
|
71
|
-
(0, _defineProperty2.default)(this, "
|
|
72
|
+
(0, _defineProperty2.default)(this, "retryAfter", void 0);
|
|
73
|
+
(0, _defineProperty2.default)(this, "scheduled429Retry", false);
|
|
72
74
|
this.jwe = jwe;
|
|
73
75
|
this.sdkConnector = _SDKConnector.default;
|
|
74
76
|
this.serviceData = serviceData;
|
|
75
|
-
this.isCCFlow = serviceData.indicator ===
|
|
77
|
+
this.isCCFlow = serviceData.indicator === _types2.ServiceIndicator.CONTACT_CENTER;
|
|
76
78
|
if (!this.sdkConnector.getWebex()) {
|
|
77
79
|
_SDKConnector.default.setWebex(webex);
|
|
78
80
|
}
|
|
79
81
|
this.webex = this.sdkConnector.getWebex();
|
|
80
82
|
this.userId = this.webex.internal.device.userId;
|
|
81
|
-
this.registrationStatus =
|
|
83
|
+
this.registrationStatus = _types2.RegistrationStatus.IDLE;
|
|
82
84
|
this.failback429RetryAttempts = 0;
|
|
83
|
-
_Logger.default.setLogger(logLevel,
|
|
84
|
-
this.rehomingIntervalMin =
|
|
85
|
-
this.rehomingIntervalMax =
|
|
85
|
+
_Logger.default.setLogger(logLevel, _constants2.REGISTRATION_FILE);
|
|
86
|
+
this.rehomingIntervalMin = _constants2.DEFAULT_REHOMING_INTERVAL_MIN;
|
|
87
|
+
this.rehomingIntervalMax = _constants2.DEFAULT_REHOMING_INTERVAL_MAX;
|
|
86
88
|
this.mutex = mutex;
|
|
87
89
|
this.callManager = (0, _calling.getCallManager)(this.webex, serviceData.indicator);
|
|
88
90
|
this.metricManager = (0, _Metrics.getMetricManager)(this.webex, serviceData.indicator);
|
|
@@ -98,9 +100,9 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
98
100
|
}, {
|
|
99
101
|
key: "setActiveMobiusUrl",
|
|
100
102
|
value: function setActiveMobiusUrl(url) {
|
|
101
|
-
_Logger.default.info("
|
|
102
|
-
method:
|
|
103
|
-
file:
|
|
103
|
+
_Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with ").concat(url), {
|
|
104
|
+
method: _constants2.METHODS.UPDATE_ACTIVE_MOBIUS,
|
|
105
|
+
file: _constants2.REGISTRATION_FILE
|
|
104
106
|
});
|
|
105
107
|
this.activeMobiusUrl = url;
|
|
106
108
|
this.callManager.updateActiveMobius(url);
|
|
@@ -108,66 +110,102 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
108
110
|
}, {
|
|
109
111
|
key: "setMobiusServers",
|
|
110
112
|
value: function setMobiusServers(primaryMobiusUris, backupMobiusUris) {
|
|
113
|
+
_Logger.default.log(_constants.METHOD_START_MESSAGE, {
|
|
114
|
+
method: _constants2.METHODS.SET_MOBIUS_SERVERS,
|
|
115
|
+
file: _constants2.REGISTRATION_FILE
|
|
116
|
+
});
|
|
111
117
|
this.primaryMobiusUris = primaryMobiusUris;
|
|
112
118
|
this.backupMobiusUris = backupMobiusUris;
|
|
113
119
|
}
|
|
114
120
|
|
|
121
|
+
/**
|
|
122
|
+
* Implementation of sending keepalive.
|
|
123
|
+
*
|
|
124
|
+
*/
|
|
125
|
+
}, {
|
|
126
|
+
key: "postKeepAlive",
|
|
127
|
+
value: (function () {
|
|
128
|
+
var _postKeepAlive = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(url) {
|
|
129
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
130
|
+
while (1) switch (_context.prev = _context.next) {
|
|
131
|
+
case 0:
|
|
132
|
+
return _context.abrupt("return", this.webex.request({
|
|
133
|
+
uri: "".concat(url, "/status"),
|
|
134
|
+
method: _types2.HTTP_METHODS.POST,
|
|
135
|
+
headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, this.webex.internal.device.url), _constants2.SPARK_USER_AGENT, _constants2.CALLING_USER_AGENT),
|
|
136
|
+
service: _types2.ALLOWED_SERVICES.MOBIUS
|
|
137
|
+
}));
|
|
138
|
+
case 1:
|
|
139
|
+
case "end":
|
|
140
|
+
return _context.stop();
|
|
141
|
+
}
|
|
142
|
+
}, _callee, this);
|
|
143
|
+
}));
|
|
144
|
+
function postKeepAlive(_x) {
|
|
145
|
+
return _postKeepAlive.apply(this, arguments);
|
|
146
|
+
}
|
|
147
|
+
return postKeepAlive;
|
|
148
|
+
}()
|
|
115
149
|
/**
|
|
116
150
|
* Implementation of delete device.
|
|
117
151
|
*
|
|
118
152
|
*/
|
|
153
|
+
)
|
|
119
154
|
}, {
|
|
120
155
|
key: "deleteRegistration",
|
|
121
156
|
value: (function () {
|
|
122
|
-
var _deleteRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
157
|
+
var _deleteRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(url, deviceId, deviceUrl) {
|
|
123
158
|
var _response;
|
|
124
159
|
var response;
|
|
125
|
-
return _regenerator.default.wrap(function
|
|
126
|
-
while (1) switch (
|
|
160
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
161
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
127
162
|
case 0:
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
163
|
+
_context2.prev = 0;
|
|
164
|
+
_context2.t0 = fetch;
|
|
165
|
+
_context2.t1 = "".concat(url).concat(_constants2.DEVICES_ENDPOINT_RESOURCE, "/").concat(deviceId);
|
|
166
|
+
_context2.t2 = _types2.HTTP_METHODS.DELETE;
|
|
167
|
+
_context2.t3 = _defineProperty2.default;
|
|
168
|
+
_context2.t4 = _defineProperty2.default;
|
|
169
|
+
_context2.t5 = _defineProperty2.default;
|
|
170
|
+
_context2.t6 = (0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, deviceUrl);
|
|
171
|
+
_context2.next = 10;
|
|
137
172
|
return this.webex.credentials.getUserToken();
|
|
138
173
|
case 10:
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
method:
|
|
148
|
-
headers:
|
|
174
|
+
_context2.t7 = _context2.sent;
|
|
175
|
+
_context2.t8 = (0, _context2.t5)(_context2.t6, "Authorization", _context2.t7);
|
|
176
|
+
_context2.t9 = "".concat(_constants2.WEBEX_WEB_CLIENT, "_").concat((0, _uuid.v4)());
|
|
177
|
+
_context2.t10 = (0, _context2.t4)(_context2.t8, "trackingId", _context2.t9);
|
|
178
|
+
_context2.t11 = _constants2.SPARK_USER_AGENT;
|
|
179
|
+
_context2.t12 = _constants2.CALLING_USER_AGENT;
|
|
180
|
+
_context2.t13 = (0, _context2.t3)(_context2.t10, _context2.t11, _context2.t12);
|
|
181
|
+
_context2.t14 = {
|
|
182
|
+
method: _context2.t2,
|
|
183
|
+
headers: _context2.t13
|
|
149
184
|
};
|
|
150
|
-
|
|
151
|
-
return (0,
|
|
185
|
+
_context2.next = 20;
|
|
186
|
+
return (0, _context2.t0)(_context2.t1, _context2.t14);
|
|
152
187
|
case 20:
|
|
153
|
-
response =
|
|
154
|
-
|
|
188
|
+
response = _context2.sent;
|
|
189
|
+
_context2.next = 26;
|
|
155
190
|
break;
|
|
156
191
|
case 23:
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
_Logger.default.warn("Delete failed with Mobius", {
|
|
192
|
+
_context2.prev = 23;
|
|
193
|
+
_context2.t15 = _context2["catch"](0);
|
|
194
|
+
_Logger.default.warn("Delete failed with Mobius ".concat(_context2.t15), {
|
|
195
|
+
file: _constants2.REGISTRATION_FILE,
|
|
196
|
+
method: _constants2.METHODS.DEREGISTER
|
|
197
|
+
});
|
|
160
198
|
case 26:
|
|
161
|
-
this.setStatus(
|
|
162
|
-
this.lineEmitter(
|
|
163
|
-
return
|
|
199
|
+
this.setStatus(_types2.RegistrationStatus.INACTIVE);
|
|
200
|
+
this.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
|
|
201
|
+
return _context2.abrupt("return", (_response = response) === null || _response === void 0 ? void 0 : _response.json());
|
|
164
202
|
case 29:
|
|
165
203
|
case "end":
|
|
166
|
-
return
|
|
204
|
+
return _context2.stop();
|
|
167
205
|
}
|
|
168
|
-
},
|
|
206
|
+
}, _callee2, this, [[0, 23]]);
|
|
169
207
|
}));
|
|
170
|
-
function deleteRegistration(
|
|
208
|
+
function deleteRegistration(_x2, _x3, _x4) {
|
|
171
209
|
return _deleteRegistration.apply(this, arguments);
|
|
172
210
|
}
|
|
173
211
|
return deleteRegistration;
|
|
@@ -180,10 +218,10 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
180
218
|
}, {
|
|
181
219
|
key: "postRegistration",
|
|
182
220
|
value: (function () {
|
|
183
|
-
var _postRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
221
|
+
var _postRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(url) {
|
|
184
222
|
var deviceInfo;
|
|
185
|
-
return _regenerator.default.wrap(function
|
|
186
|
-
while (1) switch (
|
|
223
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
224
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
187
225
|
case 0:
|
|
188
226
|
deviceInfo = {
|
|
189
227
|
userId: this.userId,
|
|
@@ -192,20 +230,20 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
192
230
|
jwe: this.jwe
|
|
193
231
|
}) : this.serviceData
|
|
194
232
|
};
|
|
195
|
-
return
|
|
233
|
+
return _context3.abrupt("return", this.webex.request({
|
|
196
234
|
uri: "".concat(url, "device"),
|
|
197
|
-
method:
|
|
198
|
-
headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({},
|
|
235
|
+
method: _types2.HTTP_METHODS.POST,
|
|
236
|
+
headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, deviceInfo.clientDeviceUri), _constants2.SPARK_USER_AGENT, _constants2.CALLING_USER_AGENT),
|
|
199
237
|
body: deviceInfo,
|
|
200
|
-
service:
|
|
238
|
+
service: _types2.ALLOWED_SERVICES.MOBIUS
|
|
201
239
|
}));
|
|
202
240
|
case 2:
|
|
203
241
|
case "end":
|
|
204
|
-
return
|
|
242
|
+
return _context3.stop();
|
|
205
243
|
}
|
|
206
|
-
},
|
|
244
|
+
}, _callee3, this);
|
|
207
245
|
}));
|
|
208
|
-
function postRegistration(
|
|
246
|
+
function postRegistration(_x5) {
|
|
209
247
|
return _postRegistration.apply(this, arguments);
|
|
210
248
|
}
|
|
211
249
|
return postRegistration;
|
|
@@ -218,82 +256,89 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
218
256
|
}, {
|
|
219
257
|
key: "restorePreviousRegistration",
|
|
220
258
|
value: (function () {
|
|
221
|
-
var _restorePreviousRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
259
|
+
var _restorePreviousRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(caller) {
|
|
222
260
|
var abort;
|
|
223
|
-
return _regenerator.default.wrap(function
|
|
224
|
-
while (1) switch (
|
|
261
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
262
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
225
263
|
case 0:
|
|
226
264
|
abort = false;
|
|
227
265
|
if (!this.activeMobiusUrl) {
|
|
228
|
-
|
|
266
|
+
_context4.next = 5;
|
|
229
267
|
break;
|
|
230
268
|
}
|
|
231
|
-
|
|
269
|
+
_context4.next = 4;
|
|
232
270
|
return this.attemptRegistrationWithServers(caller, [this.activeMobiusUrl]);
|
|
233
271
|
case 4:
|
|
234
|
-
abort =
|
|
272
|
+
abort = _context4.sent;
|
|
235
273
|
case 5:
|
|
236
|
-
return
|
|
274
|
+
return _context4.abrupt("return", abort);
|
|
237
275
|
case 6:
|
|
238
276
|
case "end":
|
|
239
|
-
return
|
|
277
|
+
return _context4.stop();
|
|
240
278
|
}
|
|
241
|
-
},
|
|
279
|
+
}, _callee4, this);
|
|
242
280
|
}));
|
|
243
|
-
function restorePreviousRegistration(
|
|
281
|
+
function restorePreviousRegistration(_x6) {
|
|
244
282
|
return _restorePreviousRegistration.apply(this, arguments);
|
|
245
283
|
}
|
|
246
284
|
return restorePreviousRegistration;
|
|
247
285
|
}()
|
|
248
286
|
/**
|
|
249
|
-
*
|
|
250
|
-
* request did not even land on primary mobius to know if it
|
|
251
|
-
* can handle this device registration now, in such cases this
|
|
252
|
-
* method is called to retry sooner than the rehoming timer value.
|
|
287
|
+
*
|
|
253
288
|
*/
|
|
254
289
|
)
|
|
255
290
|
}, {
|
|
256
|
-
key: "
|
|
291
|
+
key: "handle429Retry",
|
|
257
292
|
value: (function () {
|
|
258
|
-
var
|
|
293
|
+
var _handle429Retry = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(retryAfter, caller) {
|
|
259
294
|
var interval, abort;
|
|
260
|
-
return _regenerator.default.wrap(function
|
|
261
|
-
while (1) switch (
|
|
295
|
+
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
296
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
262
297
|
case 0:
|
|
263
|
-
if (!(
|
|
264
|
-
|
|
298
|
+
if (!(caller === _constants2.FAILBACK_UTIL)) {
|
|
299
|
+
_context5.next = 17;
|
|
265
300
|
break;
|
|
266
301
|
}
|
|
267
|
-
|
|
268
|
-
|
|
302
|
+
if (!(this.failback429RetryAttempts >= _constants2.REG_FAILBACK_429_MAX_RETRIES)) {
|
|
303
|
+
_context5.next = 3;
|
|
304
|
+
break;
|
|
305
|
+
}
|
|
306
|
+
return _context5.abrupt("return");
|
|
307
|
+
case 3:
|
|
269
308
|
this.clearFailbackTimer();
|
|
270
309
|
this.failback429RetryAttempts += 1;
|
|
271
310
|
_Logger.default.log("Received 429 while rehoming, 429 retry count : ".concat(this.failback429RetryAttempts), {
|
|
272
|
-
file:
|
|
273
|
-
method:
|
|
311
|
+
file: _constants2.REGISTRATION_FILE,
|
|
312
|
+
method: _constants2.REG_429_RETRY_UTIL
|
|
274
313
|
});
|
|
275
314
|
interval = this.getRegRetryInterval(this.failback429RetryAttempts);
|
|
276
315
|
this.startFailbackTimer(interval);
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
316
|
+
this.scheduled429Retry = true;
|
|
317
|
+
_context5.next = 11;
|
|
318
|
+
return this.restorePreviousRegistration(_constants2.REG_429_RETRY_UTIL);
|
|
319
|
+
case 11:
|
|
320
|
+
abort = _context5.sent;
|
|
281
321
|
if (!(!abort && !this.isDeviceRegistered())) {
|
|
282
|
-
|
|
322
|
+
_context5.next = 15;
|
|
283
323
|
break;
|
|
284
324
|
}
|
|
285
|
-
|
|
286
|
-
return this.restartRegistration(
|
|
287
|
-
case
|
|
325
|
+
_context5.next = 15;
|
|
326
|
+
return this.restartRegistration(_constants2.REG_429_RETRY_UTIL);
|
|
327
|
+
case 15:
|
|
328
|
+
_context5.next = 18;
|
|
329
|
+
break;
|
|
330
|
+
case 17:
|
|
331
|
+
this.retryAfter = retryAfter;
|
|
332
|
+
case 18:
|
|
288
333
|
case "end":
|
|
289
|
-
return
|
|
334
|
+
return _context5.stop();
|
|
290
335
|
}
|
|
291
|
-
},
|
|
336
|
+
}, _callee5, this);
|
|
292
337
|
}));
|
|
293
|
-
function
|
|
294
|
-
return
|
|
338
|
+
function handle429Retry(_x7, _x8) {
|
|
339
|
+
return _handle429Retry.apply(this, arguments);
|
|
295
340
|
}
|
|
296
|
-
return
|
|
341
|
+
return handle429Retry;
|
|
297
342
|
}()
|
|
298
343
|
/**
|
|
299
344
|
* Calculates and returns a random interval value using input argument
|
|
@@ -306,7 +351,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
306
351
|
key: "getRegRetryInterval",
|
|
307
352
|
value: function getRegRetryInterval() {
|
|
308
353
|
var attempt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
|
|
309
|
-
return
|
|
354
|
+
return _constants2.BASE_REG_RETRY_TIMER_VAL_IN_SEC + Math.pow(_constants2.BASE_REG_TIMER_MFACTOR, attempt) + Math.floor((Math.random() * (_constants2.REG_RANDOM_T_FACTOR_UPPER_LIMIT - _constants2.SEC_TO_MSEC_MFACTOR + 1) + _constants2.SEC_TO_MSEC_MFACTOR) / _constants2.SEC_TO_MSEC_MFACTOR);
|
|
310
355
|
}
|
|
311
356
|
|
|
312
357
|
/**
|
|
@@ -319,7 +364,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
319
364
|
}, {
|
|
320
365
|
key: "startFailoverTimer",
|
|
321
366
|
value: (function () {
|
|
322
|
-
var _startFailoverTimer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
367
|
+
var _startFailoverTimer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10() {
|
|
323
368
|
var _this = this;
|
|
324
369
|
var attempt,
|
|
325
370
|
timeElapsed,
|
|
@@ -329,119 +374,136 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
329
374
|
excessVal,
|
|
330
375
|
abort,
|
|
331
376
|
scheduledTime,
|
|
332
|
-
|
|
333
|
-
return _regenerator.default.wrap(function
|
|
334
|
-
while (1) switch (
|
|
377
|
+
_args10 = arguments;
|
|
378
|
+
return _regenerator.default.wrap(function _callee10$(_context10) {
|
|
379
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
335
380
|
case 0:
|
|
336
|
-
attempt =
|
|
337
|
-
timeElapsed =
|
|
381
|
+
attempt = _args10.length > 0 && _args10[0] !== undefined ? _args10[0] : 1;
|
|
382
|
+
timeElapsed = _args10.length > 1 && _args10[1] !== undefined ? _args10[1] : 0;
|
|
338
383
|
loggerContext = {
|
|
339
|
-
file:
|
|
340
|
-
method:
|
|
384
|
+
file: _constants2.REGISTRATION_FILE,
|
|
385
|
+
method: _constants2.FAILOVER_UTIL
|
|
341
386
|
};
|
|
342
387
|
interval = this.getRegRetryInterval(attempt);
|
|
343
|
-
TIMER_THRESHOLD = this.isCCFlow ?
|
|
388
|
+
TIMER_THRESHOLD = this.isCCFlow ? _constants2.REG_TRY_BACKUP_TIMER_VAL_FOR_CC_IN_SEC : _constants2.REG_TRY_BACKUP_TIMER_VAL_IN_SEC;
|
|
344
389
|
if (timeElapsed + interval > TIMER_THRESHOLD) {
|
|
345
390
|
excessVal = timeElapsed + interval - TIMER_THRESHOLD;
|
|
346
391
|
interval -= excessVal;
|
|
347
392
|
}
|
|
348
|
-
if (
|
|
349
|
-
|
|
393
|
+
if (this.retryAfter != null && interval < this.retryAfter) {
|
|
394
|
+
this.failoverImmediately = this.retryAfter + timeElapsed > TIMER_THRESHOLD;
|
|
395
|
+
}
|
|
396
|
+
if (!(interval > _constants2.BASE_REG_RETRY_TIMER_VAL_IN_SEC && !this.failoverImmediately)) {
|
|
397
|
+
_context10.next = 14;
|
|
350
398
|
break;
|
|
351
399
|
}
|
|
352
400
|
scheduledTime = Math.floor((0, _now.default)() / 1000);
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
401
|
+
if (this.retryAfter != null) {
|
|
402
|
+
interval = Math.max(interval, this.retryAfter);
|
|
403
|
+
}
|
|
404
|
+
setTimeout( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {
|
|
405
|
+
return _regenerator.default.wrap(function _callee7$(_context7) {
|
|
406
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
356
407
|
case 0:
|
|
357
|
-
|
|
358
|
-
return _this.mutex.runExclusive( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
408
|
+
_context7.next = 2;
|
|
409
|
+
return _this.mutex.runExclusive( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
|
|
359
410
|
var currentTime;
|
|
360
|
-
return _regenerator.default.wrap(function
|
|
361
|
-
while (1) switch (
|
|
411
|
+
return _regenerator.default.wrap(function _callee6$(_context6) {
|
|
412
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
362
413
|
case 0:
|
|
363
|
-
|
|
364
|
-
return _this.attemptRegistrationWithServers(
|
|
414
|
+
_context6.next = 2;
|
|
415
|
+
return _this.attemptRegistrationWithServers(_constants2.FAILOVER_UTIL);
|
|
365
416
|
case 2:
|
|
366
|
-
abort =
|
|
417
|
+
abort = _context6.sent;
|
|
367
418
|
currentTime = Math.floor((0, _now.default)() / 1000);
|
|
368
419
|
if (!(!abort && !_this.isDeviceRegistered())) {
|
|
369
|
-
|
|
420
|
+
_context6.next = 7;
|
|
370
421
|
break;
|
|
371
422
|
}
|
|
372
|
-
|
|
423
|
+
_context6.next = 7;
|
|
373
424
|
return _this.startFailoverTimer(attempt + 1, timeElapsed + (currentTime - scheduledTime));
|
|
374
425
|
case 7:
|
|
375
426
|
case "end":
|
|
376
|
-
return
|
|
427
|
+
return _context6.stop();
|
|
377
428
|
}
|
|
378
|
-
},
|
|
429
|
+
}, _callee6);
|
|
379
430
|
})));
|
|
380
431
|
case 2:
|
|
381
432
|
case "end":
|
|
382
|
-
return
|
|
433
|
+
return _context7.stop();
|
|
383
434
|
}
|
|
384
|
-
},
|
|
385
|
-
})), interval *
|
|
435
|
+
}, _callee7);
|
|
436
|
+
})), interval * _constants2.SEC_TO_MSEC_MFACTOR);
|
|
386
437
|
_Logger.default.log("Scheduled retry with primary in ".concat(interval, " seconds, number of attempts : ").concat(attempt), loggerContext);
|
|
387
|
-
|
|
438
|
+
_context10.next = 26;
|
|
388
439
|
break;
|
|
389
|
-
case
|
|
440
|
+
case 14:
|
|
390
441
|
if (!this.backupMobiusUris.length) {
|
|
391
|
-
|
|
442
|
+
_context10.next = 23;
|
|
392
443
|
break;
|
|
393
444
|
}
|
|
394
|
-
_Logger.default.
|
|
445
|
+
_Logger.default.info('Failing over to backup servers.', loggerContext);
|
|
395
446
|
this.failoverImmediately = false;
|
|
396
|
-
|
|
397
|
-
return this.attemptRegistrationWithServers(
|
|
398
|
-
case
|
|
399
|
-
abort =
|
|
447
|
+
_context10.next = 19;
|
|
448
|
+
return this.attemptRegistrationWithServers(_constants2.FAILOVER_UTIL, this.backupMobiusUris);
|
|
449
|
+
case 19:
|
|
450
|
+
abort = _context10.sent;
|
|
400
451
|
if (!abort && !this.isDeviceRegistered()) {
|
|
401
452
|
interval = this.getRegRetryInterval();
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
453
|
+
if (this.retryAfter != null && this.retryAfter < _constants2.RETRY_TIMER_UPPER_LIMIT) {
|
|
454
|
+
interval = interval < this.retryAfter ? this.retryAfter : interval;
|
|
455
|
+
}
|
|
456
|
+
setTimeout( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9() {
|
|
457
|
+
return _regenerator.default.wrap(function _callee9$(_context9) {
|
|
458
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
405
459
|
case 0:
|
|
406
|
-
|
|
407
|
-
return _this.mutex.runExclusive( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
408
|
-
return _regenerator.default.wrap(function
|
|
409
|
-
while (1) switch (
|
|
460
|
+
_context9.next = 2;
|
|
461
|
+
return _this.mutex.runExclusive( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {
|
|
462
|
+
return _regenerator.default.wrap(function _callee8$(_context8) {
|
|
463
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
410
464
|
case 0:
|
|
411
|
-
|
|
412
|
-
return _this.attemptRegistrationWithServers(
|
|
465
|
+
_context8.next = 2;
|
|
466
|
+
return _this.attemptRegistrationWithServers(_constants2.FAILOVER_UTIL, _this.backupMobiusUris);
|
|
413
467
|
case 2:
|
|
414
|
-
abort =
|
|
415
|
-
if (!abort && !_this.isDeviceRegistered()) {
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
}, loggerContext);
|
|
468
|
+
abort = _context8.sent;
|
|
469
|
+
if (!(!abort && !_this.isDeviceRegistered())) {
|
|
470
|
+
_context8.next = 7;
|
|
471
|
+
break;
|
|
419
472
|
}
|
|
420
|
-
|
|
473
|
+
_context8.next = 6;
|
|
474
|
+
return (0, _common.uploadLogs)();
|
|
475
|
+
case 6:
|
|
476
|
+
(0, _common.emitFinalFailure)(function (clientError) {
|
|
477
|
+
_this.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
|
|
478
|
+
}, loggerContext);
|
|
479
|
+
case 7:
|
|
421
480
|
case "end":
|
|
422
|
-
return
|
|
481
|
+
return _context8.stop();
|
|
423
482
|
}
|
|
424
|
-
},
|
|
483
|
+
}, _callee8);
|
|
425
484
|
})));
|
|
426
485
|
case 2:
|
|
427
486
|
case "end":
|
|
428
|
-
return
|
|
487
|
+
return _context9.stop();
|
|
429
488
|
}
|
|
430
|
-
},
|
|
431
|
-
})), interval *
|
|
489
|
+
}, _callee9);
|
|
490
|
+
})), interval * _constants2.SEC_TO_MSEC_MFACTOR);
|
|
432
491
|
_Logger.default.log("Scheduled retry with backup servers in ".concat(interval, " seconds."), loggerContext);
|
|
433
492
|
}
|
|
434
|
-
|
|
493
|
+
_context10.next = 26;
|
|
435
494
|
break;
|
|
436
|
-
case
|
|
495
|
+
case 23:
|
|
496
|
+
_context10.next = 25;
|
|
497
|
+
return (0, _common.uploadLogs)();
|
|
498
|
+
case 25:
|
|
437
499
|
(0, _common.emitFinalFailure)(function (clientError) {
|
|
438
|
-
_this.lineEmitter(
|
|
500
|
+
_this.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
|
|
439
501
|
}, loggerContext);
|
|
440
|
-
case
|
|
502
|
+
case 26:
|
|
441
503
|
case "end":
|
|
442
|
-
return
|
|
504
|
+
return _context10.stop();
|
|
443
505
|
}
|
|
444
|
-
},
|
|
506
|
+
}, _callee10, this);
|
|
445
507
|
}));
|
|
446
508
|
function startFailoverTimer() {
|
|
447
509
|
return _startFailoverTimer.apply(this, arguments);
|
|
@@ -491,7 +553,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
491
553
|
if (!this.failbackTimer) {
|
|
492
554
|
this.failback429RetryAttempts = 0;
|
|
493
555
|
var intervalInMinutes = this.getFailbackInterval();
|
|
494
|
-
this.startFailbackTimer(intervalInMinutes *
|
|
556
|
+
this.startFailbackTimer(intervalInMinutes * _constants2.MINUTES_TO_SEC_MFACTOR);
|
|
495
557
|
}
|
|
496
558
|
} else {
|
|
497
559
|
this.failback429RetryAttempts = 0;
|
|
@@ -507,19 +569,19 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
507
569
|
key: "startFailbackTimer",
|
|
508
570
|
value: function startFailbackTimer(intervalInSeconds) {
|
|
509
571
|
var _this2 = this;
|
|
510
|
-
this.failbackTimer = setTimeout( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
511
|
-
return _regenerator.default.wrap(function
|
|
512
|
-
while (1) switch (
|
|
572
|
+
this.failbackTimer = setTimeout( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11() {
|
|
573
|
+
return _regenerator.default.wrap(function _callee11$(_context11) {
|
|
574
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
513
575
|
case 0:
|
|
514
|
-
return
|
|
576
|
+
return _context11.abrupt("return", _this2.executeFailback());
|
|
515
577
|
case 1:
|
|
516
578
|
case "end":
|
|
517
|
-
return
|
|
579
|
+
return _context11.stop();
|
|
518
580
|
}
|
|
519
|
-
},
|
|
520
|
-
})), intervalInSeconds *
|
|
581
|
+
}, _callee11);
|
|
582
|
+
})), intervalInSeconds * _constants2.SEC_TO_MSEC_MFACTOR);
|
|
521
583
|
_Logger.default.log("Failback scheduled after ".concat(intervalInSeconds, " seconds."), {
|
|
522
|
-
file:
|
|
584
|
+
file: _constants2.REGISTRATION_FILE,
|
|
523
585
|
method: this.startFailbackTimer.name
|
|
524
586
|
});
|
|
525
587
|
}
|
|
@@ -531,84 +593,86 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
531
593
|
}, {
|
|
532
594
|
key: "executeFailback",
|
|
533
595
|
value: (function () {
|
|
534
|
-
var _executeFailback = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
596
|
+
var _executeFailback = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee13() {
|
|
535
597
|
var _this3 = this;
|
|
536
|
-
return _regenerator.default.wrap(function
|
|
537
|
-
while (1) switch (
|
|
598
|
+
return _regenerator.default.wrap(function _callee13$(_context13) {
|
|
599
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
538
600
|
case 0:
|
|
539
|
-
|
|
540
|
-
return this.mutex.runExclusive( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
601
|
+
_context13.next = 2;
|
|
602
|
+
return this.mutex.runExclusive( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee12() {
|
|
541
603
|
var abort, abortNew;
|
|
542
|
-
return _regenerator.default.wrap(function
|
|
543
|
-
while (1) switch (
|
|
604
|
+
return _regenerator.default.wrap(function _callee12$(_context12) {
|
|
605
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
544
606
|
case 0:
|
|
545
607
|
if (!_this3.isFailbackRequired()) {
|
|
546
|
-
|
|
608
|
+
_context12.next = 28;
|
|
547
609
|
break;
|
|
548
610
|
}
|
|
549
611
|
if (!((0, _keys.default)(_this3.callManager.getActiveCalls()).length === 0)) {
|
|
550
|
-
|
|
612
|
+
_context12.next = 25;
|
|
551
613
|
break;
|
|
552
614
|
}
|
|
553
615
|
_Logger.default.info("Attempting failback to primary.", {
|
|
554
|
-
file:
|
|
616
|
+
file: _constants2.REGISTRATION_FILE,
|
|
555
617
|
method: _this3.executeFailback.name
|
|
556
618
|
});
|
|
557
|
-
|
|
619
|
+
_context12.next = 5;
|
|
558
620
|
return _this3.deregister();
|
|
559
621
|
case 5:
|
|
560
|
-
|
|
561
|
-
return _this3.attemptRegistrationWithServers(
|
|
622
|
+
_context12.next = 7;
|
|
623
|
+
return _this3.attemptRegistrationWithServers(_constants2.FAILBACK_UTIL);
|
|
562
624
|
case 7:
|
|
563
|
-
abort =
|
|
564
|
-
if (!(
|
|
565
|
-
|
|
625
|
+
abort = _context12.sent;
|
|
626
|
+
if (!(_this3.scheduled429Retry || abort || _this3.isDeviceRegistered())) {
|
|
627
|
+
_context12.next = 10;
|
|
566
628
|
break;
|
|
567
629
|
}
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
630
|
+
return _context12.abrupt("return");
|
|
631
|
+
case 10:
|
|
632
|
+
_context12.next = 12;
|
|
633
|
+
return _this3.restorePreviousRegistration(_constants2.FAILBACK_UTIL);
|
|
634
|
+
case 12:
|
|
635
|
+
abortNew = _context12.sent;
|
|
572
636
|
if (!abortNew) {
|
|
573
|
-
|
|
637
|
+
_context12.next = 16;
|
|
574
638
|
break;
|
|
575
639
|
}
|
|
576
640
|
_this3.clearFailbackTimer();
|
|
577
|
-
return
|
|
578
|
-
case
|
|
641
|
+
return _context12.abrupt("return");
|
|
642
|
+
case 16:
|
|
579
643
|
if (_this3.isDeviceRegistered()) {
|
|
580
|
-
|
|
644
|
+
_context12.next = 21;
|
|
581
645
|
break;
|
|
582
646
|
}
|
|
583
|
-
|
|
647
|
+
_context12.next = 19;
|
|
584
648
|
return _this3.restartRegistration(_this3.executeFailback.name);
|
|
585
|
-
case
|
|
586
|
-
|
|
649
|
+
case 19:
|
|
650
|
+
_context12.next = 23;
|
|
587
651
|
break;
|
|
588
|
-
case
|
|
652
|
+
case 21:
|
|
589
653
|
_this3.failbackTimer = undefined;
|
|
590
654
|
_this3.initiateFailback();
|
|
591
|
-
case
|
|
592
|
-
|
|
655
|
+
case 23:
|
|
656
|
+
_context12.next = 28;
|
|
593
657
|
break;
|
|
594
|
-
case
|
|
658
|
+
case 25:
|
|
595
659
|
_Logger.default.info('Active calls present, deferring failback to next cycle.', {
|
|
596
|
-
file:
|
|
660
|
+
file: _constants2.REGISTRATION_FILE,
|
|
597
661
|
method: _this3.executeFailback.name
|
|
598
662
|
});
|
|
599
663
|
_this3.failbackTimer = undefined;
|
|
600
664
|
_this3.initiateFailback();
|
|
601
|
-
case
|
|
665
|
+
case 28:
|
|
602
666
|
case "end":
|
|
603
|
-
return
|
|
667
|
+
return _context12.stop();
|
|
604
668
|
}
|
|
605
|
-
},
|
|
669
|
+
}, _callee12);
|
|
606
670
|
})));
|
|
607
671
|
case 2:
|
|
608
672
|
case "end":
|
|
609
|
-
return
|
|
673
|
+
return _context13.stop();
|
|
610
674
|
}
|
|
611
|
-
},
|
|
675
|
+
}, _callee13, this);
|
|
612
676
|
}));
|
|
613
677
|
function executeFailback() {
|
|
614
678
|
return _executeFailback.apply(this, arguments);
|
|
@@ -626,8 +690,8 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
626
690
|
key: "setIntervalValues",
|
|
627
691
|
value: function setIntervalValues(deviceInfo) {
|
|
628
692
|
if (this.primaryMobiusUris.indexOf(this.activeMobiusUrl) !== -1) {
|
|
629
|
-
this.rehomingIntervalMin = deviceInfo !== null && deviceInfo !== void 0 && deviceInfo.rehomingIntervalMin ? deviceInfo.rehomingIntervalMin :
|
|
630
|
-
this.rehomingIntervalMax = deviceInfo !== null && deviceInfo !== void 0 && deviceInfo.rehomingIntervalMax ? deviceInfo.rehomingIntervalMax :
|
|
693
|
+
this.rehomingIntervalMin = deviceInfo !== null && deviceInfo !== void 0 && deviceInfo.rehomingIntervalMin ? deviceInfo.rehomingIntervalMin : _constants2.DEFAULT_REHOMING_INTERVAL_MIN;
|
|
694
|
+
this.rehomingIntervalMax = deviceInfo !== null && deviceInfo !== void 0 && deviceInfo.rehomingIntervalMax ? deviceInfo.rehomingIntervalMax : _constants2.DEFAULT_REHOMING_INTERVAL_MAX;
|
|
631
695
|
}
|
|
632
696
|
}
|
|
633
697
|
|
|
@@ -650,7 +714,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
650
714
|
}, {
|
|
651
715
|
key: "isDeviceRegistered",
|
|
652
716
|
value: function isDeviceRegistered() {
|
|
653
|
-
return this.registrationStatus ===
|
|
717
|
+
return this.registrationStatus === _types2.RegistrationStatus.ACTIVE;
|
|
654
718
|
}
|
|
655
719
|
}, {
|
|
656
720
|
key: "getStatus",
|
|
@@ -671,10 +735,10 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
671
735
|
}, {
|
|
672
736
|
key: "restartRegistration",
|
|
673
737
|
value: (function () {
|
|
674
|
-
var _restartRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
738
|
+
var _restartRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee14(caller) {
|
|
675
739
|
var abort;
|
|
676
|
-
return _regenerator.default.wrap(function
|
|
677
|
-
while (1) switch (
|
|
740
|
+
return _regenerator.default.wrap(function _callee14$(_context14) {
|
|
741
|
+
while (1) switch (_context14.prev = _context14.next) {
|
|
678
742
|
case 0:
|
|
679
743
|
/*
|
|
680
744
|
* Cancel any failback timer running
|
|
@@ -682,23 +746,23 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
682
746
|
*/
|
|
683
747
|
this.clearFailbackTimer();
|
|
684
748
|
this.failback429RetryAttempts = 0;
|
|
685
|
-
|
|
749
|
+
_context14.next = 4;
|
|
686
750
|
return this.attemptRegistrationWithServers(caller, this.primaryMobiusUris);
|
|
687
751
|
case 4:
|
|
688
|
-
abort =
|
|
752
|
+
abort = _context14.sent;
|
|
689
753
|
if (!(!abort && !this.isDeviceRegistered())) {
|
|
690
|
-
|
|
754
|
+
_context14.next = 8;
|
|
691
755
|
break;
|
|
692
756
|
}
|
|
693
|
-
|
|
757
|
+
_context14.next = 8;
|
|
694
758
|
return this.startFailoverTimer();
|
|
695
759
|
case 8:
|
|
696
760
|
case "end":
|
|
697
|
-
return
|
|
761
|
+
return _context14.stop();
|
|
698
762
|
}
|
|
699
|
-
},
|
|
763
|
+
}, _callee14, this);
|
|
700
764
|
}));
|
|
701
|
-
function restartRegistration(
|
|
765
|
+
function restartRegistration(_x9) {
|
|
702
766
|
return _restartRegistration.apply(this, arguments);
|
|
703
767
|
}
|
|
704
768
|
return restartRegistration;
|
|
@@ -712,64 +776,68 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
712
776
|
}, {
|
|
713
777
|
key: "handleConnectionRestoration",
|
|
714
778
|
value: (function () {
|
|
715
|
-
var _handleConnectionRestoration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
779
|
+
var _handleConnectionRestoration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16(retry) {
|
|
716
780
|
var _this4 = this;
|
|
717
|
-
return _regenerator.default.wrap(function
|
|
718
|
-
while (1) switch (
|
|
781
|
+
return _regenerator.default.wrap(function _callee16$(_context16) {
|
|
782
|
+
while (1) switch (_context16.prev = _context16.next) {
|
|
719
783
|
case 0:
|
|
720
|
-
|
|
721
|
-
|
|
784
|
+
_Logger.default.info(_constants.METHOD_START_MESSAGE, {
|
|
785
|
+
method: _constants2.METHODS.HANDLE_CONNECTION_RESTORATION,
|
|
786
|
+
file: _constants2.REGISTRATION_FILE
|
|
787
|
+
});
|
|
788
|
+
_context16.next = 3;
|
|
789
|
+
return this.mutex.runExclusive( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15() {
|
|
722
790
|
var abort;
|
|
723
|
-
return _regenerator.default.wrap(function
|
|
724
|
-
while (1) switch (
|
|
791
|
+
return _regenerator.default.wrap(function _callee15$(_context15) {
|
|
792
|
+
while (1) switch (_context15.prev = _context15.next) {
|
|
725
793
|
case 0:
|
|
726
794
|
if (!retry) {
|
|
727
|
-
|
|
795
|
+
_context15.next = 14;
|
|
728
796
|
break;
|
|
729
797
|
}
|
|
730
|
-
_Logger.default.
|
|
731
|
-
file:
|
|
798
|
+
_Logger.default.log('Mercury connection is up again, re-registering with Webex Calling if needed', {
|
|
799
|
+
file: _constants2.REGISTRATION_FILE,
|
|
732
800
|
method: _this4.handleConnectionRestoration.name
|
|
733
801
|
});
|
|
734
802
|
_this4.clearKeepaliveTimer();
|
|
735
803
|
if (!_this4.isDeviceRegistered()) {
|
|
736
|
-
|
|
804
|
+
_context15.next = 6;
|
|
737
805
|
break;
|
|
738
806
|
}
|
|
739
|
-
|
|
807
|
+
_context15.next = 6;
|
|
740
808
|
return _this4.deregister();
|
|
741
809
|
case 6:
|
|
742
810
|
if (!_this4.activeMobiusUrl) {
|
|
743
|
-
|
|
811
|
+
_context15.next = 13;
|
|
744
812
|
break;
|
|
745
813
|
}
|
|
746
|
-
|
|
814
|
+
_context15.next = 9;
|
|
747
815
|
return _this4.restorePreviousRegistration(_this4.handleConnectionRestoration.name);
|
|
748
816
|
case 9:
|
|
749
|
-
abort =
|
|
817
|
+
abort = _context15.sent;
|
|
750
818
|
if (!(!abort && !_this4.isDeviceRegistered())) {
|
|
751
|
-
|
|
819
|
+
_context15.next = 13;
|
|
752
820
|
break;
|
|
753
821
|
}
|
|
754
|
-
|
|
822
|
+
_context15.next = 13;
|
|
755
823
|
return _this4.restartRegistration(_this4.handleConnectionRestoration.name);
|
|
756
824
|
case 13:
|
|
757
825
|
retry = false;
|
|
758
826
|
case 14:
|
|
759
827
|
case "end":
|
|
760
|
-
return
|
|
828
|
+
return _context15.stop();
|
|
761
829
|
}
|
|
762
|
-
},
|
|
830
|
+
}, _callee15);
|
|
763
831
|
})));
|
|
764
|
-
case 2:
|
|
765
|
-
return _context15.abrupt("return", retry);
|
|
766
832
|
case 3:
|
|
833
|
+
return _context16.abrupt("return", retry);
|
|
834
|
+
case 4:
|
|
767
835
|
case "end":
|
|
768
|
-
return
|
|
836
|
+
return _context16.stop();
|
|
769
837
|
}
|
|
770
|
-
},
|
|
838
|
+
}, _callee16, this);
|
|
771
839
|
}));
|
|
772
|
-
function handleConnectionRestoration(
|
|
840
|
+
function handleConnectionRestoration(_x10) {
|
|
773
841
|
return _handleConnectionRestoration.apply(this, arguments);
|
|
774
842
|
}
|
|
775
843
|
return handleConnectionRestoration;
|
|
@@ -785,53 +853,53 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
785
853
|
value: function restoreRegistrationCallBack() {
|
|
786
854
|
var _this5 = this;
|
|
787
855
|
return /*#__PURE__*/function () {
|
|
788
|
-
var _ref8 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
856
|
+
var _ref8 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee17(restoreData, caller) {
|
|
789
857
|
var logContext, restore, finalError;
|
|
790
|
-
return _regenerator.default.wrap(function
|
|
791
|
-
while (1) switch (
|
|
858
|
+
return _regenerator.default.wrap(function _callee17$(_context17) {
|
|
859
|
+
while (1) switch (_context17.prev = _context17.next) {
|
|
792
860
|
case 0:
|
|
793
861
|
logContext = {
|
|
794
|
-
file:
|
|
862
|
+
file: _constants2.REGISTRATION_FILE,
|
|
795
863
|
method: caller
|
|
796
864
|
};
|
|
797
865
|
if (_this5.isRegRetry()) {
|
|
798
|
-
|
|
866
|
+
_context17.next = 17;
|
|
799
867
|
break;
|
|
800
868
|
}
|
|
801
869
|
_Logger.default.info('Registration restoration in progress.', logContext);
|
|
802
870
|
restore = _this5.getExistingDevice(restoreData);
|
|
803
871
|
if (!restore) {
|
|
804
|
-
|
|
872
|
+
_context17.next = 14;
|
|
805
873
|
break;
|
|
806
874
|
}
|
|
807
875
|
_this5.setRegRetry(true);
|
|
808
|
-
|
|
876
|
+
_context17.next = 8;
|
|
809
877
|
return _this5.deregister();
|
|
810
878
|
case 8:
|
|
811
|
-
|
|
879
|
+
_context17.next = 10;
|
|
812
880
|
return _this5.restorePreviousRegistration(caller);
|
|
813
881
|
case 10:
|
|
814
|
-
finalError =
|
|
882
|
+
finalError = _context17.sent;
|
|
815
883
|
_this5.setRegRetry(false);
|
|
816
884
|
if (_this5.isDeviceRegistered()) {
|
|
817
885
|
_Logger.default.info('Registration restored successfully.', logContext);
|
|
818
886
|
}
|
|
819
|
-
return
|
|
887
|
+
return _context17.abrupt("return", finalError);
|
|
820
888
|
case 14:
|
|
821
|
-
_this5.lineEmitter(
|
|
822
|
-
|
|
889
|
+
_this5.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
|
|
890
|
+
_context17.next = 18;
|
|
823
891
|
break;
|
|
824
892
|
case 17:
|
|
825
|
-
_this5.lineEmitter(
|
|
893
|
+
_this5.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
|
|
826
894
|
case 18:
|
|
827
|
-
return
|
|
895
|
+
return _context17.abrupt("return", false);
|
|
828
896
|
case 19:
|
|
829
897
|
case "end":
|
|
830
|
-
return
|
|
898
|
+
return _context17.stop();
|
|
831
899
|
}
|
|
832
|
-
},
|
|
900
|
+
}, _callee17);
|
|
833
901
|
}));
|
|
834
|
-
return function (
|
|
902
|
+
return function (_x11, _x12) {
|
|
835
903
|
return _ref8.apply(this, arguments);
|
|
836
904
|
};
|
|
837
905
|
}();
|
|
@@ -844,30 +912,30 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
844
912
|
}, {
|
|
845
913
|
key: "triggerRegistration",
|
|
846
914
|
value: (function () {
|
|
847
|
-
var _triggerRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
915
|
+
var _triggerRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee18() {
|
|
848
916
|
var abort;
|
|
849
|
-
return _regenerator.default.wrap(function
|
|
850
|
-
while (1) switch (
|
|
917
|
+
return _regenerator.default.wrap(function _callee18$(_context18) {
|
|
918
|
+
while (1) switch (_context18.prev = _context18.next) {
|
|
851
919
|
case 0:
|
|
852
920
|
if (!(this.primaryMobiusUris.length > 0)) {
|
|
853
|
-
|
|
921
|
+
_context18.next = 7;
|
|
854
922
|
break;
|
|
855
923
|
}
|
|
856
|
-
|
|
857
|
-
return this.attemptRegistrationWithServers(
|
|
924
|
+
_context18.next = 3;
|
|
925
|
+
return this.attemptRegistrationWithServers(_constants2.REGISTRATION_UTIL, this.primaryMobiusUris);
|
|
858
926
|
case 3:
|
|
859
|
-
abort =
|
|
927
|
+
abort = _context18.sent;
|
|
860
928
|
if (!(!this.isDeviceRegistered() && !abort)) {
|
|
861
|
-
|
|
929
|
+
_context18.next = 7;
|
|
862
930
|
break;
|
|
863
931
|
}
|
|
864
|
-
|
|
932
|
+
_context18.next = 7;
|
|
865
933
|
return this.startFailoverTimer();
|
|
866
934
|
case 7:
|
|
867
935
|
case "end":
|
|
868
|
-
return
|
|
936
|
+
return _context18.stop();
|
|
869
937
|
}
|
|
870
|
-
},
|
|
938
|
+
}, _callee18, this);
|
|
871
939
|
}));
|
|
872
940
|
function triggerRegistration() {
|
|
873
941
|
return _triggerRegistration.apply(this, arguments);
|
|
@@ -886,143 +954,154 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
886
954
|
}, {
|
|
887
955
|
key: "attemptRegistrationWithServers",
|
|
888
956
|
value: (function () {
|
|
889
|
-
var _attemptRegistrationWithServers = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
957
|
+
var _attemptRegistrationWithServers = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19(caller) {
|
|
890
958
|
var _this6 = this;
|
|
891
959
|
var servers,
|
|
892
960
|
abort,
|
|
893
961
|
_iterator,
|
|
894
962
|
_step,
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
_args18 = arguments;
|
|
901
|
-
return _regenerator.default.wrap(function _callee18$(_context18) {
|
|
902
|
-
while (1) switch (_context18.prev = _context18.next) {
|
|
963
|
+
_loop,
|
|
964
|
+
_ret,
|
|
965
|
+
_args20 = arguments;
|
|
966
|
+
return _regenerator.default.wrap(function _callee19$(_context20) {
|
|
967
|
+
while (1) switch (_context20.prev = _context20.next) {
|
|
903
968
|
case 0:
|
|
904
|
-
servers =
|
|
969
|
+
servers = _args20.length > 1 && _args20[1] !== undefined ? _args20[1] : this.primaryMobiusUris;
|
|
905
970
|
abort = false;
|
|
971
|
+
this.retryAfter = undefined;
|
|
906
972
|
if (!this.failoverImmediately) {
|
|
907
|
-
|
|
973
|
+
_context20.next = 5;
|
|
908
974
|
break;
|
|
909
975
|
}
|
|
910
|
-
return
|
|
911
|
-
case
|
|
976
|
+
return _context20.abrupt("return", abort);
|
|
977
|
+
case 5:
|
|
912
978
|
if (!this.isDeviceRegistered()) {
|
|
913
|
-
|
|
979
|
+
_context20.next = 8;
|
|
914
980
|
break;
|
|
915
981
|
}
|
|
916
|
-
_Logger.default.
|
|
917
|
-
file:
|
|
918
|
-
method:
|
|
982
|
+
_Logger.default.info("[".concat(caller, "] : Device already registered with : ").concat(this.activeMobiusUrl), {
|
|
983
|
+
file: _constants2.REGISTRATION_FILE,
|
|
984
|
+
method: _constants2.REGISTER_UTIL
|
|
919
985
|
});
|
|
920
|
-
return
|
|
921
|
-
case
|
|
986
|
+
return _context20.abrupt("return", abort);
|
|
987
|
+
case 8:
|
|
922
988
|
_iterator = _createForOfIteratorHelper(servers);
|
|
923
|
-
|
|
989
|
+
_context20.prev = 9;
|
|
990
|
+
_loop = /*#__PURE__*/_regenerator.default.mark(function _loop() {
|
|
991
|
+
var _this6$backupMobiusUr;
|
|
992
|
+
var url, serverType, _this6$deviceInfo$dev, _resp$headers$trackin, _resp$headers, _this6$deviceInfo$dev2, resp, body;
|
|
993
|
+
return _regenerator.default.wrap(function _loop$(_context19) {
|
|
994
|
+
while (1) switch (_context19.prev = _context19.next) {
|
|
995
|
+
case 0:
|
|
996
|
+
url = _step.value;
|
|
997
|
+
serverType = _this6.primaryMobiusUris.includes(url) && 'PRIMARY' || ((_this6$backupMobiusUr = _this6.backupMobiusUris) === null || _this6$backupMobiusUr === void 0 ? void 0 : _this6$backupMobiusUr.includes(url)) && 'BACKUP' || 'UNKNOWN';
|
|
998
|
+
_context19.prev = 2;
|
|
999
|
+
abort = false;
|
|
1000
|
+
_this6.registrationStatus = _types2.RegistrationStatus.INACTIVE;
|
|
1001
|
+
_this6.lineEmitter(_types3.LINE_EVENTS.CONNECTING);
|
|
1002
|
+
_Logger.default.info("[".concat(caller, "] : Mobius url to contact: ").concat(url), {
|
|
1003
|
+
file: _constants2.REGISTRATION_FILE,
|
|
1004
|
+
method: _constants2.REGISTER_UTIL
|
|
1005
|
+
});
|
|
1006
|
+
// eslint-disable-next-line no-await-in-loop
|
|
1007
|
+
_context19.next = 9;
|
|
1008
|
+
return _this6.postRegistration(url);
|
|
1009
|
+
case 9:
|
|
1010
|
+
resp = _context19.sent;
|
|
1011
|
+
_this6.deviceInfo = resp.body;
|
|
1012
|
+
_this6.registrationStatus = _types2.RegistrationStatus.ACTIVE;
|
|
1013
|
+
_this6.lineEmitter(_types3.LINE_EVENTS.REGISTERED, resp.body);
|
|
1014
|
+
_Logger.default.log("Registration successful for deviceId: ".concat((_this6$deviceInfo$dev = _this6.deviceInfo.device) === null || _this6$deviceInfo$dev === void 0 ? void 0 : _this6$deviceInfo$dev.deviceId, " userId: ").concat(_this6.userId), {
|
|
1015
|
+
file: _constants2.REGISTRATION_FILE,
|
|
1016
|
+
method: _constants2.METHODS.REGISTER
|
|
1017
|
+
});
|
|
1018
|
+
_this6.setActiveMobiusUrl(url);
|
|
1019
|
+
_this6.setIntervalValues(_this6.deviceInfo);
|
|
1020
|
+
_this6.metricManager.setDeviceInfo(_this6.deviceInfo);
|
|
1021
|
+
_this6.metricManager.submitRegistrationMetric(_types.METRIC_EVENT.REGISTRATION, _types.REG_ACTION.REGISTER, _types.METRIC_TYPE.BEHAVIORAL, caller, serverType, (_resp$headers$trackin = (_resp$headers = resp.headers) === null || _resp$headers === void 0 ? void 0 : _resp$headers.trackingid) !== null && _resp$headers$trackin !== void 0 ? _resp$headers$trackin : '', undefined, undefined);
|
|
1022
|
+
_this6.startKeepaliveTimer((_this6$deviceInfo$dev2 = _this6.deviceInfo.device) === null || _this6$deviceInfo$dev2 === void 0 ? void 0 : _this6$deviceInfo$dev2.uri, _this6.deviceInfo.keepaliveInterval, serverType);
|
|
1023
|
+
_this6.initiateFailback();
|
|
1024
|
+
return _context19.abrupt("return", 0);
|
|
1025
|
+
case 23:
|
|
1026
|
+
_context19.prev = 23;
|
|
1027
|
+
_context19.t0 = _context19["catch"](2);
|
|
1028
|
+
body = _context19.t0; // eslint-disable-next-line no-await-in-loop, @typescript-eslint/no-unused-vars
|
|
1029
|
+
_context19.next = 28;
|
|
1030
|
+
return (0, _common.handleRegistrationErrors)(body, function (clientError, finalError) {
|
|
1031
|
+
var _body$headers$trackin, _body$headers;
|
|
1032
|
+
if (finalError) {
|
|
1033
|
+
_this6.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
|
|
1034
|
+
} else {
|
|
1035
|
+
_this6.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
|
|
1036
|
+
}
|
|
1037
|
+
_this6.metricManager.submitRegistrationMetric(_types.METRIC_EVENT.REGISTRATION_ERROR, _types.REG_ACTION.REGISTER, _types.METRIC_TYPE.BEHAVIORAL, caller, serverType, (_body$headers$trackin = (_body$headers = body.headers) === null || _body$headers === void 0 ? void 0 : _body$headers.trackingid) !== null && _body$headers$trackin !== void 0 ? _body$headers$trackin : '', undefined, clientError);
|
|
1038
|
+
}, {
|
|
1039
|
+
method: caller,
|
|
1040
|
+
file: _constants2.REGISTRATION_FILE
|
|
1041
|
+
}, function (retryAfter, retryCaller) {
|
|
1042
|
+
return _this6.handle429Retry(retryAfter, retryCaller);
|
|
1043
|
+
}, _this6.restoreRegistrationCallBack());
|
|
1044
|
+
case 28:
|
|
1045
|
+
abort = _context19.sent;
|
|
1046
|
+
if (!(_this6.registrationStatus === _types2.RegistrationStatus.ACTIVE)) {
|
|
1047
|
+
_context19.next = 32;
|
|
1048
|
+
break;
|
|
1049
|
+
}
|
|
1050
|
+
_Logger.default.info("[".concat(caller, "] : Device is already restored, active mobius url: ").concat(_this6.activeMobiusUrl), {
|
|
1051
|
+
file: _constants2.REGISTRATION_FILE,
|
|
1052
|
+
method: _this6.attemptRegistrationWithServers.name
|
|
1053
|
+
});
|
|
1054
|
+
return _context19.abrupt("return", 0);
|
|
1055
|
+
case 32:
|
|
1056
|
+
if (!abort) {
|
|
1057
|
+
_context19.next = 35;
|
|
1058
|
+
break;
|
|
1059
|
+
}
|
|
1060
|
+
_this6.setStatus(_types2.RegistrationStatus.INACTIVE);
|
|
1061
|
+
return _context19.abrupt("return", 0);
|
|
1062
|
+
case 35:
|
|
1063
|
+
case "end":
|
|
1064
|
+
return _context19.stop();
|
|
1065
|
+
}
|
|
1066
|
+
}, _loop, null, [[2, 23]]);
|
|
1067
|
+
});
|
|
924
1068
|
_iterator.s();
|
|
925
|
-
case
|
|
1069
|
+
case 12:
|
|
926
1070
|
if ((_step = _iterator.n()).done) {
|
|
927
|
-
|
|
1071
|
+
_context20.next = 19;
|
|
928
1072
|
break;
|
|
929
1073
|
}
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
_Logger.default.log("[".concat(caller, "] : Mobius url to contact: ").concat(url), {
|
|
936
|
-
file: _constants.REGISTRATION_FILE,
|
|
937
|
-
method: this.attemptRegistrationWithServers.name
|
|
938
|
-
});
|
|
939
|
-
// eslint-disable-next-line no-await-in-loop
|
|
940
|
-
_context18.next = 19;
|
|
941
|
-
return this.postRegistration(url);
|
|
942
|
-
case 19:
|
|
943
|
-
resp = _context18.sent;
|
|
944
|
-
this.deviceInfo = resp.body;
|
|
945
|
-
this.registrationStatus = _types3.RegistrationStatus.ACTIVE;
|
|
946
|
-
this.lineEmitter(_types4.LINE_EVENTS.REGISTERED, resp.body);
|
|
947
|
-
this.setActiveMobiusUrl(url);
|
|
948
|
-
this.setIntervalValues(this.deviceInfo);
|
|
949
|
-
this.metricManager.setDeviceInfo(this.deviceInfo);
|
|
950
|
-
this.metricManager.submitRegistrationMetric(_types2.METRIC_EVENT.REGISTRATION, _types2.REG_ACTION.REGISTER, _types2.METRIC_TYPE.BEHAVIORAL, undefined);
|
|
951
|
-
this.startKeepaliveTimer((_this$deviceInfo$devi = this.deviceInfo.device) === null || _this$deviceInfo$devi === void 0 ? void 0 : _this$deviceInfo$devi.uri, this.deviceInfo.keepaliveInterval);
|
|
952
|
-
this.initiateFailback();
|
|
953
|
-
return _context18.abrupt("break", 55);
|
|
954
|
-
case 32:
|
|
955
|
-
_context18.prev = 32;
|
|
956
|
-
_context18.t0 = _context18["catch"](12);
|
|
957
|
-
body = _context18.t0; // eslint-disable-next-line no-await-in-loop, @typescript-eslint/no-unused-vars
|
|
958
|
-
_context18.next = 37;
|
|
959
|
-
return (0, _common.handleRegistrationErrors)(body, function (clientError, finalError) {
|
|
960
|
-
if (finalError) {
|
|
961
|
-
_this6.lineEmitter(_types4.LINE_EVENTS.ERROR, undefined, clientError);
|
|
962
|
-
} else {
|
|
963
|
-
_this6.lineEmitter(_types4.LINE_EVENTS.UNREGISTERED);
|
|
964
|
-
}
|
|
965
|
-
_this6.metricManager.submitRegistrationMetric(_types2.METRIC_EVENT.REGISTRATION_ERROR, _types2.REG_ACTION.REGISTER, _types2.METRIC_TYPE.BEHAVIORAL, clientError);
|
|
966
|
-
}, {
|
|
967
|
-
method: this.attemptRegistrationWithServers.name,
|
|
968
|
-
file: _constants.REGISTRATION_FILE
|
|
969
|
-
}, this.restoreRegistrationCallBack());
|
|
970
|
-
case 37:
|
|
971
|
-
abort = _context18.sent;
|
|
972
|
-
if (!(this.registrationStatus === _types3.RegistrationStatus.ACTIVE)) {
|
|
973
|
-
_context18.next = 41;
|
|
974
|
-
break;
|
|
975
|
-
}
|
|
976
|
-
_Logger.default.info("[".concat(caller, "] : Device is already restored, active mobius url: ").concat(this.activeMobiusUrl), {
|
|
977
|
-
file: _constants.REGISTRATION_FILE,
|
|
978
|
-
method: this.attemptRegistrationWithServers.name
|
|
979
|
-
});
|
|
980
|
-
return _context18.abrupt("break", 55);
|
|
981
|
-
case 41:
|
|
982
|
-
if (!abort) {
|
|
983
|
-
_context18.next = 46;
|
|
984
|
-
break;
|
|
985
|
-
}
|
|
986
|
-
this.setStatus(_types3.RegistrationStatus.INACTIVE);
|
|
987
|
-
return _context18.abrupt("break", 55);
|
|
988
|
-
case 46:
|
|
989
|
-
if (!(caller === this.executeFailback.name)) {
|
|
990
|
-
_context18.next = 53;
|
|
991
|
-
break;
|
|
992
|
-
}
|
|
993
|
-
error = body.statusCode;
|
|
994
|
-
if (!(error === _types.ERROR_CODE.TOO_MANY_REQUESTS)) {
|
|
995
|
-
_context18.next = 53;
|
|
1074
|
+
return _context20.delegateYield(_loop(), "t0", 14);
|
|
1075
|
+
case 14:
|
|
1076
|
+
_ret = _context20.t0;
|
|
1077
|
+
if (!(_ret === 0)) {
|
|
1078
|
+
_context20.next = 17;
|
|
996
1079
|
break;
|
|
997
1080
|
}
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
abort = true;
|
|
1002
|
-
return _context18.abrupt("break", 55);
|
|
1003
|
-
case 53:
|
|
1004
|
-
_context18.next = 10;
|
|
1081
|
+
return _context20.abrupt("break", 19);
|
|
1082
|
+
case 17:
|
|
1083
|
+
_context20.next = 12;
|
|
1005
1084
|
break;
|
|
1006
|
-
case
|
|
1007
|
-
|
|
1085
|
+
case 19:
|
|
1086
|
+
_context20.next = 24;
|
|
1008
1087
|
break;
|
|
1009
|
-
case
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
_iterator.e(
|
|
1013
|
-
case
|
|
1014
|
-
|
|
1088
|
+
case 21:
|
|
1089
|
+
_context20.prev = 21;
|
|
1090
|
+
_context20.t1 = _context20["catch"](9);
|
|
1091
|
+
_iterator.e(_context20.t1);
|
|
1092
|
+
case 24:
|
|
1093
|
+
_context20.prev = 24;
|
|
1015
1094
|
_iterator.f();
|
|
1016
|
-
return
|
|
1017
|
-
case
|
|
1018
|
-
return
|
|
1019
|
-
case
|
|
1095
|
+
return _context20.finish(24);
|
|
1096
|
+
case 27:
|
|
1097
|
+
return _context20.abrupt("return", abort);
|
|
1098
|
+
case 28:
|
|
1020
1099
|
case "end":
|
|
1021
|
-
return
|
|
1100
|
+
return _context20.stop();
|
|
1022
1101
|
}
|
|
1023
|
-
},
|
|
1102
|
+
}, _callee19, this, [[9, 21, 24, 27]]);
|
|
1024
1103
|
}));
|
|
1025
|
-
function attemptRegistrationWithServers(
|
|
1104
|
+
function attemptRegistrationWithServers(_x13) {
|
|
1026
1105
|
return _attemptRegistrationWithServers.apply(this, arguments);
|
|
1027
1106
|
}
|
|
1028
1107
|
return attemptRegistrationWithServers;
|
|
@@ -1034,132 +1113,104 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1034
1113
|
)
|
|
1035
1114
|
}, {
|
|
1036
1115
|
key: "startKeepaliveTimer",
|
|
1037
|
-
value:
|
|
1038
|
-
var
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1116
|
+
value: function startKeepaliveTimer(url, interval, serverType) {
|
|
1117
|
+
var _this7 = this;
|
|
1118
|
+
var keepAliveRetryCount = 0;
|
|
1119
|
+
this.clearKeepaliveTimer();
|
|
1120
|
+
var RETRY_COUNT_THRESHOLD = this.isCCFlow ? 4 : 5;
|
|
1121
|
+
this.keepaliveTimer = setInterval( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee21() {
|
|
1122
|
+
var logContext;
|
|
1123
|
+
return _regenerator.default.wrap(function _callee21$(_context22) {
|
|
1124
|
+
while (1) switch (_context22.prev = _context22.next) {
|
|
1043
1125
|
case 0:
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1126
|
+
logContext = {
|
|
1127
|
+
file: _constants2.REGISTRATION_FILE,
|
|
1128
|
+
method: _constants2.KEEPALIVE_UTIL
|
|
1129
|
+
};
|
|
1130
|
+
_context22.next = 3;
|
|
1131
|
+
return _this7.mutex.runExclusive( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee20() {
|
|
1132
|
+
var res, error, abort;
|
|
1133
|
+
return _regenerator.default.wrap(function _callee20$(_context21) {
|
|
1134
|
+
while (1) switch (_context21.prev = _context21.next) {
|
|
1051
1135
|
case 0:
|
|
1052
|
-
if (!_this7.isDeviceRegistered()) {
|
|
1053
|
-
|
|
1136
|
+
if (!(_this7.isDeviceRegistered() && keepAliveRetryCount < RETRY_COUNT_THRESHOLD)) {
|
|
1137
|
+
_context21.next = 30;
|
|
1054
1138
|
break;
|
|
1055
1139
|
}
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
accessToken: String(accessToken),
|
|
1065
|
-
deviceUrl: String(_this7.webex.internal.device.url),
|
|
1066
|
-
interval: interval,
|
|
1067
|
-
retryCountThreshold: RETRY_COUNT_THRESHOLD,
|
|
1068
|
-
url: url
|
|
1069
|
-
});
|
|
1070
|
-
_this7.webWorker.onmessage = /*#__PURE__*/function () {
|
|
1071
|
-
var _ref10 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19(event) {
|
|
1072
|
-
var logContext, error, abort;
|
|
1073
|
-
return _regenerator.default.wrap(function _callee19$(_context19) {
|
|
1074
|
-
while (1) switch (_context19.prev = _context19.next) {
|
|
1075
|
-
case 0:
|
|
1076
|
-
logContext = {
|
|
1077
|
-
file: _constants.REGISTRATION_FILE,
|
|
1078
|
-
method: _this7.startKeepaliveTimer.name
|
|
1079
|
-
};
|
|
1080
|
-
if (event.data.type === _types3.WorkerMessageType.KEEPALIVE_SUCCESS) {
|
|
1081
|
-
_Logger.default.info("Sent Keepalive, status: ".concat(event.data.statusCode), logContext);
|
|
1082
|
-
_this7.lineEmitter(_types4.LINE_EVENTS.RECONNECTED);
|
|
1083
|
-
}
|
|
1084
|
-
if (!(event.data.type === _types3.WorkerMessageType.KEEPALIVE_FAILURE)) {
|
|
1085
|
-
_context19.next = 20;
|
|
1086
|
-
break;
|
|
1087
|
-
}
|
|
1088
|
-
error = event.data.err;
|
|
1089
|
-
_Logger.default.warn("Keep-alive missed ".concat(event.data.keepAliveRetryCount, " times. Status -> ").concat(error.statusCode, " "), logContext);
|
|
1090
|
-
_context19.next = 7;
|
|
1091
|
-
return (0, _common.handleRegistrationErrors)(error, function (clientError, finalError) {
|
|
1092
|
-
if (finalError) {
|
|
1093
|
-
_this7.lineEmitter(_types4.LINE_EVENTS.ERROR, undefined, clientError);
|
|
1094
|
-
}
|
|
1095
|
-
_this7.metricManager.submitRegistrationMetric(_types2.METRIC_EVENT.REGISTRATION, _types2.REG_ACTION.KEEPALIVE_FAILURE, _types2.METRIC_TYPE.BEHAVIORAL, clientError);
|
|
1096
|
-
}, {
|
|
1097
|
-
method: _this7.startKeepaliveTimer.name,
|
|
1098
|
-
file: _constants.REGISTRATION_FILE
|
|
1099
|
-
});
|
|
1100
|
-
case 7:
|
|
1101
|
-
abort = _context19.sent;
|
|
1102
|
-
if (!(abort || event.data.keepAliveRetryCount >= RETRY_COUNT_THRESHOLD)) {
|
|
1103
|
-
_context19.next = 19;
|
|
1104
|
-
break;
|
|
1105
|
-
}
|
|
1106
|
-
_this7.failoverImmediately = _this7.isCCFlow;
|
|
1107
|
-
_this7.setStatus(_types3.RegistrationStatus.INACTIVE);
|
|
1108
|
-
_this7.clearKeepaliveTimer();
|
|
1109
|
-
_this7.clearFailbackTimer();
|
|
1110
|
-
_this7.lineEmitter(_types4.LINE_EVENTS.UNREGISTERED);
|
|
1111
|
-
if (abort) {
|
|
1112
|
-
_context19.next = 17;
|
|
1113
|
-
break;
|
|
1114
|
-
}
|
|
1115
|
-
_context19.next = 17;
|
|
1116
|
-
return _this7.reconnectOnFailure(_this7.startKeepaliveTimer.name);
|
|
1117
|
-
case 17:
|
|
1118
|
-
_context19.next = 20;
|
|
1119
|
-
break;
|
|
1120
|
-
case 19:
|
|
1121
|
-
_this7.lineEmitter(_types4.LINE_EVENTS.RECONNECTING);
|
|
1122
|
-
case 20:
|
|
1123
|
-
case "end":
|
|
1124
|
-
return _context19.stop();
|
|
1125
|
-
}
|
|
1126
|
-
}, _callee19);
|
|
1127
|
-
}));
|
|
1128
|
-
return function (_x13) {
|
|
1129
|
-
return _ref10.apply(this, arguments);
|
|
1130
|
-
};
|
|
1131
|
-
}();
|
|
1140
|
+
_context21.prev = 1;
|
|
1141
|
+
_context21.next = 4;
|
|
1142
|
+
return _this7.postKeepAlive(url);
|
|
1143
|
+
case 4:
|
|
1144
|
+
res = _context21.sent;
|
|
1145
|
+
_Logger.default.log("Sent Keepalive, status: ".concat(res.statusCode), logContext);
|
|
1146
|
+
if (keepAliveRetryCount > 0) {
|
|
1147
|
+
_this7.lineEmitter(_types3.LINE_EVENTS.RECONNECTED);
|
|
1132
1148
|
}
|
|
1133
|
-
|
|
1149
|
+
keepAliveRetryCount = 0;
|
|
1150
|
+
_context21.next = 30;
|
|
1151
|
+
break;
|
|
1152
|
+
case 10:
|
|
1153
|
+
_context21.prev = 10;
|
|
1154
|
+
_context21.t0 = _context21["catch"](1);
|
|
1155
|
+
keepAliveRetryCount += 1;
|
|
1156
|
+
error = _context21.t0;
|
|
1157
|
+
_Logger.default.warn("Keep-alive missed ".concat(keepAliveRetryCount, " times. Status -> ").concat(error.statusCode, " "), logContext);
|
|
1158
|
+
_context21.next = 17;
|
|
1159
|
+
return (0, _common.handleRegistrationErrors)(error, function (clientError, finalError) {
|
|
1160
|
+
var _error$headers$tracki, _error$headers;
|
|
1161
|
+
if (finalError) {
|
|
1162
|
+
_this7.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
|
|
1163
|
+
}
|
|
1164
|
+
_this7.metricManager.submitRegistrationMetric(_types.METRIC_EVENT.REGISTRATION, _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 : '', keepAliveRetryCount, clientError);
|
|
1165
|
+
}, {
|
|
1166
|
+
method: _constants2.KEEPALIVE_UTIL,
|
|
1167
|
+
file: _constants2.REGISTRATION_FILE
|
|
1168
|
+
});
|
|
1169
|
+
case 17:
|
|
1170
|
+
abort = _context21.sent;
|
|
1171
|
+
if (!(abort || keepAliveRetryCount >= RETRY_COUNT_THRESHOLD)) {
|
|
1172
|
+
_context21.next = 29;
|
|
1173
|
+
break;
|
|
1174
|
+
}
|
|
1175
|
+
_this7.failoverImmediately = _this7.isCCFlow;
|
|
1176
|
+
_this7.setStatus(_types2.RegistrationStatus.INACTIVE);
|
|
1177
|
+
_this7.clearKeepaliveTimer();
|
|
1178
|
+
_this7.clearFailbackTimer();
|
|
1179
|
+
_this7.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
|
|
1180
|
+
if (abort) {
|
|
1181
|
+
_context21.next = 27;
|
|
1182
|
+
break;
|
|
1183
|
+
}
|
|
1184
|
+
_context21.next = 27;
|
|
1185
|
+
return _this7.reconnectOnFailure(_constants2.KEEPALIVE_UTIL);
|
|
1186
|
+
case 27:
|
|
1187
|
+
_context21.next = 30;
|
|
1188
|
+
break;
|
|
1189
|
+
case 29:
|
|
1190
|
+
_this7.lineEmitter(_types3.LINE_EVENTS.RECONNECTING);
|
|
1191
|
+
case 30:
|
|
1134
1192
|
case "end":
|
|
1135
|
-
return
|
|
1193
|
+
return _context21.stop();
|
|
1136
1194
|
}
|
|
1137
|
-
}, _callee20);
|
|
1195
|
+
}, _callee20, null, [[1, 10]]);
|
|
1138
1196
|
})));
|
|
1139
|
-
case
|
|
1197
|
+
case 3:
|
|
1140
1198
|
case "end":
|
|
1141
|
-
return
|
|
1199
|
+
return _context22.stop();
|
|
1142
1200
|
}
|
|
1143
|
-
}, _callee21
|
|
1144
|
-
}));
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
}
|
|
1148
|
-
return startKeepaliveTimer;
|
|
1149
|
-
}()
|
|
1201
|
+
}, _callee21);
|
|
1202
|
+
})), interval * 1000);
|
|
1203
|
+
}
|
|
1204
|
+
|
|
1150
1205
|
/**
|
|
1151
1206
|
* Clears the keepalive timer if running.
|
|
1152
1207
|
*/
|
|
1153
|
-
)
|
|
1154
1208
|
}, {
|
|
1155
1209
|
key: "clearKeepaliveTimer",
|
|
1156
1210
|
value: function clearKeepaliveTimer() {
|
|
1157
|
-
if (this.
|
|
1158
|
-
this.
|
|
1159
|
-
|
|
1160
|
-
});
|
|
1161
|
-
this.webWorker.terminate();
|
|
1162
|
-
this.webWorker = undefined;
|
|
1211
|
+
if (this.keepaliveTimer) {
|
|
1212
|
+
clearInterval(this.keepaliveTimer);
|
|
1213
|
+
this.keepaliveTimer = undefined;
|
|
1163
1214
|
}
|
|
1164
1215
|
}
|
|
1165
1216
|
}, {
|
|
@@ -1171,28 +1222,35 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1171
1222
|
key: "deregister",
|
|
1172
1223
|
value: function () {
|
|
1173
1224
|
var _deregister = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee22() {
|
|
1174
|
-
var _this$deviceInfo$
|
|
1175
|
-
return _regenerator.default.wrap(function _callee22$(
|
|
1176
|
-
while (1) switch (
|
|
1225
|
+
var _this$deviceInfo$devi, _this$deviceInfo$devi2;
|
|
1226
|
+
return _regenerator.default.wrap(function _callee22$(_context23) {
|
|
1227
|
+
while (1) switch (_context23.prev = _context23.next) {
|
|
1177
1228
|
case 0:
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
return this.deleteRegistration(this.activeMobiusUrl, (_this$deviceInfo$
|
|
1229
|
+
_context23.prev = 0;
|
|
1230
|
+
_context23.next = 3;
|
|
1231
|
+
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);
|
|
1181
1232
|
case 3:
|
|
1182
|
-
|
|
1233
|
+
_Logger.default.log('Registration successfully deregistered', {
|
|
1234
|
+
file: _constants2.REGISTRATION_FILE,
|
|
1235
|
+
method: _constants2.METHODS.DEREGISTER
|
|
1236
|
+
});
|
|
1237
|
+
_context23.next = 9;
|
|
1183
1238
|
break;
|
|
1184
|
-
case
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
_Logger.default.warn("Delete failed with Mobius", {
|
|
1188
|
-
|
|
1239
|
+
case 6:
|
|
1240
|
+
_context23.prev = 6;
|
|
1241
|
+
_context23.t0 = _context23["catch"](0);
|
|
1242
|
+
_Logger.default.warn("Delete failed with Mobius: ".concat(_context23.t0), {
|
|
1243
|
+
file: _constants2.REGISTRATION_FILE,
|
|
1244
|
+
method: _constants2.METHODS.DEREGISTER
|
|
1245
|
+
});
|
|
1246
|
+
case 9:
|
|
1189
1247
|
this.clearKeepaliveTimer();
|
|
1190
|
-
this.setStatus(
|
|
1191
|
-
case
|
|
1248
|
+
this.setStatus(_types2.RegistrationStatus.INACTIVE);
|
|
1249
|
+
case 11:
|
|
1192
1250
|
case "end":
|
|
1193
|
-
return
|
|
1251
|
+
return _context23.stop();
|
|
1194
1252
|
}
|
|
1195
|
-
}, _callee22, this, [[0,
|
|
1253
|
+
}, _callee22, this, [[0, 6]]);
|
|
1196
1254
|
}));
|
|
1197
1255
|
function deregister() {
|
|
1198
1256
|
return _deregister.apply(this, arguments);
|
|
@@ -1200,8 +1258,8 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1200
1258
|
return deregister;
|
|
1201
1259
|
}()
|
|
1202
1260
|
/**
|
|
1203
|
-
*
|
|
1204
|
-
*
|
|
1261
|
+
* Indicates whether the calling client is in a mode
|
|
1262
|
+
* to retry registration.
|
|
1205
1263
|
*/
|
|
1206
1264
|
}, {
|
|
1207
1265
|
key: "isRegRetry",
|
|
@@ -1231,14 +1289,14 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1231
1289
|
this.deviceInfo = {
|
|
1232
1290
|
userId: restoreData.userId,
|
|
1233
1291
|
device: restoreData.devices[0],
|
|
1234
|
-
keepaliveInterval:
|
|
1235
|
-
rehomingIntervalMax:
|
|
1236
|
-
rehomingIntervalMin:
|
|
1292
|
+
keepaliveInterval: _constants2.DEFAULT_KEEPALIVE_INTERVAL,
|
|
1293
|
+
rehomingIntervalMax: _constants2.DEFAULT_REHOMING_INTERVAL_MAX,
|
|
1294
|
+
rehomingIntervalMin: _constants2.DEFAULT_REHOMING_INTERVAL_MIN
|
|
1237
1295
|
};
|
|
1238
|
-
var stringToReplace = "".concat(
|
|
1296
|
+
var stringToReplace = "".concat(_constants2.DEVICES_ENDPOINT_RESOURCE, "/").concat(restoreData.devices[0].deviceId);
|
|
1239
1297
|
var uri = restoreData.devices[0].uri.replace(stringToReplace, '');
|
|
1240
1298
|
this.setActiveMobiusUrl(uri);
|
|
1241
|
-
this.registrationStatus =
|
|
1299
|
+
this.registrationStatus = _types2.RegistrationStatus.ACTIVE;
|
|
1242
1300
|
return true;
|
|
1243
1301
|
}
|
|
1244
1302
|
return false;
|
|
@@ -1258,40 +1316,44 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
|
|
|
1258
1316
|
value: (function () {
|
|
1259
1317
|
var _reconnectOnFailure = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee23(caller) {
|
|
1260
1318
|
var abort;
|
|
1261
|
-
return _regenerator.default.wrap(function _callee23$(
|
|
1262
|
-
while (1) switch (
|
|
1319
|
+
return _regenerator.default.wrap(function _callee23$(_context24) {
|
|
1320
|
+
while (1) switch (_context24.prev = _context24.next) {
|
|
1263
1321
|
case 0:
|
|
1322
|
+
_Logger.default.info(_constants.METHOD_START_MESSAGE, {
|
|
1323
|
+
method: _constants2.METHODS.RECONNECT_ON_FAILURE,
|
|
1324
|
+
file: _constants2.REGISTRATION_FILE
|
|
1325
|
+
});
|
|
1264
1326
|
this.reconnectPending = false;
|
|
1265
1327
|
if (this.isDeviceRegistered()) {
|
|
1266
|
-
|
|
1328
|
+
_context24.next = 14;
|
|
1267
1329
|
break;
|
|
1268
1330
|
}
|
|
1269
1331
|
if (!((0, _keys.default)(this.callManager.getActiveCalls()).length === 0)) {
|
|
1270
|
-
|
|
1332
|
+
_context24.next = 12;
|
|
1271
1333
|
break;
|
|
1272
1334
|
}
|
|
1273
|
-
|
|
1335
|
+
_context24.next = 6;
|
|
1274
1336
|
return this.restorePreviousRegistration(caller);
|
|
1275
|
-
case
|
|
1276
|
-
abort =
|
|
1337
|
+
case 6:
|
|
1338
|
+
abort = _context24.sent;
|
|
1277
1339
|
if (!(!abort && !this.isDeviceRegistered())) {
|
|
1278
|
-
|
|
1340
|
+
_context24.next = 10;
|
|
1279
1341
|
break;
|
|
1280
1342
|
}
|
|
1281
|
-
|
|
1343
|
+
_context24.next = 10;
|
|
1282
1344
|
return this.restartRegistration(caller);
|
|
1283
|
-
case
|
|
1284
|
-
|
|
1345
|
+
case 10:
|
|
1346
|
+
_context24.next = 14;
|
|
1285
1347
|
break;
|
|
1286
|
-
case
|
|
1348
|
+
case 12:
|
|
1287
1349
|
this.reconnectPending = true;
|
|
1288
1350
|
_Logger.default.info('Active call(s) present, deferred reconnect till call cleanup.', {
|
|
1289
|
-
file:
|
|
1290
|
-
method:
|
|
1351
|
+
file: _constants2.REGISTRATION_FILE,
|
|
1352
|
+
method: _constants2.METHODS.RECONNECT_ON_FAILURE
|
|
1291
1353
|
});
|
|
1292
|
-
case
|
|
1354
|
+
case 14:
|
|
1293
1355
|
case "end":
|
|
1294
|
-
return
|
|
1356
|
+
return _context24.stop();
|
|
1295
1357
|
}
|
|
1296
1358
|
}, _callee23, this);
|
|
1297
1359
|
}));
|