@webex/calling 3.10.0 → 3.11.0-next.2

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.
Files changed (151) hide show
  1. package/dist/CallHistory/CallHistory.js +128 -133
  2. package/dist/CallHistory/CallHistory.js.map +1 -1
  3. package/dist/CallHistory/CallHistory.test.js +289 -186
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -1
  5. package/dist/CallSettings/CallSettings.js +17 -18
  6. package/dist/CallSettings/CallSettings.js.map +1 -1
  7. package/dist/CallSettings/CallSettings.test.js +14 -14
  8. package/dist/CallSettings/CallSettings.test.js.map +1 -1
  9. package/dist/CallSettings/UcmBackendConnector.js +72 -25
  10. package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
  11. package/dist/CallSettings/UcmBackendConnector.test.js +138 -48
  12. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
  13. package/dist/CallSettings/WxCallBackendConnector.js +138 -145
  14. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
  15. package/dist/CallSettings/WxCallBackendConnector.test.js +149 -150
  16. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
  17. package/dist/CallingClient/CallingClient.js +298 -347
  18. package/dist/CallingClient/CallingClient.js.map +1 -1
  19. package/dist/CallingClient/CallingClient.test.js +267 -405
  20. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  21. package/dist/CallingClient/calling/CallerId/index.js +7 -8
  22. package/dist/CallingClient/calling/CallerId/index.js.map +1 -1
  23. package/dist/CallingClient/calling/CallerId/index.test.js +24 -24
  24. package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -1
  25. package/dist/CallingClient/calling/call.js +664 -623
  26. package/dist/CallingClient/calling/call.js.map +1 -1
  27. package/dist/CallingClient/calling/call.test.js +869 -556
  28. package/dist/CallingClient/calling/call.test.js.map +1 -1
  29. package/dist/CallingClient/calling/callManager.js +22 -18
  30. package/dist/CallingClient/calling/callManager.js.map +1 -1
  31. package/dist/CallingClient/calling/callManager.test.js +114 -114
  32. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  33. package/dist/CallingClient/constants.js +5 -1
  34. package/dist/CallingClient/constants.js.map +1 -1
  35. package/dist/CallingClient/line/index.js +57 -74
  36. package/dist/CallingClient/line/index.js.map +1 -1
  37. package/dist/CallingClient/line/line.test.js +22 -22
  38. package/dist/CallingClient/line/line.test.js.map +1 -1
  39. package/dist/CallingClient/registration/register.js +659 -527
  40. package/dist/CallingClient/registration/register.js.map +1 -1
  41. package/dist/CallingClient/registration/register.test.js +657 -309
  42. package/dist/CallingClient/registration/register.test.js.map +1 -1
  43. package/dist/CallingClient/registration/types.js.map +1 -1
  44. package/dist/CallingClient/registration/webWorker.js +24 -24
  45. package/dist/CallingClient/registration/webWorker.js.map +1 -1
  46. package/dist/CallingClient/registration/webWorker.test.js +20 -20
  47. package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
  48. package/dist/CallingClient/registration/webWorkerStr.js +1 -1
  49. package/dist/CallingClient/registration/webWorkerStr.js.map +1 -1
  50. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +28 -28
  51. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +1 -1
  52. package/dist/Contacts/ContactsClient.js +259 -268
  53. package/dist/Contacts/ContactsClient.js.map +1 -1
  54. package/dist/Contacts/ContactsClient.test.js +64 -63
  55. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  56. package/dist/Errors/catalog/CallError.js +7 -10
  57. package/dist/Errors/catalog/CallError.js.map +1 -1
  58. package/dist/Errors/catalog/CallingDeviceError.js +6 -9
  59. package/dist/Errors/catalog/CallingDeviceError.js.map +1 -1
  60. package/dist/Errors/catalog/ExtendedError.js +6 -8
  61. package/dist/Errors/catalog/ExtendedError.js.map +1 -1
  62. package/dist/Errors/catalog/LineError.js +6 -9
  63. package/dist/Errors/catalog/LineError.js.map +1 -1
  64. package/dist/Events/impl/index.js +12 -14
  65. package/dist/Events/impl/index.js.map +1 -1
  66. package/dist/Logger/index.js +3 -3
  67. package/dist/Logger/index.js.map +1 -1
  68. package/dist/Logger/index.test.js +1 -1
  69. package/dist/Logger/index.test.js.map +1 -1
  70. package/dist/Metrics/index.js +1 -2
  71. package/dist/Metrics/index.js.map +1 -1
  72. package/dist/SDKConnector/index.js +1 -2
  73. package/dist/SDKConnector/index.js.map +1 -1
  74. package/dist/SDKConnector/types.js.map +1 -1
  75. package/dist/Voicemail/BroadworksBackendConnector.js +131 -139
  76. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
  77. package/dist/Voicemail/BroadworksBackendConnector.test.js +106 -98
  78. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
  79. package/dist/Voicemail/UcmBackendConnector.js +88 -92
  80. package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
  81. package/dist/Voicemail/UcmBackendConnector.test.js +72 -72
  82. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
  83. package/dist/Voicemail/Voicemail.js +103 -131
  84. package/dist/Voicemail/Voicemail.js.map +1 -1
  85. package/dist/Voicemail/Voicemail.test.js +20 -20
  86. package/dist/Voicemail/Voicemail.test.js.map +1 -1
  87. package/dist/Voicemail/WxCallBackendConnector.js +117 -131
  88. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
  89. package/dist/Voicemail/WxCallBackendConnector.test.js +180 -154
  90. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
  91. package/dist/common/Utils.js +198 -166
  92. package/dist/common/Utils.js.map +1 -1
  93. package/dist/common/Utils.test.js +436 -191
  94. package/dist/common/Utils.test.js.map +1 -1
  95. package/dist/common/constants.js +3 -1
  96. package/dist/common/constants.js.map +1 -1
  97. package/dist/common/testUtil.js +5 -4
  98. package/dist/common/testUtil.js.map +1 -1
  99. package/dist/module/CallHistory/CallHistory.js +20 -11
  100. package/dist/module/CallSettings/UcmBackendConnector.js +21 -8
  101. package/dist/module/CallSettings/WxCallBackendConnector.js +10 -15
  102. package/dist/module/CallingClient/CallingClient.js +83 -123
  103. package/dist/module/CallingClient/calling/call.js +74 -59
  104. package/dist/module/CallingClient/calling/callManager.js +7 -0
  105. package/dist/module/CallingClient/constants.js +3 -0
  106. package/dist/module/CallingClient/registration/register.js +85 -5
  107. package/dist/module/CallingClient/registration/webWorker.js +2 -2
  108. package/dist/module/CallingClient/registration/webWorkerStr.js +2 -2
  109. package/dist/module/Contacts/ContactsClient.js +19 -25
  110. package/dist/module/Events/impl/index.js +1 -1
  111. package/dist/module/Logger/index.js +2 -2
  112. package/dist/module/Voicemail/BroadworksBackendConnector.js +10 -18
  113. package/dist/module/Voicemail/UcmBackendConnector.js +7 -11
  114. package/dist/module/Voicemail/Voicemail.js +42 -68
  115. package/dist/module/Voicemail/WxCallBackendConnector.js +14 -28
  116. package/dist/module/common/Utils.js +31 -5
  117. package/dist/module/common/constants.js +2 -0
  118. package/dist/module/common/testUtil.js +1 -0
  119. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  120. package/dist/types/CallSettings/UcmBackendConnector.d.ts +1 -0
  121. package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
  122. package/dist/types/CallSettings/WxCallBackendConnector.d.ts.map +1 -1
  123. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  124. package/dist/types/CallingClient/calling/call.d.ts +4 -0
  125. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  126. package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
  127. package/dist/types/CallingClient/constants.d.ts +3 -0
  128. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  129. package/dist/types/CallingClient/registration/register.d.ts +4 -0
  130. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  131. package/dist/types/CallingClient/registration/types.d.ts +6 -0
  132. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  133. package/dist/types/CallingClient/registration/webWorkerStr.d.ts +1 -1
  134. package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -1
  135. package/dist/types/Contacts/ContactsClient.d.ts +1 -0
  136. package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
  137. package/dist/types/Logger/index.d.ts +1 -2
  138. package/dist/types/Logger/index.d.ts.map +1 -1
  139. package/dist/types/SDKConnector/types.d.ts +16 -0
  140. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  141. package/dist/types/Voicemail/BroadworksBackendConnector.d.ts.map +1 -1
  142. package/dist/types/Voicemail/UcmBackendConnector.d.ts.map +1 -1
  143. package/dist/types/Voicemail/Voicemail.d.ts.map +1 -1
  144. package/dist/types/Voicemail/WxCallBackendConnector.d.ts.map +1 -1
  145. package/dist/types/common/Utils.d.ts +1 -1
  146. package/dist/types/common/Utils.d.ts.map +1 -1
  147. package/dist/types/common/constants.d.ts +2 -0
  148. package/dist/types/common/constants.d.ts.map +1 -1
  149. package/dist/types/common/testUtil.d.ts +1 -0
  150. package/dist/types/common/testUtil.d.ts.map +1 -1
  151. package/package.json +4 -4
@@ -15,9 +15,10 @@ _Object$defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
17
  exports.createRegistration = exports.Registration = void 0;
18
+ var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
19
+ var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
18
20
  var _now = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/date/now"));
19
21
  var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
20
- var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
21
22
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
22
23
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
23
24
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
@@ -93,7 +94,81 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
93
94
  this.primaryMobiusUris = [];
94
95
  this.backupMobiusUris = [];
95
96
  }
96
- (0, _createClass2.default)(Registration, [{
97
+ return (0, _createClass2.default)(Registration, [{
98
+ key: "getFailoverCacheKey",
99
+ value: function getFailoverCacheKey() {
100
+ return "".concat(_constants2.FAILOVER_CACHE_PREFIX, ".").concat(this.userId || 'unknown');
101
+ }
102
+ }, {
103
+ key: "saveFailoverState",
104
+ value: function saveFailoverState(failoverState) {
105
+ try {
106
+ localStorage.setItem(this.getFailoverCacheKey(), (0, _stringify.default)(failoverState));
107
+ } catch (error) {
108
+ _Logger.default.warn("Storing failover state in cache failed with error: ".concat(String(error)), {
109
+ file: _constants2.REGISTRATION_FILE,
110
+ method: 'saveFailoverState'
111
+ });
112
+ }
113
+ }
114
+ }, {
115
+ key: "clearFailoverState",
116
+ value: function clearFailoverState() {
117
+ try {
118
+ localStorage.removeItem(this.getFailoverCacheKey());
119
+ } catch (_unused) {
120
+ _Logger.default.warn('Clearing failover state from localStorage failed', {
121
+ file: _constants2.REGISTRATION_FILE,
122
+ method: 'clearFailoverState'
123
+ });
124
+ }
125
+ }
126
+ }, {
127
+ key: "resumeFailover",
128
+ value: function () {
129
+ var _resumeFailover = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
130
+ var cachedState, failoverState, currentTime, newElapsed, _t;
131
+ return _regenerator.default.wrap(function (_context) {
132
+ while (1) switch (_context.prev = _context.next) {
133
+ case 0:
134
+ _context.prev = 0;
135
+ cachedState = localStorage.getItem(this.getFailoverCacheKey());
136
+ failoverState = cachedState ? JSON.parse(cachedState) : undefined;
137
+ if (!(failoverState && !this.isDeviceRegistered())) {
138
+ _context.next = 2;
139
+ break;
140
+ }
141
+ currentTime = Math.floor((0, _now.default)() / 1000);
142
+ newElapsed = failoverState.timeElapsed + (currentTime - failoverState.retryScheduledTime);
143
+ this.clearFailoverState();
144
+ _context.next = 1;
145
+ return this.startFailoverTimer(failoverState.attempt, newElapsed);
146
+ case 1:
147
+ return _context.abrupt("return", true);
148
+ case 2:
149
+ _context.next = 4;
150
+ break;
151
+ case 3:
152
+ _context.prev = 3;
153
+ _t = _context["catch"](0);
154
+ _Logger.default.warn("No failover state found in cache", {
155
+ file: _constants2.REGISTRATION_FILE,
156
+ method: 'triggerRegistration'
157
+ });
158
+ case 4:
159
+ return _context.abrupt("return", false);
160
+ case 5:
161
+ case "end":
162
+ return _context.stop();
163
+ }
164
+ }, _callee, this, [[0, 3]]);
165
+ }));
166
+ function resumeFailover() {
167
+ return _resumeFailover.apply(this, arguments);
168
+ }
169
+ return resumeFailover;
170
+ }()
171
+ }, {
97
172
  key: "getActiveMobiusUrl",
98
173
  value: function getActiveMobiusUrl() {
99
174
  return this.activeMobiusUrl;
@@ -126,58 +201,51 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
126
201
  }, {
127
202
  key: "deleteRegistration",
128
203
  value: (function () {
129
- var _deleteRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(url, deviceId, deviceUrl) {
204
+ var _deleteRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(url, deviceId, deviceUrl) {
130
205
  var _response;
131
- var response;
132
- return _regenerator.default.wrap(function _callee$(_context) {
133
- while (1) switch (_context.prev = _context.next) {
206
+ var response, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t0;
207
+ return _regenerator.default.wrap(function (_context2) {
208
+ while (1) switch (_context2.prev = _context2.next) {
134
209
  case 0:
135
- _context.prev = 0;
136
- _context.t0 = fetch;
137
- _context.t1 = "".concat(url).concat(_constants2.DEVICES_ENDPOINT_RESOURCE, "/").concat(deviceId);
138
- _context.t2 = _types2.HTTP_METHODS.DELETE;
139
- _context.t3 = _defineProperty2.default;
140
- _context.t4 = _defineProperty2.default;
141
- _context.t5 = _defineProperty2.default;
142
- _context.t6 = (0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, deviceUrl);
143
- _context.next = 10;
210
+ _context2.prev = 0;
211
+ _t2 = fetch;
212
+ _t3 = "".concat(url).concat(_constants2.DEVICES_ENDPOINT_RESOURCE, "/").concat(deviceId);
213
+ _t4 = _types2.HTTP_METHODS.DELETE;
214
+ _t5 = _defineProperty2.default;
215
+ _t6 = _defineProperty2.default;
216
+ _t7 = _defineProperty2.default;
217
+ _t8 = (0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, deviceUrl);
218
+ _context2.next = 1;
144
219
  return this.webex.credentials.getUserToken();
145
- case 10:
146
- _context.t7 = _context.sent;
147
- _context.t8 = (0, _context.t5)(_context.t6, "Authorization", _context.t7);
148
- _context.t9 = "".concat(_constants2.WEBEX_WEB_CLIENT, "_").concat((0, _uuid.v4)());
149
- _context.t10 = (0, _context.t4)(_context.t8, "trackingId", _context.t9);
150
- _context.t11 = _constants2.SPARK_USER_AGENT;
151
- _context.t12 = _constants2.CALLING_USER_AGENT;
152
- _context.t13 = (0, _context.t3)(_context.t10, _context.t11, _context.t12);
153
- _context.t14 = {
154
- method: _context.t2,
155
- headers: _context.t13
156
- };
157
- _context.next = 20;
158
- return (0, _context.t0)(_context.t1, _context.t14);
159
- case 20:
160
- response = _context.sent;
161
- _context.next = 28;
220
+ case 1:
221
+ _t9 = _t5(_t6(_t7(_t8, "Authorization", _context2.sent), "trackingId", "".concat(_constants2.WEBEX_WEB_CLIENT, "_").concat((0, _uuid.v4)())), _constants2.SPARK_USER_AGENT, _constants2.CALLING_USER_AGENT);
222
+ _context2.next = 2;
223
+ return _t2(_t3, {
224
+ method: _t4,
225
+ headers: _t9
226
+ });
227
+ case 2:
228
+ response = _context2.sent;
229
+ _context2.next = 4;
162
230
  break;
163
- case 23:
164
- _context.prev = 23;
165
- _context.t15 = _context["catch"](0);
166
- _Logger.default.warn("Delete failed with Mobius ".concat(_context.t15), {
231
+ case 3:
232
+ _context2.prev = 3;
233
+ _t0 = _context2["catch"](0);
234
+ _Logger.default.warn("Delete failed with Mobius: ".concat((0, _stringify.default)(_t0)), {
167
235
  file: _constants2.REGISTRATION_FILE,
168
236
  method: _constants2.METHODS.DELETE_REGISTRATION
169
237
  });
170
- _context.next = 28;
238
+ _context2.next = 4;
171
239
  return (0, _common.uploadLogs)();
172
- case 28:
240
+ case 4:
173
241
  this.setStatus(_types2.RegistrationStatus.INACTIVE);
174
242
  this.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
175
- return _context.abrupt("return", (_response = response) === null || _response === void 0 ? void 0 : _response.json());
176
- case 31:
243
+ return _context2.abrupt("return", (_response = response) === null || _response === void 0 ? void 0 : _response.json());
244
+ case 5:
177
245
  case "end":
178
- return _context.stop();
246
+ return _context2.stop();
179
247
  }
180
- }, _callee, this, [[0, 23]]);
248
+ }, _callee2, this, [[0, 3]]);
181
249
  }));
182
250
  function deleteRegistration(_x, _x2, _x3) {
183
251
  return _deleteRegistration.apply(this, arguments);
@@ -192,10 +260,10 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
192
260
  }, {
193
261
  key: "postRegistration",
194
262
  value: (function () {
195
- var _postRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(url) {
263
+ var _postRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3(url) {
196
264
  var deviceInfo;
197
- return _regenerator.default.wrap(function _callee2$(_context2) {
198
- while (1) switch (_context2.prev = _context2.next) {
265
+ return _regenerator.default.wrap(function (_context3) {
266
+ while (1) switch (_context3.prev = _context3.next) {
199
267
  case 0:
200
268
  deviceInfo = {
201
269
  userId: this.userId,
@@ -204,18 +272,18 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
204
272
  jwe: this.jwe
205
273
  }) : this.serviceData
206
274
  };
207
- return _context2.abrupt("return", this.webex.request({
275
+ return _context3.abrupt("return", this.webex.request({
208
276
  uri: "".concat(url, "device"),
209
277
  method: _types2.HTTP_METHODS.POST,
210
278
  headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, deviceInfo.clientDeviceUri), _constants2.SPARK_USER_AGENT, _constants2.CALLING_USER_AGENT),
211
279
  body: deviceInfo,
212
280
  service: _types2.ALLOWED_SERVICES.MOBIUS
213
281
  }));
214
- case 2:
282
+ case 1:
215
283
  case "end":
216
- return _context2.stop();
284
+ return _context3.stop();
217
285
  }
218
- }, _callee2, this);
286
+ }, _callee3, this);
219
287
  }));
220
288
  function postRegistration(_x4) {
221
289
  return _postRegistration.apply(this, arguments);
@@ -230,27 +298,68 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
230
298
  }, {
231
299
  key: "restorePreviousRegistration",
232
300
  value: (function () {
233
- var _restorePreviousRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3(caller) {
301
+ var _restorePreviousRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5(caller) {
302
+ var _this = this;
234
303
  var abort;
235
- return _regenerator.default.wrap(function _callee3$(_context3) {
236
- while (1) switch (_context3.prev = _context3.next) {
304
+ return _regenerator.default.wrap(function (_context5) {
305
+ while (1) switch (_context5.prev = _context5.next) {
237
306
  case 0:
238
307
  abort = false;
239
308
  if (!this.activeMobiusUrl) {
240
- _context3.next = 5;
309
+ _context5.next = 6;
241
310
  break;
242
311
  }
243
- _context3.next = 4;
312
+ _context5.next = 1;
244
313
  return this.attemptRegistrationWithServers(caller, [this.activeMobiusUrl]);
314
+ case 1:
315
+ abort = _context5.sent;
316
+ if (!this.retryAfter) {
317
+ _context5.next = 6;
318
+ break;
319
+ }
320
+ if (!(this.retryAfter < _constants2.RETRY_TIMER_UPPER_LIMIT)) {
321
+ _context5.next = 2;
322
+ break;
323
+ }
324
+ // If retry-after is less than threshold, honor it and schedule retry
325
+ setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
326
+ return _regenerator.default.wrap(function (_context4) {
327
+ while (1) switch (_context4.prev = _context4.next) {
328
+ case 0:
329
+ _context4.next = 1;
330
+ return _this.restartRegistration(caller);
331
+ case 1:
332
+ case "end":
333
+ return _context4.stop();
334
+ }
335
+ }, _callee4);
336
+ })), this.retryAfter * 1000);
337
+ _context5.next = 5;
338
+ break;
339
+ case 2:
340
+ if (!(this.primaryMobiusUris.includes(this.activeMobiusUrl) && this.backupMobiusUris.length > 0)) {
341
+ _context5.next = 4;
342
+ break;
343
+ }
344
+ _context5.next = 3;
345
+ return this.attemptRegistrationWithServers(caller, this.backupMobiusUris);
346
+ case 3:
347
+ abort = _context5.sent;
348
+ _context5.next = 5;
349
+ break;
245
350
  case 4:
246
- abort = _context3.sent;
351
+ // If we are using backup and got 429, restart registration
352
+ this.restartRegistration(caller);
247
353
  case 5:
248
- return _context3.abrupt("return", abort);
354
+ this.retryAfter = undefined;
355
+ return _context5.abrupt("return", true);
249
356
  case 6:
357
+ return _context5.abrupt("return", abort);
358
+ case 7:
250
359
  case "end":
251
- return _context3.stop();
360
+ return _context5.stop();
252
361
  }
253
- }, _callee3, this);
362
+ }, _callee5, this);
254
363
  }));
255
364
  function restorePreviousRegistration(_x5) {
256
365
  return _restorePreviousRegistration.apply(this, arguments);
@@ -264,30 +373,30 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
264
373
  }, {
265
374
  key: "handle404KeepaliveFailure",
266
375
  value: (function () {
267
- var _handle404KeepaliveFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4(caller) {
376
+ var _handle404KeepaliveFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6(caller) {
268
377
  var abort;
269
- return _regenerator.default.wrap(function _callee4$(_context4) {
270
- while (1) switch (_context4.prev = _context4.next) {
378
+ return _regenerator.default.wrap(function (_context6) {
379
+ while (1) switch (_context6.prev = _context6.next) {
271
380
  case 0:
272
381
  if (!(caller === _constants2.KEEPALIVE_UTIL)) {
273
- _context4.next = 7;
382
+ _context6.next = 2;
274
383
  break;
275
384
  }
276
- _context4.next = 3;
385
+ _context6.next = 1;
277
386
  return this.attemptRegistrationWithServers(caller);
278
- case 3:
279
- abort = _context4.sent;
387
+ case 1:
388
+ abort = _context6.sent;
280
389
  if (!(!abort && !this.isDeviceRegistered())) {
281
- _context4.next = 7;
390
+ _context6.next = 2;
282
391
  break;
283
392
  }
284
- _context4.next = 7;
393
+ _context6.next = 2;
285
394
  return this.startFailoverTimer();
286
- case 7:
395
+ case 2:
287
396
  case "end":
288
- return _context4.stop();
397
+ return _context6.stop();
289
398
  }
290
- }, _callee4, this);
399
+ }, _callee6, this);
291
400
  }));
292
401
  function handle404KeepaliveFailure(_x6) {
293
402
  return _handle404KeepaliveFailure.apply(this, arguments);
@@ -301,22 +410,22 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
301
410
  }, {
302
411
  key: "handle429Retry",
303
412
  value: (function () {
304
- var _handle429Retry = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6(retryAfter, caller) {
305
- var _this = this;
413
+ var _handle429Retry = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8(retryAfter, caller) {
414
+ var _this2 = this;
306
415
  var interval, abort;
307
- return _regenerator.default.wrap(function _callee6$(_context6) {
308
- while (1) switch (_context6.prev = _context6.next) {
416
+ return _regenerator.default.wrap(function (_context8) {
417
+ while (1) switch (_context8.prev = _context8.next) {
309
418
  case 0:
310
419
  if (!(caller === _constants2.FAILBACK_UTIL)) {
311
- _context6.next = 17;
420
+ _context8.next = 4;
312
421
  break;
313
422
  }
314
423
  if (!(this.failback429RetryAttempts >= _constants2.REG_FAILBACK_429_MAX_RETRIES)) {
315
- _context6.next = 3;
424
+ _context8.next = 1;
316
425
  break;
317
426
  }
318
- return _context6.abrupt("return");
319
- case 3:
427
+ return _context8.abrupt("return");
428
+ case 1:
320
429
  this.clearFailbackTimer();
321
430
  this.failback429RetryAttempts += 1;
322
431
  _Logger.default.log("Received 429 while rehoming, 429 retry count : ".concat(this.failback429RetryAttempts), {
@@ -326,26 +435,26 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
326
435
  interval = this.getRegRetryInterval(this.failback429RetryAttempts);
327
436
  this.startFailbackTimer(interval);
328
437
  this.scheduled429Retry = true;
329
- _context6.next = 11;
438
+ _context8.next = 2;
330
439
  return this.restorePreviousRegistration(_constants2.REG_429_RETRY_UTIL);
331
- case 11:
332
- abort = _context6.sent;
440
+ case 2:
441
+ abort = _context8.sent;
333
442
  if (!(!abort && !this.isDeviceRegistered())) {
334
- _context6.next = 15;
443
+ _context8.next = 3;
335
444
  break;
336
445
  }
337
- _context6.next = 15;
446
+ _context8.next = 3;
338
447
  return this.restartRegistration(_constants2.REG_429_RETRY_UTIL);
339
- case 15:
340
- _context6.next = 18;
448
+ case 3:
449
+ _context8.next = 5;
341
450
  break;
342
- case 17:
451
+ case 4:
343
452
  if (caller === _constants2.KEEPALIVE_UTIL) {
344
453
  this.clearKeepaliveTimer();
345
- setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
346
- var _this$deviceInfo$devi;
347
- return _regenerator.default.wrap(function _callee5$(_context5) {
348
- while (1) switch (_context5.prev = _context5.next) {
454
+ setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7() {
455
+ var _this2$deviceInfo$dev;
456
+ return _regenerator.default.wrap(function (_context7) {
457
+ while (1) switch (_context7.prev = _context7.next) {
349
458
  case 0:
350
459
  _Logger.default.log("Resuming keepalive after ".concat(retryAfter, " seconds"), {
351
460
  file: _constants2.REGISTRATION_FILE,
@@ -353,22 +462,22 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
353
462
  });
354
463
 
355
464
  // Resume the keepalive after waiting for the retry after period
356
- _context5.next = 3;
357
- return _this.startKeepaliveTimer((_this$deviceInfo$devi = _this.deviceInfo.device) === null || _this$deviceInfo$devi === void 0 ? void 0 : _this$deviceInfo$devi.uri, _this.deviceInfo.keepaliveInterval, 'UNKNOWN');
358
- case 3:
465
+ _context7.next = 1;
466
+ return _this2.startKeepaliveTimer((_this2$deviceInfo$dev = _this2.deviceInfo.device) === null || _this2$deviceInfo$dev === void 0 ? void 0 : _this2$deviceInfo$dev.uri, _this2.deviceInfo.keepaliveInterval, 'UNKNOWN');
467
+ case 1:
359
468
  case "end":
360
- return _context5.stop();
469
+ return _context7.stop();
361
470
  }
362
- }, _callee5);
471
+ }, _callee7);
363
472
  })), retryAfter * 1000);
364
473
  } else {
365
474
  this.retryAfter = retryAfter;
366
475
  }
367
- case 18:
476
+ case 5:
368
477
  case "end":
369
- return _context6.stop();
478
+ return _context8.stop();
370
479
  }
371
- }, _callee6, this);
480
+ }, _callee8, this);
372
481
  }));
373
482
  function handle429Retry(_x7, _x8) {
374
483
  return _handle429Retry.apply(this, arguments);
@@ -399,8 +508,8 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
399
508
  }, {
400
509
  key: "startFailoverTimer",
401
510
  value: (function () {
402
- var _startFailoverTimer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1() {
403
- var _this2 = this;
511
+ var _startFailoverTimer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11() {
512
+ var _this3 = this;
404
513
  var attempt,
405
514
  timeElapsed,
406
515
  loggerContext,
@@ -409,12 +518,12 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
409
518
  excessVal,
410
519
  abort,
411
520
  scheduledTime,
412
- _args1 = arguments;
413
- return _regenerator.default.wrap(function _callee1$(_context1) {
414
- while (1) switch (_context1.prev = _context1.next) {
521
+ _args11 = arguments;
522
+ return _regenerator.default.wrap(function (_context11) {
523
+ while (1) switch (_context11.prev = _context11.next) {
415
524
  case 0:
416
- attempt = _args1.length > 0 && _args1[0] !== undefined ? _args1[0] : 1;
417
- timeElapsed = _args1.length > 1 && _args1[1] !== undefined ? _args1[1] : 0;
525
+ attempt = _args11.length > 0 && _args11[0] !== undefined ? _args11[0] : 1;
526
+ timeElapsed = _args11.length > 1 && _args11[1] !== undefined ? _args11[1] : 0;
418
527
  loggerContext = {
419
528
  file: _constants2.REGISTRATION_FILE,
420
529
  method: _constants2.FAILOVER_UTIL
@@ -429,116 +538,128 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
429
538
  this.failoverImmediately = this.retryAfter + timeElapsed > TIMER_THRESHOLD;
430
539
  }
431
540
  if (!(interval > _constants2.BASE_REG_RETRY_TIMER_VAL_IN_SEC && !this.failoverImmediately)) {
432
- _context1.next = 14;
541
+ _context11.next = 1;
433
542
  break;
434
543
  }
435
544
  scheduledTime = Math.floor((0, _now.default)() / 1000);
436
545
  if (this.retryAfter != null) {
437
546
  interval = Math.max(interval, this.retryAfter);
438
547
  }
439
- setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8() {
440
- return _regenerator.default.wrap(function _callee8$(_context8) {
441
- while (1) switch (_context8.prev = _context8.next) {
548
+ this.saveFailoverState({
549
+ attempt: attempt,
550
+ timeElapsed: timeElapsed,
551
+ retryScheduledTime: scheduledTime,
552
+ serverType: 'primary'
553
+ });
554
+ setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0() {
555
+ return _regenerator.default.wrap(function (_context0) {
556
+ while (1) switch (_context0.prev = _context0.next) {
442
557
  case 0:
443
- _context8.next = 2;
444
- return _this2.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7() {
558
+ _context0.next = 1;
559
+ return _this3.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9() {
445
560
  var currentTime;
446
- return _regenerator.default.wrap(function _callee7$(_context7) {
447
- while (1) switch (_context7.prev = _context7.next) {
561
+ return _regenerator.default.wrap(function (_context9) {
562
+ while (1) switch (_context9.prev = _context9.next) {
448
563
  case 0:
449
- _context7.next = 2;
450
- return _this2.attemptRegistrationWithServers(_constants2.FAILOVER_UTIL);
451
- case 2:
452
- abort = _context7.sent;
564
+ _context9.next = 1;
565
+ return _this3.attemptRegistrationWithServers(_constants2.FAILOVER_UTIL);
566
+ case 1:
567
+ abort = _context9.sent;
453
568
  currentTime = Math.floor((0, _now.default)() / 1000);
454
- if (!(!abort && !_this2.isDeviceRegistered())) {
455
- _context7.next = 7;
569
+ if (!(!abort && !_this3.isDeviceRegistered())) {
570
+ _context9.next = 2;
456
571
  break;
457
572
  }
458
- _context7.next = 7;
459
- return _this2.startFailoverTimer(attempt + 1, timeElapsed + (currentTime - scheduledTime));
460
- case 7:
573
+ _context9.next = 2;
574
+ return _this3.startFailoverTimer(attempt + 1, timeElapsed + (currentTime - scheduledTime));
575
+ case 2:
461
576
  case "end":
462
- return _context7.stop();
577
+ return _context9.stop();
463
578
  }
464
- }, _callee7);
579
+ }, _callee9);
465
580
  })));
466
- case 2:
581
+ case 1:
467
582
  case "end":
468
- return _context8.stop();
583
+ return _context0.stop();
469
584
  }
470
- }, _callee8);
585
+ }, _callee0);
471
586
  })), interval * _constants2.SEC_TO_MSEC_MFACTOR);
472
587
  _Logger.default.log("Scheduled retry with primary in ".concat(interval, " seconds, number of attempts : ").concat(attempt), loggerContext);
473
- _context1.next = 26;
588
+ _context11.next = 5;
474
589
  break;
475
- case 14:
590
+ case 1:
476
591
  if (!this.backupMobiusUris.length) {
477
- _context1.next = 23;
592
+ _context11.next = 3;
478
593
  break;
479
594
  }
595
+ this.saveFailoverState({
596
+ attempt: attempt,
597
+ timeElapsed: timeElapsed,
598
+ retryScheduledTime: Math.floor((0, _now.default)() / 1000),
599
+ serverType: 'backup'
600
+ });
480
601
  _Logger.default.info('Failing over to backup servers.', loggerContext);
481
602
  this.failoverImmediately = false;
482
- _context1.next = 19;
603
+ _context11.next = 2;
483
604
  return this.attemptRegistrationWithServers(_constants2.FAILOVER_UTIL, this.backupMobiusUris);
484
- case 19:
485
- abort = _context1.sent;
605
+ case 2:
606
+ abort = _context11.sent;
486
607
  if (!abort && !this.isDeviceRegistered()) {
487
608
  interval = this.getRegRetryInterval();
488
609
  if (this.retryAfter != null && this.retryAfter < _constants2.RETRY_TIMER_UPPER_LIMIT) {
489
610
  interval = interval < this.retryAfter ? this.retryAfter : interval;
490
611
  }
491
- setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0() {
492
- return _regenerator.default.wrap(function _callee0$(_context0) {
493
- while (1) switch (_context0.prev = _context0.next) {
612
+ setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10() {
613
+ return _regenerator.default.wrap(function (_context10) {
614
+ while (1) switch (_context10.prev = _context10.next) {
494
615
  case 0:
495
- _context0.next = 2;
496
- return _this2.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9() {
497
- return _regenerator.default.wrap(function _callee9$(_context9) {
498
- while (1) switch (_context9.prev = _context9.next) {
616
+ _context10.next = 1;
617
+ return _this3.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1() {
618
+ return _regenerator.default.wrap(function (_context1) {
619
+ while (1) switch (_context1.prev = _context1.next) {
499
620
  case 0:
500
- _context9.next = 2;
501
- return _this2.attemptRegistrationWithServers(_constants2.FAILOVER_UTIL, _this2.backupMobiusUris);
502
- case 2:
503
- abort = _context9.sent;
504
- if (!(!abort && !_this2.isDeviceRegistered())) {
505
- _context9.next = 7;
621
+ _context1.next = 1;
622
+ return _this3.attemptRegistrationWithServers(_constants2.FAILOVER_UTIL, _this3.backupMobiusUris);
623
+ case 1:
624
+ abort = _context1.sent;
625
+ if (!(!abort && !_this3.isDeviceRegistered())) {
626
+ _context1.next = 3;
506
627
  break;
507
628
  }
508
- _context9.next = 6;
629
+ _context1.next = 2;
509
630
  return (0, _common.uploadLogs)();
510
- case 6:
631
+ case 2:
511
632
  (0, _common.emitFinalFailure)(function (clientError) {
512
- _this2.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
633
+ _this3.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
513
634
  }, loggerContext);
514
- case 7:
635
+ case 3:
515
636
  case "end":
516
- return _context9.stop();
637
+ return _context1.stop();
517
638
  }
518
- }, _callee9);
639
+ }, _callee1);
519
640
  })));
520
- case 2:
641
+ case 1:
521
642
  case "end":
522
- return _context0.stop();
643
+ return _context10.stop();
523
644
  }
524
- }, _callee0);
645
+ }, _callee10);
525
646
  })), interval * _constants2.SEC_TO_MSEC_MFACTOR);
526
647
  _Logger.default.log("Scheduled retry with backup servers in ".concat(interval, " seconds."), loggerContext);
527
648
  }
528
- _context1.next = 26;
649
+ _context11.next = 5;
529
650
  break;
530
- case 23:
531
- _context1.next = 25;
651
+ case 3:
652
+ _context11.next = 4;
532
653
  return (0, _common.uploadLogs)();
533
- case 25:
654
+ case 4:
534
655
  (0, _common.emitFinalFailure)(function (clientError) {
535
- _this2.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
656
+ _this3.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
536
657
  }, loggerContext);
537
- case 26:
658
+ case 5:
538
659
  case "end":
539
- return _context1.stop();
660
+ return _context11.stop();
540
661
  }
541
- }, _callee1, this);
662
+ }, _callee11, this);
542
663
  }));
543
664
  function startFailoverTimer() {
544
665
  return _startFailoverTimer.apply(this, arguments);
@@ -560,34 +681,34 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
560
681
  }, {
561
682
  key: "isPrimaryActive",
562
683
  value: function () {
563
- var _isPrimaryActive = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10() {
564
- var status, _iterator, _step, mobiusUrl, baseUri, response, _ref6, statusCode;
565
- return _regenerator.default.wrap(function _callee10$(_context10) {
566
- while (1) switch (_context10.prev = _context10.next) {
684
+ var _isPrimaryActive = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12() {
685
+ var status, _iterator, _step, mobiusUrl, baseUri, response, _ref7, statusCode, _t1, _t10;
686
+ return _regenerator.default.wrap(function (_context12) {
687
+ while (1) switch (_context12.prev = _context12.next) {
567
688
  case 0:
568
689
  _iterator = _createForOfIteratorHelper(this.primaryMobiusUris);
569
- _context10.prev = 1;
690
+ _context12.prev = 1;
570
691
  _iterator.s();
571
- case 3:
692
+ case 2:
572
693
  if ((_step = _iterator.n()).done) {
573
- _context10.next = 23;
694
+ _context12.next = 8;
574
695
  break;
575
696
  }
576
697
  mobiusUrl = _step.value;
577
- _context10.prev = 5;
698
+ _context12.prev = 3;
578
699
  baseUri = mobiusUrl.replace(_constants2.URL_ENDPOINT, '/'); // eslint-disable-next-line no-await-in-loop
579
- _context10.next = 9;
700
+ _context12.next = 4;
580
701
  return this.webex.request({
581
702
  uri: "".concat(baseUri, "ping"),
582
703
  method: _types2.HTTP_METHODS.GET,
583
704
  headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, this.webex.internal.device.url), _constants2.SPARK_USER_AGENT, _constants2.CALLING_USER_AGENT),
584
705
  service: _types2.ALLOWED_SERVICES.MOBIUS
585
706
  });
586
- case 9:
587
- response = _context10.sent;
588
- _ref6 = response, statusCode = _ref6.statusCode;
707
+ case 4:
708
+ response = _context12.sent;
709
+ _ref7 = response, statusCode = _ref7.statusCode;
589
710
  if (!(statusCode === 200)) {
590
- _context10.next = 15;
711
+ _context12.next = 5;
591
712
  break;
592
713
  }
593
714
  _Logger.default.info("Ping successful for primary Mobius: ".concat(mobiusUrl), {
@@ -595,39 +716,39 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
595
716
  method: _constants2.FAILBACK_UTIL
596
717
  });
597
718
  status = 'up';
598
- return _context10.abrupt("break", 23);
599
- case 15:
600
- _context10.next = 21;
719
+ return _context12.abrupt("continue", 8);
720
+ case 5:
721
+ _context12.next = 7;
601
722
  break;
602
- case 17:
603
- _context10.prev = 17;
604
- _context10.t0 = _context10["catch"](5);
605
- _Logger.default.warn("Ping failed for primary Mobius: ".concat(mobiusUrl, " with error: ").concat(_context10.t0), {
723
+ case 6:
724
+ _context12.prev = 6;
725
+ _t1 = _context12["catch"](3);
726
+ _Logger.default.warn("Ping failed for primary Mobius: ".concat(mobiusUrl, " with error: ").concat((0, _stringify.default)(_t1)), {
606
727
  file: _constants2.REGISTRATION_FILE,
607
728
  method: _constants2.FAILBACK_UTIL
608
729
  });
609
730
  status = 'down';
610
- case 21:
611
- _context10.next = 3;
731
+ case 7:
732
+ _context12.next = 2;
612
733
  break;
613
- case 23:
614
- _context10.next = 28;
734
+ case 8:
735
+ _context12.next = 10;
615
736
  break;
616
- case 25:
617
- _context10.prev = 25;
618
- _context10.t1 = _context10["catch"](1);
619
- _iterator.e(_context10.t1);
620
- case 28:
621
- _context10.prev = 28;
737
+ case 9:
738
+ _context12.prev = 9;
739
+ _t10 = _context12["catch"](1);
740
+ _iterator.e(_t10);
741
+ case 10:
742
+ _context12.prev = 10;
622
743
  _iterator.f();
623
- return _context10.finish(28);
624
- case 31:
625
- return _context10.abrupt("return", status === 'up');
626
- case 32:
744
+ return _context12.finish(10);
745
+ case 11:
746
+ return _context12.abrupt("return", status === 'up');
747
+ case 12:
627
748
  case "end":
628
- return _context10.stop();
749
+ return _context12.stop();
629
750
  }
630
- }, _callee10, this, [[1, 25, 28, 31], [5, 17]]);
751
+ }, _callee12, this, [[1, 9, 10, 11], [3, 6]]);
631
752
  }));
632
753
  function isPrimaryActive() {
633
754
  return _isPrimaryActive.apply(this, arguments);
@@ -679,17 +800,17 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
679
800
  }, {
680
801
  key: "startFailbackTimer",
681
802
  value: function startFailbackTimer(intervalInSeconds) {
682
- var _this3 = this;
683
- this.failbackTimer = setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11() {
684
- return _regenerator.default.wrap(function _callee11$(_context11) {
685
- while (1) switch (_context11.prev = _context11.next) {
803
+ var _this4 = this;
804
+ this.failbackTimer = setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13() {
805
+ return _regenerator.default.wrap(function (_context13) {
806
+ while (1) switch (_context13.prev = _context13.next) {
686
807
  case 0:
687
- return _context11.abrupt("return", _this3.executeFailback());
808
+ return _context13.abrupt("return", _this4.executeFailback());
688
809
  case 1:
689
810
  case "end":
690
- return _context11.stop();
811
+ return _context13.stop();
691
812
  }
692
- }, _callee11);
813
+ }, _callee13);
693
814
  })), intervalInSeconds * _constants2.SEC_TO_MSEC_MFACTOR);
694
815
  _Logger.default.log("Failback scheduled after ".concat(intervalInSeconds, " seconds."), {
695
816
  file: _constants2.REGISTRATION_FILE,
@@ -704,90 +825,90 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
704
825
  }, {
705
826
  key: "executeFailback",
706
827
  value: (function () {
707
- var _executeFailback = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13() {
708
- var _this4 = this;
709
- return _regenerator.default.wrap(function _callee13$(_context13) {
710
- while (1) switch (_context13.prev = _context13.next) {
828
+ var _executeFailback = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15() {
829
+ var _this5 = this;
830
+ return _regenerator.default.wrap(function (_context15) {
831
+ while (1) switch (_context15.prev = _context15.next) {
711
832
  case 0:
712
- _context13.next = 2;
713
- return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12() {
833
+ _context15.next = 1;
834
+ return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14() {
714
835
  var primaryServerStatus, abort, abortNew;
715
- return _regenerator.default.wrap(function _callee12$(_context12) {
716
- while (1) switch (_context12.prev = _context12.next) {
836
+ return _regenerator.default.wrap(function (_context14) {
837
+ while (1) switch (_context14.prev = _context14.next) {
717
838
  case 0:
718
- if (!_this4.isFailbackRequired()) {
719
- _context12.next = 31;
839
+ if (!_this5.isFailbackRequired()) {
840
+ _context14.next = 11;
720
841
  break;
721
842
  }
722
- _context12.next = 3;
723
- return _this4.isPrimaryActive();
724
- case 3:
725
- primaryServerStatus = _context12.sent;
726
- if (!((0, _keys.default)(_this4.callManager.getActiveCalls()).length === 0 && primaryServerStatus)) {
727
- _context12.next = 28;
843
+ _context14.next = 1;
844
+ return _this5.isPrimaryActive();
845
+ case 1:
846
+ primaryServerStatus = _context14.sent;
847
+ if (!((0, _keys.default)(_this5.callManager.getActiveCalls()).length === 0 && primaryServerStatus)) {
848
+ _context14.next = 10;
728
849
  break;
729
850
  }
730
851
  _Logger.default.info("Attempting failback to primary.", {
731
852
  file: _constants2.REGISTRATION_FILE,
732
- method: _this4.executeFailback.name
853
+ method: _this5.executeFailback.name
733
854
  });
734
- _context12.next = 8;
735
- return _this4.deregister();
736
- case 8:
737
- _context12.next = 10;
738
- return _this4.attemptRegistrationWithServers(_constants2.FAILBACK_UTIL);
739
- case 10:
740
- abort = _context12.sent;
741
- if (!(_this4.scheduled429Retry || abort || _this4.isDeviceRegistered())) {
742
- _context12.next = 13;
855
+ _context14.next = 2;
856
+ return _this5.deregister();
857
+ case 2:
858
+ _context14.next = 3;
859
+ return _this5.attemptRegistrationWithServers(_constants2.FAILBACK_UTIL);
860
+ case 3:
861
+ abort = _context14.sent;
862
+ if (!(_this5.scheduled429Retry || abort || _this5.isDeviceRegistered())) {
863
+ _context14.next = 4;
743
864
  break;
744
865
  }
745
- return _context12.abrupt("return");
746
- case 13:
747
- _context12.next = 15;
748
- return _this4.restorePreviousRegistration(_constants2.FAILBACK_UTIL);
749
- case 15:
750
- abortNew = _context12.sent;
866
+ return _context14.abrupt("return");
867
+ case 4:
868
+ _context14.next = 5;
869
+ return _this5.restorePreviousRegistration(_constants2.FAILBACK_UTIL);
870
+ case 5:
871
+ abortNew = _context14.sent;
751
872
  if (!abortNew) {
752
- _context12.next = 19;
873
+ _context14.next = 6;
753
874
  break;
754
875
  }
755
- _this4.clearFailbackTimer();
756
- return _context12.abrupt("return");
757
- case 19:
758
- if (_this4.isDeviceRegistered()) {
759
- _context12.next = 24;
876
+ _this5.clearFailbackTimer();
877
+ return _context14.abrupt("return");
878
+ case 6:
879
+ if (_this5.isDeviceRegistered()) {
880
+ _context14.next = 8;
760
881
  break;
761
882
  }
762
- _context12.next = 22;
763
- return _this4.restartRegistration(_this4.executeFailback.name);
764
- case 22:
765
- _context12.next = 26;
883
+ _context14.next = 7;
884
+ return _this5.restartRegistration(_this5.executeFailback.name);
885
+ case 7:
886
+ _context14.next = 9;
766
887
  break;
767
- case 24:
768
- _this4.failbackTimer = undefined;
769
- _this4.initiateFailback();
770
- case 26:
771
- _context12.next = 31;
888
+ case 8:
889
+ _this5.failbackTimer = undefined;
890
+ _this5.initiateFailback();
891
+ case 9:
892
+ _context14.next = 11;
772
893
  break;
773
- case 28:
894
+ case 10:
774
895
  _Logger.default.info('Active calls present or primary Mobius is down, deferring failback to next cycle.', {
775
896
  file: _constants2.REGISTRATION_FILE,
776
- method: _this4.executeFailback.name
897
+ method: _this5.executeFailback.name
777
898
  });
778
- _this4.failbackTimer = undefined;
779
- _this4.initiateFailback();
780
- case 31:
899
+ _this5.failbackTimer = undefined;
900
+ _this5.initiateFailback();
901
+ case 11:
781
902
  case "end":
782
- return _context12.stop();
903
+ return _context14.stop();
783
904
  }
784
- }, _callee12);
905
+ }, _callee14);
785
906
  })));
786
- case 2:
907
+ case 1:
787
908
  case "end":
788
- return _context13.stop();
909
+ return _context15.stop();
789
910
  }
790
- }, _callee13, this);
911
+ }, _callee15, this);
791
912
  }));
792
913
  function executeFailback() {
793
914
  return _executeFailback.apply(this, arguments);
@@ -850,10 +971,10 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
850
971
  }, {
851
972
  key: "restartRegistration",
852
973
  value: (function () {
853
- var _restartRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14(caller) {
974
+ var _restartRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee16(caller) {
854
975
  var abort;
855
- return _regenerator.default.wrap(function _callee14$(_context14) {
856
- while (1) switch (_context14.prev = _context14.next) {
976
+ return _regenerator.default.wrap(function (_context16) {
977
+ while (1) switch (_context16.prev = _context16.next) {
857
978
  case 0:
858
979
  /*
859
980
  * Cancel any failback timer running
@@ -861,21 +982,21 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
861
982
  */
862
983
  this.clearFailbackTimer();
863
984
  this.failback429RetryAttempts = 0;
864
- _context14.next = 4;
985
+ _context16.next = 1;
865
986
  return this.attemptRegistrationWithServers(caller, this.primaryMobiusUris);
866
- case 4:
867
- abort = _context14.sent;
987
+ case 1:
988
+ abort = _context16.sent;
868
989
  if (!(!abort && !this.isDeviceRegistered())) {
869
- _context14.next = 8;
990
+ _context16.next = 2;
870
991
  break;
871
992
  }
872
- _context14.next = 8;
993
+ _context16.next = 2;
873
994
  return this.startFailoverTimer();
874
- case 8:
995
+ case 2:
875
996
  case "end":
876
- return _context14.stop();
997
+ return _context16.stop();
877
998
  }
878
- }, _callee14, this);
999
+ }, _callee16, this);
879
1000
  }));
880
1001
  function restartRegistration(_x9) {
881
1002
  return _restartRegistration.apply(this, arguments);
@@ -891,66 +1012,66 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
891
1012
  }, {
892
1013
  key: "handleConnectionRestoration",
893
1014
  value: (function () {
894
- var _handleConnectionRestoration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee16(retry) {
895
- var _this5 = this;
896
- return _regenerator.default.wrap(function _callee16$(_context16) {
897
- while (1) switch (_context16.prev = _context16.next) {
1015
+ var _handleConnectionRestoration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee18(retry) {
1016
+ var _this6 = this;
1017
+ return _regenerator.default.wrap(function (_context18) {
1018
+ while (1) switch (_context18.prev = _context18.next) {
898
1019
  case 0:
899
1020
  _Logger.default.info(_constants.METHOD_START_MESSAGE, {
900
1021
  method: _constants2.METHODS.HANDLE_CONNECTION_RESTORATION,
901
1022
  file: _constants2.REGISTRATION_FILE
902
1023
  });
903
- _context16.next = 3;
904
- return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15() {
1024
+ _context18.next = 1;
1025
+ return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee17() {
905
1026
  var abort;
906
- return _regenerator.default.wrap(function _callee15$(_context15) {
907
- while (1) switch (_context15.prev = _context15.next) {
1027
+ return _regenerator.default.wrap(function (_context17) {
1028
+ while (1) switch (_context17.prev = _context17.next) {
908
1029
  case 0:
909
1030
  if (!retry) {
910
- _context15.next = 14;
1031
+ _context17.next = 4;
911
1032
  break;
912
1033
  }
913
1034
  _Logger.default.log('Network is up again, re-registering with Webex Calling if needed', {
914
1035
  file: _constants2.REGISTRATION_FILE,
915
1036
  method: _constants2.METHODS.HANDLE_CONNECTION_RESTORATION
916
1037
  });
917
- _this5.clearKeepaliveTimer();
918
- if (!_this5.isDeviceRegistered()) {
919
- _context15.next = 6;
1038
+ _this6.clearKeepaliveTimer();
1039
+ if (!_this6.isDeviceRegistered()) {
1040
+ _context17.next = 1;
920
1041
  break;
921
1042
  }
922
- _context15.next = 6;
923
- return _this5.deregister();
924
- case 6:
925
- if (!_this5.activeMobiusUrl) {
926
- _context15.next = 13;
1043
+ _context17.next = 1;
1044
+ return _this6.deregister();
1045
+ case 1:
1046
+ if (!_this6.activeMobiusUrl) {
1047
+ _context17.next = 3;
927
1048
  break;
928
1049
  }
929
- _context15.next = 9;
930
- return _this5.restorePreviousRegistration(_constants2.METHODS.HANDLE_CONNECTION_RESTORATION);
931
- case 9:
932
- abort = _context15.sent;
933
- if (!(!abort && !_this5.isDeviceRegistered())) {
934
- _context15.next = 13;
1050
+ _context17.next = 2;
1051
+ return _this6.restorePreviousRegistration(_constants2.METHODS.HANDLE_CONNECTION_RESTORATION);
1052
+ case 2:
1053
+ abort = _context17.sent;
1054
+ if (!(!abort && !_this6.isDeviceRegistered())) {
1055
+ _context17.next = 3;
935
1056
  break;
936
1057
  }
937
- _context15.next = 13;
938
- return _this5.restartRegistration(_constants2.METHODS.HANDLE_CONNECTION_RESTORATION);
939
- case 13:
1058
+ _context17.next = 3;
1059
+ return _this6.restartRegistration(_constants2.METHODS.HANDLE_CONNECTION_RESTORATION);
1060
+ case 3:
940
1061
  retry = false;
941
- case 14:
1062
+ case 4:
942
1063
  case "end":
943
- return _context15.stop();
1064
+ return _context17.stop();
944
1065
  }
945
- }, _callee15);
1066
+ }, _callee17);
946
1067
  })));
947
- case 3:
948
- return _context16.abrupt("return", retry);
949
- case 4:
1068
+ case 1:
1069
+ return _context18.abrupt("return", retry);
1070
+ case 2:
950
1071
  case "end":
951
- return _context16.stop();
1072
+ return _context18.stop();
952
1073
  }
953
- }, _callee16, this);
1074
+ }, _callee18, this);
954
1075
  }));
955
1076
  function handleConnectionRestoration(_x0) {
956
1077
  return _handleConnectionRestoration.apply(this, arguments);
@@ -966,56 +1087,56 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
966
1087
  }, {
967
1088
  key: "restoreRegistrationCallBack",
968
1089
  value: function restoreRegistrationCallBack() {
969
- var _this6 = this;
1090
+ var _this7 = this;
970
1091
  return /*#__PURE__*/function () {
971
- var _ref0 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee17(restoreData, caller) {
1092
+ var _ref1 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee19(restoreData, caller) {
972
1093
  var logContext, restore, finalError;
973
- return _regenerator.default.wrap(function _callee17$(_context17) {
974
- while (1) switch (_context17.prev = _context17.next) {
1094
+ return _regenerator.default.wrap(function (_context19) {
1095
+ while (1) switch (_context19.prev = _context19.next) {
975
1096
  case 0:
976
1097
  logContext = {
977
1098
  file: _constants2.REGISTRATION_FILE,
978
1099
  method: caller
979
1100
  };
980
- if (_this6.isRegRetry()) {
981
- _context17.next = 17;
1101
+ if (_this7.isRegRetry()) {
1102
+ _context19.next = 4;
982
1103
  break;
983
1104
  }
984
1105
  _Logger.default.info('Registration restoration in progress.', logContext);
985
- restore = _this6.getExistingDevice(restoreData);
1106
+ restore = _this7.getExistingDevice(restoreData);
986
1107
  if (!restore) {
987
- _context17.next = 14;
1108
+ _context19.next = 3;
988
1109
  break;
989
1110
  }
990
- _this6.setRegRetry(true);
991
- _context17.next = 8;
992
- return _this6.deregister();
993
- case 8:
994
- _context17.next = 10;
995
- return _this6.restorePreviousRegistration(caller);
996
- case 10:
997
- finalError = _context17.sent;
998
- _this6.setRegRetry(false);
999
- if (_this6.isDeviceRegistered()) {
1111
+ _this7.setRegRetry(true);
1112
+ _context19.next = 1;
1113
+ return _this7.deregister();
1114
+ case 1:
1115
+ _context19.next = 2;
1116
+ return _this7.restorePreviousRegistration(caller);
1117
+ case 2:
1118
+ finalError = _context19.sent;
1119
+ _this7.setRegRetry(false);
1120
+ if (_this7.isDeviceRegistered()) {
1000
1121
  _Logger.default.info('Registration restored successfully.', logContext);
1001
1122
  }
1002
- return _context17.abrupt("return", finalError);
1003
- case 14:
1004
- _this6.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
1005
- _context17.next = 18;
1123
+ return _context19.abrupt("return", finalError);
1124
+ case 3:
1125
+ _this7.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
1126
+ _context19.next = 5;
1006
1127
  break;
1007
- case 17:
1008
- _this6.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
1009
- case 18:
1010
- return _context17.abrupt("return", false);
1011
- case 19:
1128
+ case 4:
1129
+ _this7.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
1130
+ case 5:
1131
+ return _context19.abrupt("return", false);
1132
+ case 6:
1012
1133
  case "end":
1013
- return _context17.stop();
1134
+ return _context19.stop();
1014
1135
  }
1015
- }, _callee17);
1136
+ }, _callee19);
1016
1137
  }));
1017
1138
  return function (_x1, _x10) {
1018
- return _ref0.apply(this, arguments);
1139
+ return _ref1.apply(this, arguments);
1019
1140
  };
1020
1141
  }();
1021
1142
  }
@@ -1027,30 +1148,39 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1027
1148
  }, {
1028
1149
  key: "triggerRegistration",
1029
1150
  value: (function () {
1030
- var _triggerRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee18() {
1151
+ var _triggerRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee20() {
1031
1152
  var abort;
1032
- return _regenerator.default.wrap(function _callee18$(_context18) {
1033
- while (1) switch (_context18.prev = _context18.next) {
1153
+ return _regenerator.default.wrap(function (_context20) {
1154
+ while (1) switch (_context20.prev = _context20.next) {
1034
1155
  case 0:
1156
+ _context20.next = 1;
1157
+ return this.resumeFailover();
1158
+ case 1:
1159
+ if (!_context20.sent) {
1160
+ _context20.next = 2;
1161
+ break;
1162
+ }
1163
+ return _context20.abrupt("return");
1164
+ case 2:
1035
1165
  if (!(this.primaryMobiusUris.length > 0)) {
1036
- _context18.next = 7;
1166
+ _context20.next = 4;
1037
1167
  break;
1038
1168
  }
1039
- _context18.next = 3;
1169
+ _context20.next = 3;
1040
1170
  return this.attemptRegistrationWithServers(_constants2.REGISTRATION_UTIL, this.primaryMobiusUris);
1041
1171
  case 3:
1042
- abort = _context18.sent;
1172
+ abort = _context20.sent;
1043
1173
  if (!(!this.isDeviceRegistered() && !abort)) {
1044
- _context18.next = 7;
1174
+ _context20.next = 4;
1045
1175
  break;
1046
1176
  }
1047
- _context18.next = 7;
1177
+ _context20.next = 4;
1048
1178
  return this.startFailoverTimer();
1049
- case 7:
1179
+ case 4:
1050
1180
  case "end":
1051
- return _context18.stop();
1181
+ return _context20.stop();
1052
1182
  }
1053
- }, _callee18, this);
1183
+ }, _callee20, this);
1054
1184
  }));
1055
1185
  function triggerRegistration() {
1056
1186
  return _triggerRegistration.apply(this, arguments);
@@ -1069,156 +1199,158 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1069
1199
  }, {
1070
1200
  key: "attemptRegistrationWithServers",
1071
1201
  value: (function () {
1072
- var _attemptRegistrationWithServers = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee19(caller) {
1073
- var _this7 = this;
1202
+ var _attemptRegistrationWithServers = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee21(caller) {
1203
+ var _this8 = this;
1074
1204
  var servers,
1075
1205
  abort,
1076
1206
  _iterator2,
1077
1207
  _step2,
1078
1208
  _loop,
1079
1209
  _ret,
1080
- _args20 = arguments;
1081
- return _regenerator.default.wrap(function _callee19$(_context20) {
1082
- while (1) switch (_context20.prev = _context20.next) {
1210
+ _args22 = arguments,
1211
+ _t12;
1212
+ return _regenerator.default.wrap(function (_context22) {
1213
+ while (1) switch (_context22.prev = _context22.next) {
1083
1214
  case 0:
1084
- servers = _args20.length > 1 && _args20[1] !== undefined ? _args20[1] : this.primaryMobiusUris;
1215
+ servers = _args22.length > 1 && _args22[1] !== undefined ? _args22[1] : this.primaryMobiusUris;
1085
1216
  abort = false;
1086
1217
  this.retryAfter = undefined;
1087
1218
  if (!this.failoverImmediately) {
1088
- _context20.next = 5;
1219
+ _context22.next = 1;
1089
1220
  break;
1090
1221
  }
1091
- return _context20.abrupt("return", abort);
1092
- case 5:
1222
+ return _context22.abrupt("return", abort);
1223
+ case 1:
1093
1224
  if (!this.isDeviceRegistered()) {
1094
- _context20.next = 8;
1225
+ _context22.next = 2;
1095
1226
  break;
1096
1227
  }
1097
1228
  _Logger.default.info("[".concat(caller, "] : Device already registered with : ").concat(this.activeMobiusUrl), {
1098
1229
  file: _constants2.REGISTRATION_FILE,
1099
1230
  method: _constants2.REGISTER_UTIL
1100
1231
  });
1101
- return _context20.abrupt("return", abort);
1102
- case 8:
1232
+ return _context22.abrupt("return", abort);
1233
+ case 2:
1103
1234
  _iterator2 = _createForOfIteratorHelper(servers);
1104
- _context20.prev = 9;
1235
+ _context22.prev = 3;
1105
1236
  _loop = /*#__PURE__*/_regenerator.default.mark(function _loop() {
1106
- var _this7$backupMobiusUr;
1107
- var url, serverType, _this7$deviceInfo$dev, _resp$headers, _resp$headers$trackin, _resp$headers2, _this7$deviceInfo$dev2, resp, body;
1108
- return _regenerator.default.wrap(function _loop$(_context19) {
1109
- while (1) switch (_context19.prev = _context19.next) {
1237
+ var _this8$backupMobiusUr;
1238
+ var url, serverType, _this8$deviceInfo$dev, _resp$headers, _resp$headers$trackin, _resp$headers2, _this8$deviceInfo$dev2, resp, body, _t11;
1239
+ return _regenerator.default.wrap(function (_context21) {
1240
+ while (1) switch (_context21.prev = _context21.next) {
1110
1241
  case 0:
1111
1242
  url = _step2.value;
1112
- serverType = _this7.primaryMobiusUris.includes(url) && 'PRIMARY' || ((_this7$backupMobiusUr = _this7.backupMobiusUris) === null || _this7$backupMobiusUr === void 0 ? void 0 : _this7$backupMobiusUr.includes(url)) && 'BACKUP' || 'UNKNOWN';
1113
- _context19.prev = 2;
1243
+ serverType = _this8.primaryMobiusUris.includes(url) && 'PRIMARY' || ((_this8$backupMobiusUr = _this8.backupMobiusUris) === null || _this8$backupMobiusUr === void 0 ? void 0 : _this8$backupMobiusUr.includes(url)) && 'BACKUP' || 'UNKNOWN';
1244
+ _context21.prev = 1;
1114
1245
  abort = false;
1115
- _this7.registrationStatus = _types2.RegistrationStatus.INACTIVE;
1116
- _this7.lineEmitter(_types3.LINE_EVENTS.CONNECTING);
1246
+ _this8.registrationStatus = _types2.RegistrationStatus.INACTIVE;
1247
+ _this8.lineEmitter(_types3.LINE_EVENTS.CONNECTING);
1117
1248
  _Logger.default.info("[".concat(caller, "] : Mobius url to contact: ").concat(url), {
1118
1249
  file: _constants2.REGISTRATION_FILE,
1119
1250
  method: _constants2.REGISTER_UTIL
1120
1251
  });
1121
1252
  // eslint-disable-next-line no-await-in-loop
1122
- _context19.next = 9;
1123
- return _this7.postRegistration(url);
1124
- case 9:
1125
- resp = _context19.sent;
1126
- _this7.deviceInfo = resp.body;
1127
- _this7.registrationStatus = _types2.RegistrationStatus.ACTIVE;
1128
- _this7.setActiveMobiusUrl(url);
1129
- _this7.lineEmitter(_types3.LINE_EVENTS.REGISTERED, resp.body);
1130
- _Logger.default.log("Registration successful for deviceId: ".concat((_this7$deviceInfo$dev = _this7.deviceInfo.device) === null || _this7$deviceInfo$dev === void 0 ? void 0 : _this7$deviceInfo$dev.deviceId, " userId: ").concat(_this7.userId, " responseTrackingId: ").concat((_resp$headers = resp.headers) === null || _resp$headers === void 0 ? void 0 : _resp$headers.trackingid), {
1253
+ _context21.next = 2;
1254
+ return _this8.postRegistration(url);
1255
+ case 2:
1256
+ resp = _context21.sent;
1257
+ _this8.clearFailoverState();
1258
+ _this8.deviceInfo = resp.body;
1259
+ _this8.registrationStatus = _types2.RegistrationStatus.ACTIVE;
1260
+ _this8.setActiveMobiusUrl(url);
1261
+ _this8.lineEmitter(_types3.LINE_EVENTS.REGISTERED, resp.body);
1262
+ _Logger.default.log("Registration successful for deviceId: ".concat((_this8$deviceInfo$dev = _this8.deviceInfo.device) === null || _this8$deviceInfo$dev === void 0 ? void 0 : _this8$deviceInfo$dev.deviceId, " userId: ").concat(_this8.userId, " responseTrackingId: ").concat((_resp$headers = resp.headers) === null || _resp$headers === void 0 ? void 0 : _resp$headers.trackingid), {
1131
1263
  file: _constants2.REGISTRATION_FILE,
1132
1264
  method: _constants2.METHODS.REGISTER
1133
1265
  });
1134
- _this7.setIntervalValues(_this7.deviceInfo);
1135
- _this7.metricManager.setDeviceInfo(_this7.deviceInfo);
1136
- _this7.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);
1137
- _this7.startKeepaliveTimer((_this7$deviceInfo$dev2 = _this7.deviceInfo.device) === null || _this7$deviceInfo$dev2 === void 0 ? void 0 : _this7$deviceInfo$dev2.uri, _this7.deviceInfo.keepaliveInterval, serverType);
1138
- _this7.initiateFailback();
1139
- return _context19.abrupt("return", 0);
1140
- case 23:
1141
- _context19.prev = 23;
1142
- _context19.t0 = _context19["catch"](2);
1143
- body = _context19.t0; // eslint-disable-next-line no-await-in-loop, @typescript-eslint/no-unused-vars
1144
- _context19.next = 28;
1266
+ _this8.setIntervalValues(_this8.deviceInfo);
1267
+ _this8.metricManager.setDeviceInfo(_this8.deviceInfo);
1268
+ _this8.metricManager.submitRegistrationMetric(_types.METRIC_EVENT.REGISTRATION, _types.REG_ACTION.REGISTER, _types.METRIC_TYPE.BEHAVIORAL, caller, serverType, (_resp$headers$trackin = (_resp$headers2 = resp.headers) === null || _resp$headers2 === void 0 ? void 0 : _resp$headers2.trackingid) !== null && _resp$headers$trackin !== void 0 ? _resp$headers$trackin : '', undefined, undefined);
1269
+ _this8.startKeepaliveTimer((_this8$deviceInfo$dev2 = _this8.deviceInfo.device) === null || _this8$deviceInfo$dev2 === void 0 ? void 0 : _this8$deviceInfo$dev2.uri, _this8.deviceInfo.keepaliveInterval, serverType);
1270
+ _this8.initiateFailback();
1271
+ return _context21.abrupt("return", 0);
1272
+ case 3:
1273
+ _context21.prev = 3;
1274
+ _t11 = _context21["catch"](1);
1275
+ body = _t11; // eslint-disable-next-line no-await-in-loop, @typescript-eslint/no-unused-vars
1276
+ _context21.next = 4;
1145
1277
  return (0, _common.handleRegistrationErrors)(body, function (clientError, finalError) {
1146
1278
  var _body$headers$trackin, _body$headers;
1147
1279
  if (finalError) {
1148
- _this7.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
1280
+ _this8.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
1149
1281
  } else {
1150
- _this7.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
1282
+ _this8.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
1151
1283
  }
1152
- _this7.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);
1284
+ _this8.metricManager.submitRegistrationMetric(_types.METRIC_EVENT.REGISTRATION_ERROR, _types.REG_ACTION.REGISTER, _types.METRIC_TYPE.BEHAVIORAL, caller, serverType, (_body$headers$trackin = (_body$headers = body.headers) === null || _body$headers === void 0 ? void 0 : _body$headers.trackingid) !== null && _body$headers$trackin !== void 0 ? _body$headers$trackin : '', undefined, clientError);
1153
1285
  }, {
1154
1286
  method: caller,
1155
1287
  file: _constants2.REGISTRATION_FILE
1156
1288
  }, function (retryAfter, retryCaller) {
1157
- return _this7.handle429Retry(retryAfter, retryCaller);
1158
- }, _this7.restoreRegistrationCallBack());
1159
- case 28:
1160
- abort = _context19.sent;
1161
- if (!(_this7.registrationStatus === _types2.RegistrationStatus.ACTIVE)) {
1162
- _context19.next = 32;
1289
+ return _this8.handle429Retry(retryAfter, retryCaller);
1290
+ }, _this8.restoreRegistrationCallBack());
1291
+ case 4:
1292
+ abort = _context21.sent;
1293
+ if (!(_this8.registrationStatus === _types2.RegistrationStatus.ACTIVE)) {
1294
+ _context21.next = 5;
1163
1295
  break;
1164
1296
  }
1165
- _Logger.default.info("[".concat(caller, "] : Device is already restored, active mobius url: ").concat(_this7.activeMobiusUrl), {
1297
+ _Logger.default.info("[".concat(caller, "] : Device is already restored, active mobius url: ").concat(_this8.activeMobiusUrl), {
1166
1298
  file: _constants2.REGISTRATION_FILE,
1167
- method: _this7.attemptRegistrationWithServers.name
1299
+ method: _this8.attemptRegistrationWithServers.name
1168
1300
  });
1169
- return _context19.abrupt("return", 0);
1170
- case 32:
1301
+ return _context21.abrupt("return", 0);
1302
+ case 5:
1171
1303
  if (!abort) {
1172
- _context19.next = 37;
1304
+ _context21.next = 7;
1173
1305
  break;
1174
1306
  }
1175
- _this7.setStatus(_types2.RegistrationStatus.INACTIVE);
1307
+ _this8.setStatus(_types2.RegistrationStatus.INACTIVE);
1176
1308
  // eslint-disable-next-line no-await-in-loop
1177
- _context19.next = 36;
1309
+ _context21.next = 6;
1178
1310
  return (0, _common.uploadLogs)();
1179
- case 36:
1180
- return _context19.abrupt("return", 0);
1181
- case 37:
1311
+ case 6:
1312
+ return _context21.abrupt("return", 0);
1313
+ case 7:
1182
1314
  case "end":
1183
- return _context19.stop();
1315
+ return _context21.stop();
1184
1316
  }
1185
- }, _loop, null, [[2, 23]]);
1317
+ }, _loop, null, [[1, 3]]);
1186
1318
  });
1187
1319
  _iterator2.s();
1188
- case 12:
1320
+ case 4:
1189
1321
  if ((_step2 = _iterator2.n()).done) {
1190
- _context20.next = 19;
1322
+ _context22.next = 7;
1191
1323
  break;
1192
1324
  }
1193
- return _context20.delegateYield(_loop(), "t0", 14);
1194
- case 14:
1195
- _ret = _context20.t0;
1325
+ return _context22.delegateYield(_loop(), "t0", 5);
1326
+ case 5:
1327
+ _ret = _context22.t0;
1196
1328
  if (!(_ret === 0)) {
1197
- _context20.next = 17;
1329
+ _context22.next = 6;
1198
1330
  break;
1199
1331
  }
1200
- return _context20.abrupt("break", 19);
1201
- case 17:
1202
- _context20.next = 12;
1332
+ return _context22.abrupt("continue", 7);
1333
+ case 6:
1334
+ _context22.next = 4;
1203
1335
  break;
1204
- case 19:
1205
- _context20.next = 24;
1336
+ case 7:
1337
+ _context22.next = 9;
1206
1338
  break;
1207
- case 21:
1208
- _context20.prev = 21;
1209
- _context20.t1 = _context20["catch"](9);
1210
- _iterator2.e(_context20.t1);
1211
- case 24:
1212
- _context20.prev = 24;
1339
+ case 8:
1340
+ _context22.prev = 8;
1341
+ _t12 = _context22["catch"](3);
1342
+ _iterator2.e(_t12);
1343
+ case 9:
1344
+ _context22.prev = 9;
1213
1345
  _iterator2.f();
1214
- return _context20.finish(24);
1215
- case 27:
1216
- return _context20.abrupt("return", abort);
1217
- case 28:
1346
+ return _context22.finish(9);
1347
+ case 10:
1348
+ return _context22.abrupt("return", abort);
1349
+ case 11:
1218
1350
  case "end":
1219
- return _context20.stop();
1351
+ return _context22.stop();
1220
1352
  }
1221
- }, _callee19, this, [[9, 21, 24, 27]]);
1353
+ }, _callee21, this, [[3, 8, 9, 10]]);
1222
1354
  }));
1223
1355
  function attemptRegistrationWithServers(_x11) {
1224
1356
  return _attemptRegistrationWithServers.apply(this, arguments);
@@ -1233,48 +1365,48 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1233
1365
  }, {
1234
1366
  key: "startKeepaliveTimer",
1235
1367
  value: (function () {
1236
- var _startKeepaliveTimer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee22(url, interval, serverType) {
1237
- var _this8 = this;
1368
+ var _startKeepaliveTimer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee24(url, interval, serverType) {
1369
+ var _this9 = this;
1238
1370
  var RETRY_COUNT_THRESHOLD;
1239
- return _regenerator.default.wrap(function _callee22$(_context23) {
1240
- while (1) switch (_context23.prev = _context23.next) {
1371
+ return _regenerator.default.wrap(function (_context25) {
1372
+ while (1) switch (_context25.prev = _context25.next) {
1241
1373
  case 0:
1242
1374
  this.clearKeepaliveTimer();
1243
1375
  RETRY_COUNT_THRESHOLD = this.isCCFlow ? 4 : 5;
1244
- _context23.next = 4;
1245
- return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee21() {
1376
+ _context25.next = 1;
1377
+ return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee23() {
1246
1378
  var accessToken, blob, blobUrl;
1247
- return _regenerator.default.wrap(function _callee21$(_context22) {
1248
- while (1) switch (_context22.prev = _context22.next) {
1379
+ return _regenerator.default.wrap(function (_context24) {
1380
+ while (1) switch (_context24.prev = _context24.next) {
1249
1381
  case 0:
1250
- if (!_this8.isDeviceRegistered()) {
1251
- _context22.next = 5;
1382
+ if (!_this9.isDeviceRegistered()) {
1383
+ _context24.next = 2;
1252
1384
  break;
1253
1385
  }
1254
- _context22.next = 3;
1255
- return _this8.webex.credentials.getUserToken();
1256
- case 3:
1257
- accessToken = _context22.sent;
1258
- if (!_this8.webWorker) {
1386
+ _context24.next = 1;
1387
+ return _this9.webex.credentials.getUserToken();
1388
+ case 1:
1389
+ accessToken = _context24.sent;
1390
+ if (!_this9.webWorker) {
1259
1391
  blob = new Blob([_webWorkerStr.default], {
1260
1392
  type: 'application/javascript'
1261
1393
  });
1262
1394
  blobUrl = URL.createObjectURL(blob);
1263
- _this8.webWorker = new Worker(blobUrl);
1395
+ _this9.webWorker = new Worker(blobUrl);
1264
1396
  URL.revokeObjectURL(blobUrl);
1265
- _this8.webWorker.postMessage({
1397
+ _this9.webWorker.postMessage({
1266
1398
  type: _types2.WorkerMessageType.START_KEEPALIVE,
1267
1399
  accessToken: String(accessToken),
1268
- deviceUrl: String(_this8.webex.internal.device.url),
1400
+ deviceUrl: String(_this9.webex.internal.device.url),
1269
1401
  interval: interval,
1270
1402
  retryCountThreshold: RETRY_COUNT_THRESHOLD,
1271
1403
  url: url
1272
1404
  });
1273
- _this8.webWorker.onmessage = /*#__PURE__*/function () {
1274
- var _ref10 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee20(event) {
1405
+ _this9.webWorker.onmessage = /*#__PURE__*/function () {
1406
+ var _ref11 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee22(event) {
1275
1407
  var logContext, error, abort;
1276
- return _regenerator.default.wrap(function _callee20$(_context21) {
1277
- while (1) switch (_context21.prev = _context21.next) {
1408
+ return _regenerator.default.wrap(function (_context23) {
1409
+ while (1) switch (_context23.prev = _context23.next) {
1278
1410
  case 0:
1279
1411
  logContext = {
1280
1412
  file: _constants2.REGISTRATION_FILE,
@@ -1282,81 +1414,81 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1282
1414
  };
1283
1415
  if (event.data.type === _types2.WorkerMessageType.KEEPALIVE_SUCCESS) {
1284
1416
  _Logger.default.info("Sent Keepalive, status: ".concat(event.data.statusCode), logContext);
1285
- _this8.lineEmitter(_types3.LINE_EVENTS.RECONNECTED);
1417
+ _this9.lineEmitter(_types3.LINE_EVENTS.RECONNECTED);
1286
1418
  }
1287
1419
  if (!(event.data.type === _types2.WorkerMessageType.KEEPALIVE_FAILURE)) {
1288
- _context21.next = 25;
1420
+ _context23.next = 7;
1289
1421
  break;
1290
1422
  }
1291
1423
  error = event.data.err;
1292
1424
  _Logger.default.warn("Keep-alive missed ".concat(event.data.keepAliveRetryCount, " times. Status -> ").concat(error.statusCode, " "), logContext);
1293
- _context21.next = 7;
1425
+ _context23.next = 1;
1294
1426
  return (0, _common.handleRegistrationErrors)(error, function (clientError, finalError) {
1295
1427
  var _error$headers$tracki, _error$headers;
1296
1428
  if (finalError) {
1297
- _this8.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
1429
+ _this9.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
1298
1430
  }
1299
- _this8.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);
1431
+ _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);
1300
1432
  }, {
1301
1433
  method: _constants2.KEEPALIVE_UTIL,
1302
1434
  file: _constants2.REGISTRATION_FILE
1303
1435
  }, function (retryAfter, retryCaller) {
1304
- return _this8.handle429Retry(retryAfter, retryCaller);
1436
+ return _this9.handle429Retry(retryAfter, retryCaller);
1305
1437
  });
1306
- case 7:
1307
- abort = _context21.sent;
1438
+ case 1:
1439
+ abort = _context23.sent;
1308
1440
  if (!(abort || event.data.keepAliveRetryCount >= RETRY_COUNT_THRESHOLD)) {
1309
- _context21.next = 24;
1441
+ _context23.next = 6;
1310
1442
  break;
1311
1443
  }
1312
- _this8.failoverImmediately = _this8.isCCFlow;
1313
- _this8.setStatus(_types2.RegistrationStatus.INACTIVE);
1314
- _this8.clearKeepaliveTimer();
1315
- _this8.clearFailbackTimer();
1316
- _this8.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
1317
- _context21.next = 16;
1444
+ _this9.failoverImmediately = _this9.isCCFlow;
1445
+ _this9.setStatus(_types2.RegistrationStatus.INACTIVE);
1446
+ _this9.clearKeepaliveTimer();
1447
+ _this9.clearFailbackTimer();
1448
+ _this9.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
1449
+ _context23.next = 2;
1318
1450
  return (0, _common.uploadLogs)();
1319
- case 16:
1451
+ case 2:
1320
1452
  if (abort) {
1321
- _context21.next = 21;
1453
+ _context23.next = 4;
1322
1454
  break;
1323
1455
  }
1324
- _context21.next = 19;
1325
- return _this8.reconnectOnFailure(_constants2.KEEPALIVE_UTIL);
1326
- case 19:
1327
- _context21.next = 22;
1456
+ _context23.next = 3;
1457
+ return _this9.reconnectOnFailure(_constants2.RECONNECT_ON_FAILURE_UTIL);
1458
+ case 3:
1459
+ _context23.next = 5;
1328
1460
  break;
1329
- case 21:
1461
+ case 4:
1330
1462
  if (error.statusCode === 404) {
1331
- _this8.handle404KeepaliveFailure(_constants2.KEEPALIVE_UTIL);
1463
+ _this9.handle404KeepaliveFailure(_constants2.KEEPALIVE_UTIL);
1332
1464
  }
1333
- case 22:
1334
- _context21.next = 25;
1465
+ case 5:
1466
+ _context23.next = 7;
1335
1467
  break;
1336
- case 24:
1337
- _this8.lineEmitter(_types3.LINE_EVENTS.RECONNECTING);
1338
- case 25:
1468
+ case 6:
1469
+ _this9.lineEmitter(_types3.LINE_EVENTS.RECONNECTING);
1470
+ case 7:
1339
1471
  case "end":
1340
- return _context21.stop();
1472
+ return _context23.stop();
1341
1473
  }
1342
- }, _callee20);
1474
+ }, _callee22);
1343
1475
  }));
1344
1476
  return function (_x15) {
1345
- return _ref10.apply(this, arguments);
1477
+ return _ref11.apply(this, arguments);
1346
1478
  };
1347
1479
  }();
1348
1480
  }
1349
- case 5:
1481
+ case 2:
1350
1482
  case "end":
1351
- return _context22.stop();
1483
+ return _context24.stop();
1352
1484
  }
1353
- }, _callee21);
1485
+ }, _callee23);
1354
1486
  })));
1355
- case 4:
1487
+ case 1:
1356
1488
  case "end":
1357
- return _context23.stop();
1489
+ return _context25.stop();
1358
1490
  }
1359
- }, _callee22, this);
1491
+ }, _callee24, this);
1360
1492
  }));
1361
1493
  function startKeepaliveTimer(_x12, _x13, _x14) {
1362
1494
  return _startKeepaliveTimer.apply(this, arguments);
@@ -1386,36 +1518,37 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1386
1518
  }, {
1387
1519
  key: "deregister",
1388
1520
  value: function () {
1389
- var _deregister = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee23() {
1390
- var _this$deviceInfo$devi2, _this$deviceInfo$devi3;
1391
- return _regenerator.default.wrap(function _callee23$(_context24) {
1392
- while (1) switch (_context24.prev = _context24.next) {
1521
+ var _deregister = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee25() {
1522
+ var _this$deviceInfo$devi, _this$deviceInfo$devi2, _t13;
1523
+ return _regenerator.default.wrap(function (_context26) {
1524
+ while (1) switch (_context26.prev = _context26.next) {
1393
1525
  case 0:
1394
- _context24.prev = 0;
1395
- _context24.next = 3;
1396
- 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);
1397
- case 3:
1526
+ _context26.prev = 0;
1527
+ _context26.next = 1;
1528
+ return this.deleteRegistration(this.activeMobiusUrl, (_this$deviceInfo$devi = this.deviceInfo.device) === null || _this$deviceInfo$devi === void 0 ? void 0 : _this$deviceInfo$devi.deviceId, (_this$deviceInfo$devi2 = this.deviceInfo.device) === null || _this$deviceInfo$devi2 === void 0 ? void 0 : _this$deviceInfo$devi2.clientDeviceUri);
1529
+ case 1:
1398
1530
  _Logger.default.log('Registration successfully deregistered', {
1399
1531
  file: _constants2.REGISTRATION_FILE,
1400
1532
  method: _constants2.METHODS.DEREGISTER
1401
1533
  });
1402
- _context24.next = 9;
1534
+ _context26.next = 3;
1403
1535
  break;
1404
- case 6:
1405
- _context24.prev = 6;
1406
- _context24.t0 = _context24["catch"](0);
1407
- _Logger.default.warn("Delete failed with Mobius: ".concat(_context24.t0), {
1536
+ case 2:
1537
+ _context26.prev = 2;
1538
+ _t13 = _context26["catch"](0);
1539
+ _Logger.default.warn("Delete failed with Mobius: ".concat((0, _stringify.default)(_t13)), {
1408
1540
  file: _constants2.REGISTRATION_FILE,
1409
1541
  method: _constants2.METHODS.DEREGISTER
1410
1542
  });
1411
- case 9:
1543
+ case 3:
1412
1544
  this.clearKeepaliveTimer();
1413
1545
  this.setStatus(_types2.RegistrationStatus.INACTIVE);
1414
- case 11:
1546
+ this.clearFailoverState();
1547
+ case 4:
1415
1548
  case "end":
1416
- return _context24.stop();
1549
+ return _context26.stop();
1417
1550
  }
1418
- }, _callee23, this, [[0, 6]]);
1551
+ }, _callee25, this, [[0, 2]]);
1419
1552
  }));
1420
1553
  function deregister() {
1421
1554
  return _deregister.apply(this, arguments);
@@ -1479,10 +1612,10 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1479
1612
  }, {
1480
1613
  key: "reconnectOnFailure",
1481
1614
  value: (function () {
1482
- var _reconnectOnFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee24(caller) {
1615
+ var _reconnectOnFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee26(caller) {
1483
1616
  var abort;
1484
- return _regenerator.default.wrap(function _callee24$(_context25) {
1485
- while (1) switch (_context25.prev = _context25.next) {
1617
+ return _regenerator.default.wrap(function (_context27) {
1618
+ while (1) switch (_context27.prev = _context27.next) {
1486
1619
  case 0:
1487
1620
  _Logger.default.info(_constants.METHOD_START_MESSAGE, {
1488
1621
  method: _constants2.METHODS.RECONNECT_ON_FAILURE,
@@ -1490,37 +1623,37 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1490
1623
  });
1491
1624
  this.reconnectPending = false;
1492
1625
  if (this.isDeviceRegistered()) {
1493
- _context25.next = 14;
1626
+ _context27.next = 4;
1494
1627
  break;
1495
1628
  }
1496
1629
  if (!((0, _keys.default)(this.callManager.getActiveCalls()).length === 0)) {
1497
- _context25.next = 12;
1630
+ _context27.next = 3;
1498
1631
  break;
1499
1632
  }
1500
- _context25.next = 6;
1633
+ _context27.next = 1;
1501
1634
  return this.restorePreviousRegistration(caller);
1502
- case 6:
1503
- abort = _context25.sent;
1635
+ case 1:
1636
+ abort = _context27.sent;
1504
1637
  if (!(!abort && !this.isDeviceRegistered())) {
1505
- _context25.next = 10;
1638
+ _context27.next = 2;
1506
1639
  break;
1507
1640
  }
1508
- _context25.next = 10;
1641
+ _context27.next = 2;
1509
1642
  return this.restartRegistration(caller);
1510
- case 10:
1511
- _context25.next = 14;
1643
+ case 2:
1644
+ _context27.next = 4;
1512
1645
  break;
1513
- case 12:
1646
+ case 3:
1514
1647
  this.reconnectPending = true;
1515
1648
  _Logger.default.info('Active call(s) present, deferred reconnect till call cleanup.', {
1516
1649
  file: _constants2.REGISTRATION_FILE,
1517
1650
  method: _constants2.METHODS.RECONNECT_ON_FAILURE
1518
1651
  });
1519
- case 14:
1652
+ case 4:
1520
1653
  case "end":
1521
- return _context25.stop();
1654
+ return _context27.stop();
1522
1655
  }
1523
- }, _callee24, this);
1656
+ }, _callee26, this);
1524
1657
  }));
1525
1658
  function reconnectOnFailure(_x16) {
1526
1659
  return _reconnectOnFailure.apply(this, arguments);
@@ -1528,7 +1661,6 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1528
1661
  return reconnectOnFailure;
1529
1662
  }())
1530
1663
  }]);
1531
- return Registration;
1532
1664
  }();
1533
1665
  /*
1534
1666
  */