@webex/calling 3.8.0 → 3.8.1-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 (166) hide show
  1. package/dist/CallHistory/CallHistory.js +100 -63
  2. package/dist/CallHistory/CallHistory.js.map +1 -1
  3. package/dist/CallHistory/CallHistory.test.js +115 -19
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -1
  5. package/dist/CallHistory/constants.js +9 -1
  6. package/dist/CallHistory/constants.js.map +1 -1
  7. package/dist/CallSettings/CallSettings.js +46 -13
  8. package/dist/CallSettings/CallSettings.js.map +1 -1
  9. package/dist/CallSettings/UcmBackendConnector.js +62 -18
  10. package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
  11. package/dist/CallSettings/UcmBackendConnector.test.js +70 -7
  12. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
  13. package/dist/CallSettings/WxCallBackendConnector.js +153 -103
  14. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
  15. package/dist/CallSettings/WxCallBackendConnector.test.js +52 -15
  16. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
  17. package/dist/CallSettings/constants.js +15 -1
  18. package/dist/CallSettings/constants.js.map +1 -1
  19. package/dist/CallingClient/CallingClient.js +220 -159
  20. package/dist/CallingClient/CallingClient.js.map +1 -1
  21. package/dist/CallingClient/CallingClient.test.js +53 -24
  22. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  23. package/dist/CallingClient/calling/call.js +251 -189
  24. package/dist/CallingClient/calling/call.js.map +1 -1
  25. package/dist/CallingClient/calling/call.test.js +96 -41
  26. package/dist/CallingClient/calling/call.test.js.map +1 -1
  27. package/dist/CallingClient/calling/callManager.js +73 -48
  28. package/dist/CallingClient/calling/callManager.js.map +1 -1
  29. package/dist/CallingClient/calling/callManager.test.js +96 -37
  30. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  31. package/dist/CallingClient/constants.js +105 -3
  32. package/dist/CallingClient/constants.js.map +1 -1
  33. package/dist/CallingClient/line/index.js +47 -18
  34. package/dist/CallingClient/line/index.js.map +1 -1
  35. package/dist/CallingClient/line/line.test.js +2 -2
  36. package/dist/CallingClient/line/line.test.js.map +1 -1
  37. package/dist/CallingClient/registration/register.js +359 -297
  38. package/dist/CallingClient/registration/register.js.map +1 -1
  39. package/dist/CallingClient/registration/register.test.js +561 -163
  40. package/dist/CallingClient/registration/register.test.js.map +1 -1
  41. package/dist/CallingClient/registration/types.js.map +1 -1
  42. package/dist/Contacts/ContactsClient.js +156 -102
  43. package/dist/Contacts/ContactsClient.js.map +1 -1
  44. package/dist/Contacts/ContactsClient.test.js +197 -49
  45. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  46. package/dist/Contacts/constants.js +11 -1
  47. package/dist/Contacts/constants.js.map +1 -1
  48. package/dist/Errors/types.js +2 -0
  49. package/dist/Errors/types.js.map +1 -1
  50. package/dist/Events/impl/index.js +1 -1
  51. package/dist/Events/impl/index.js.map +1 -1
  52. package/dist/Metrics/index.js +102 -41
  53. package/dist/Metrics/index.js.map +1 -1
  54. package/dist/Metrics/index.test.js +10 -4
  55. package/dist/Metrics/index.test.js.map +1 -1
  56. package/dist/Metrics/types.js +4 -1
  57. package/dist/Metrics/types.js.map +1 -1
  58. package/dist/SDKConnector/types.js.map +1 -1
  59. package/dist/Voicemail/BroadworksBackendConnector.js +154 -91
  60. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
  61. package/dist/Voicemail/BroadworksBackendConnector.test.js +99 -19
  62. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
  63. package/dist/Voicemail/UcmBackendConnector.js +105 -54
  64. package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
  65. package/dist/Voicemail/UcmBackendConnector.test.js +127 -17
  66. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
  67. package/dist/Voicemail/Voicemail.js +198 -79
  68. package/dist/Voicemail/Voicemail.js.map +1 -1
  69. package/dist/Voicemail/Voicemail.test.js +188 -23
  70. package/dist/Voicemail/Voicemail.test.js.map +1 -1
  71. package/dist/Voicemail/WxCallBackendConnector.js +277 -161
  72. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
  73. package/dist/Voicemail/WxCallBackendConnector.test.js +268 -10
  74. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
  75. package/dist/Voicemail/constants.js +25 -1
  76. package/dist/Voicemail/constants.js.map +1 -1
  77. package/dist/Voicemail/types.js.map +1 -1
  78. package/dist/common/Utils.js +168 -104
  79. package/dist/common/Utils.js.map +1 -1
  80. package/dist/common/Utils.test.js +199 -35
  81. package/dist/common/Utils.test.js.map +1 -1
  82. package/dist/common/constants.js +2 -1
  83. package/dist/common/constants.js.map +1 -1
  84. package/dist/common/testUtil.js +3 -0
  85. package/dist/common/testUtil.js.map +1 -1
  86. package/dist/common/types.js.map +1 -1
  87. package/dist/index.js +12 -0
  88. package/dist/index.js.map +1 -1
  89. package/dist/module/CallHistory/CallHistory.js +32 -13
  90. package/dist/module/CallHistory/constants.js +6 -0
  91. package/dist/module/CallSettings/CallSettings.js +36 -3
  92. package/dist/module/CallSettings/UcmBackendConnector.js +50 -5
  93. package/dist/module/CallSettings/WxCallBackendConnector.js +54 -18
  94. package/dist/module/CallSettings/constants.js +12 -0
  95. package/dist/module/CallingClient/CallingClient.js +54 -16
  96. package/dist/module/CallingClient/calling/call.js +172 -121
  97. package/dist/module/CallingClient/calling/callManager.js +51 -26
  98. package/dist/module/CallingClient/constants.js +102 -2
  99. package/dist/module/CallingClient/line/index.js +37 -8
  100. package/dist/module/CallingClient/registration/register.js +103 -64
  101. package/dist/module/Contacts/ContactsClient.js +65 -21
  102. package/dist/module/Contacts/constants.js +10 -0
  103. package/dist/module/Errors/types.js +2 -0
  104. package/dist/module/Events/impl/index.js +1 -1
  105. package/dist/module/Metrics/index.js +57 -2
  106. package/dist/module/Metrics/types.js +3 -0
  107. package/dist/module/Voicemail/BroadworksBackendConnector.js +66 -17
  108. package/dist/module/Voicemail/UcmBackendConnector.js +51 -11
  109. package/dist/module/Voicemail/Voicemail.js +109 -9
  110. package/dist/module/Voicemail/WxCallBackendConnector.js +67 -18
  111. package/dist/module/Voicemail/constants.js +21 -0
  112. package/dist/module/common/Utils.js +51 -12
  113. package/dist/module/common/constants.js +1 -0
  114. package/dist/module/common/testUtil.js +3 -0
  115. package/dist/module/index.js +1 -0
  116. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  117. package/dist/types/CallHistory/constants.d.ts +6 -0
  118. package/dist/types/CallHistory/constants.d.ts.map +1 -1
  119. package/dist/types/CallSettings/CallSettings.d.ts.map +1 -1
  120. package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
  121. package/dist/types/CallSettings/WxCallBackendConnector.d.ts.map +1 -1
  122. package/dist/types/CallSettings/constants.d.ts +12 -0
  123. package/dist/types/CallSettings/constants.d.ts.map +1 -1
  124. package/dist/types/CallingClient/CallingClient.d.ts +2 -3
  125. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  126. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  127. package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
  128. package/dist/types/CallingClient/constants.d.ts +102 -2
  129. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  130. package/dist/types/CallingClient/line/index.d.ts.map +1 -1
  131. package/dist/types/CallingClient/registration/register.d.ts +3 -1
  132. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  133. package/dist/types/CallingClient/registration/types.d.ts +1 -0
  134. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  135. package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
  136. package/dist/types/Contacts/constants.d.ts +10 -0
  137. package/dist/types/Contacts/constants.d.ts.map +1 -1
  138. package/dist/types/Errors/types.d.ts +2 -0
  139. package/dist/types/Errors/types.d.ts.map +1 -1
  140. package/dist/types/Metrics/index.d.ts +1 -1
  141. package/dist/types/Metrics/index.d.ts.map +1 -1
  142. package/dist/types/Metrics/types.d.ts +7 -2
  143. package/dist/types/Metrics/types.d.ts.map +1 -1
  144. package/dist/types/SDKConnector/types.d.ts +11 -2
  145. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  146. package/dist/types/Voicemail/BroadworksBackendConnector.d.ts.map +1 -1
  147. package/dist/types/Voicemail/UcmBackendConnector.d.ts.map +1 -1
  148. package/dist/types/Voicemail/Voicemail.d.ts +1 -1
  149. package/dist/types/Voicemail/Voicemail.d.ts.map +1 -1
  150. package/dist/types/Voicemail/WxCallBackendConnector.d.ts +3 -1
  151. package/dist/types/Voicemail/WxCallBackendConnector.d.ts.map +1 -1
  152. package/dist/types/Voicemail/constants.d.ts +21 -0
  153. package/dist/types/Voicemail/constants.d.ts.map +1 -1
  154. package/dist/types/Voicemail/types.d.ts +1 -1
  155. package/dist/types/Voicemail/types.d.ts.map +1 -1
  156. package/dist/types/common/Utils.d.ts +4 -4
  157. package/dist/types/common/Utils.d.ts.map +1 -1
  158. package/dist/types/common/constants.d.ts +1 -0
  159. package/dist/types/common/constants.d.ts.map +1 -1
  160. package/dist/types/common/testUtil.d.ts +3 -0
  161. package/dist/types/common/testUtil.d.ts.map +1 -1
  162. package/dist/types/common/types.d.ts +12 -0
  163. package/dist/types/common/types.d.ts.map +1 -1
  164. package/dist/types/index.d.ts +2 -0
  165. package/dist/types/index.d.ts.map +1 -1
  166. package/package.json +4 -3
@@ -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 _types = require("../../Errors/types");
26
+ var _constants = require("../../common/constants");
27
27
  var _common = require("../../common");
28
- var _types2 = require("../../Metrics/types");
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 _types3 = require("../../common/types");
34
- var _constants = require("../constants");
35
- var _types4 = require("../line/types");
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; }
@@ -69,20 +69,22 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
69
69
  (0, _defineProperty2.default)(this, "jwe", void 0);
70
70
  (0, _defineProperty2.default)(this, "isCCFlow", false);
71
71
  (0, _defineProperty2.default)(this, "failoverImmediately", false);
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 === _types3.ServiceIndicator.CONTACT_CENTER;
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 = _types3.RegistrationStatus.IDLE;
83
+ this.registrationStatus = _types2.RegistrationStatus.IDLE;
82
84
  this.failback429RetryAttempts = 0;
83
- _Logger.default.setLogger(logLevel, _constants.REGISTRATION_FILE);
84
- this.rehomingIntervalMin = _constants.DEFAULT_REHOMING_INTERVAL_MIN;
85
- this.rehomingIntervalMax = _constants.DEFAULT_REHOMING_INTERVAL_MAX;
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("ActiveMobiusUrl: ".concat(url), {
102
- method: 'setActiveMobiusUrl',
103
- file: _constants.REGISTRATION_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,6 +110,10 @@ 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
  }
@@ -125,9 +131,9 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
125
131
  case 0:
126
132
  return _context.abrupt("return", this.webex.request({
127
133
  uri: "".concat(url, "/status"),
128
- method: _types3.HTTP_METHODS.POST,
129
- headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants.CISCO_DEVICE_URL, this.webex.internal.device.url), _constants.SPARK_USER_AGENT, _constants.CALLING_USER_AGENT),
130
- service: _types3.ALLOWED_SERVICES.MOBIUS
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
131
137
  }));
132
138
  case 1:
133
139
  case "end":
@@ -156,21 +162,21 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
156
162
  case 0:
157
163
  _context2.prev = 0;
158
164
  _context2.t0 = fetch;
159
- _context2.t1 = "".concat(url).concat(_constants.DEVICES_ENDPOINT_RESOURCE, "/").concat(deviceId);
160
- _context2.t2 = _types3.HTTP_METHODS.DELETE;
165
+ _context2.t1 = "".concat(url).concat(_constants2.DEVICES_ENDPOINT_RESOURCE, "/").concat(deviceId);
166
+ _context2.t2 = _types2.HTTP_METHODS.DELETE;
161
167
  _context2.t3 = _defineProperty2.default;
162
168
  _context2.t4 = _defineProperty2.default;
163
169
  _context2.t5 = _defineProperty2.default;
164
- _context2.t6 = (0, _defineProperty2.default)({}, _constants.CISCO_DEVICE_URL, deviceUrl);
170
+ _context2.t6 = (0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, deviceUrl);
165
171
  _context2.next = 10;
166
172
  return this.webex.credentials.getUserToken();
167
173
  case 10:
168
174
  _context2.t7 = _context2.sent;
169
175
  _context2.t8 = (0, _context2.t5)(_context2.t6, "Authorization", _context2.t7);
170
- _context2.t9 = "".concat(_constants.WEBEX_WEB_CLIENT, "_").concat((0, _uuid.v4)());
176
+ _context2.t9 = "".concat(_constants2.WEBEX_WEB_CLIENT, "_").concat((0, _uuid.v4)());
171
177
  _context2.t10 = (0, _context2.t4)(_context2.t8, "trackingId", _context2.t9);
172
- _context2.t11 = _constants.SPARK_USER_AGENT;
173
- _context2.t12 = _constants.CALLING_USER_AGENT;
178
+ _context2.t11 = _constants2.SPARK_USER_AGENT;
179
+ _context2.t12 = _constants2.CALLING_USER_AGENT;
174
180
  _context2.t13 = (0, _context2.t3)(_context2.t10, _context2.t11, _context2.t12);
175
181
  _context2.t14 = {
176
182
  method: _context2.t2,
@@ -185,10 +191,13 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
185
191
  case 23:
186
192
  _context2.prev = 23;
187
193
  _context2.t15 = _context2["catch"](0);
188
- _Logger.default.warn("Delete failed with Mobius", {});
194
+ _Logger.default.warn("Delete failed with Mobius ".concat(_context2.t15), {
195
+ file: _constants2.REGISTRATION_FILE,
196
+ method: _constants2.METHODS.DEREGISTER
197
+ });
189
198
  case 26:
190
- this.setStatus(_types3.RegistrationStatus.INACTIVE);
191
- this.lineEmitter(_types4.LINE_EVENTS.UNREGISTERED);
199
+ this.setStatus(_types2.RegistrationStatus.INACTIVE);
200
+ this.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
192
201
  return _context2.abrupt("return", (_response = response) === null || _response === void 0 ? void 0 : _response.json());
193
202
  case 29:
194
203
  case "end":
@@ -223,10 +232,10 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
223
232
  };
224
233
  return _context3.abrupt("return", this.webex.request({
225
234
  uri: "".concat(url, "device"),
226
- method: _types3.HTTP_METHODS.POST,
227
- headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants.CISCO_DEVICE_URL, deviceInfo.clientDeviceUri), _constants.SPARK_USER_AGENT, _constants.CALLING_USER_AGENT),
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),
228
237
  body: deviceInfo,
229
- service: _types3.ALLOWED_SERVICES.MOBIUS
238
+ service: _types2.ALLOWED_SERVICES.MOBIUS
230
239
  }));
231
240
  case 2:
232
241
  case "end":
@@ -275,54 +284,61 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
275
284
  return restorePreviousRegistration;
276
285
  }()
277
286
  /**
278
- * When a failback request is rejected with 429, it means the
279
- * request did not even land on primary mobius to know if it
280
- * can handle this device registration now, in such cases this
281
- * method is called to retry sooner than the rehoming timer value.
287
+ *
282
288
  */
283
289
  )
284
290
  }, {
285
- key: "scheduleFailback429Retry",
291
+ key: "handle429Retry",
286
292
  value: (function () {
287
- var _scheduleFailback429Retry = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
293
+ var _handle429Retry = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(retryAfter, caller) {
288
294
  var interval, abort;
289
295
  return _regenerator.default.wrap(function _callee5$(_context5) {
290
296
  while (1) switch (_context5.prev = _context5.next) {
291
297
  case 0:
292
- if (!(this.failback429RetryAttempts >= _constants.REG_FAILBACK_429_MAX_RETRIES)) {
293
- _context5.next = 2;
298
+ if (!(caller === _constants2.FAILBACK_UTIL)) {
299
+ _context5.next = 17;
300
+ break;
301
+ }
302
+ if (!(this.failback429RetryAttempts >= _constants2.REG_FAILBACK_429_MAX_RETRIES)) {
303
+ _context5.next = 3;
294
304
  break;
295
305
  }
296
306
  return _context5.abrupt("return");
297
- case 2:
307
+ case 3:
298
308
  this.clearFailbackTimer();
299
309
  this.failback429RetryAttempts += 1;
300
310
  _Logger.default.log("Received 429 while rehoming, 429 retry count : ".concat(this.failback429RetryAttempts), {
301
- file: _constants.REGISTRATION_FILE,
302
- method: _constants.FAILBACK_429_RETRY_UTIL
311
+ file: _constants2.REGISTRATION_FILE,
312
+ method: _constants2.REG_429_RETRY_UTIL
303
313
  });
304
314
  interval = this.getRegRetryInterval(this.failback429RetryAttempts);
305
315
  this.startFailbackTimer(interval);
306
- _context5.next = 9;
307
- return this.restorePreviousRegistration(_constants.FAILBACK_429_RETRY_UTIL);
308
- case 9:
316
+ this.scheduled429Retry = true;
317
+ _context5.next = 11;
318
+ return this.restorePreviousRegistration(_constants2.REG_429_RETRY_UTIL);
319
+ case 11:
309
320
  abort = _context5.sent;
310
321
  if (!(!abort && !this.isDeviceRegistered())) {
311
- _context5.next = 13;
322
+ _context5.next = 15;
312
323
  break;
313
324
  }
314
- _context5.next = 13;
315
- return this.restartRegistration(_constants.FAILBACK_429_RETRY_UTIL);
316
- case 13:
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:
317
333
  case "end":
318
334
  return _context5.stop();
319
335
  }
320
336
  }, _callee5, this);
321
337
  }));
322
- function scheduleFailback429Retry() {
323
- return _scheduleFailback429Retry.apply(this, arguments);
338
+ function handle429Retry(_x7, _x8) {
339
+ return _handle429Retry.apply(this, arguments);
324
340
  }
325
- return scheduleFailback429Retry;
341
+ return handle429Retry;
326
342
  }()
327
343
  /**
328
344
  * Calculates and returns a random interval value using input argument
@@ -335,7 +351,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
335
351
  key: "getRegRetryInterval",
336
352
  value: function getRegRetryInterval() {
337
353
  var attempt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
338
- return _constants.BASE_REG_RETRY_TIMER_VAL_IN_SEC + Math.pow(_constants.BASE_REG_TIMER_MFACTOR, attempt) + Math.floor((Math.random() * (_constants.REG_RANDOM_T_FACTOR_UPPER_LIMIT - _constants.SEC_TO_MSEC_MFACTOR + 1) + _constants.SEC_TO_MSEC_MFACTOR) / _constants.SEC_TO_MSEC_MFACTOR);
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);
339
355
  }
340
356
 
341
357
  /**
@@ -365,20 +381,26 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
365
381
  attempt = _args10.length > 0 && _args10[0] !== undefined ? _args10[0] : 1;
366
382
  timeElapsed = _args10.length > 1 && _args10[1] !== undefined ? _args10[1] : 0;
367
383
  loggerContext = {
368
- file: _constants.REGISTRATION_FILE,
369
- method: this.startFailoverTimer.name
384
+ file: _constants2.REGISTRATION_FILE,
385
+ method: _constants2.FAILOVER_UTIL
370
386
  };
371
387
  interval = this.getRegRetryInterval(attempt);
372
- TIMER_THRESHOLD = this.isCCFlow ? _constants.REG_TRY_BACKUP_TIMER_VAL_FOR_CC_IN_SEC : _constants.REG_TRY_BACKUP_TIMER_VAL_IN_SEC;
388
+ TIMER_THRESHOLD = this.isCCFlow ? _constants2.REG_TRY_BACKUP_TIMER_VAL_FOR_CC_IN_SEC : _constants2.REG_TRY_BACKUP_TIMER_VAL_IN_SEC;
373
389
  if (timeElapsed + interval > TIMER_THRESHOLD) {
374
390
  excessVal = timeElapsed + interval - TIMER_THRESHOLD;
375
391
  interval -= excessVal;
376
392
  }
377
- if (!(interval > _constants.BASE_REG_RETRY_TIMER_VAL_IN_SEC && !this.failoverImmediately)) {
378
- _context10.next = 12;
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;
379
398
  break;
380
399
  }
381
400
  scheduledTime = Math.floor((0, _now.default)() / 1000);
401
+ if (this.retryAfter != null) {
402
+ interval = Math.max(interval, this.retryAfter);
403
+ }
382
404
  setTimeout( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {
383
405
  return _regenerator.default.wrap(function _callee7$(_context7) {
384
406
  while (1) switch (_context7.prev = _context7.next) {
@@ -390,7 +412,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
390
412
  while (1) switch (_context6.prev = _context6.next) {
391
413
  case 0:
392
414
  _context6.next = 2;
393
- return _this.attemptRegistrationWithServers(_this.startFailoverTimer.name);
415
+ return _this.attemptRegistrationWithServers(_constants2.FAILOVER_UTIL);
394
416
  case 2:
395
417
  abort = _context6.sent;
396
418
  currentTime = Math.floor((0, _now.default)() / 1000);
@@ -411,23 +433,26 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
411
433
  return _context7.stop();
412
434
  }
413
435
  }, _callee7);
414
- })), interval * _constants.SEC_TO_MSEC_MFACTOR);
436
+ })), interval * _constants2.SEC_TO_MSEC_MFACTOR);
415
437
  _Logger.default.log("Scheduled retry with primary in ".concat(interval, " seconds, number of attempts : ").concat(attempt), loggerContext);
416
- _context10.next = 22;
438
+ _context10.next = 26;
417
439
  break;
418
- case 12:
440
+ case 14:
419
441
  if (!this.backupMobiusUris.length) {
420
- _context10.next = 21;
442
+ _context10.next = 23;
421
443
  break;
422
444
  }
423
- _Logger.default.log('Failing over to backup servers.', loggerContext);
445
+ _Logger.default.info('Failing over to backup servers.', loggerContext);
424
446
  this.failoverImmediately = false;
425
- _context10.next = 17;
426
- return this.attemptRegistrationWithServers(this.startFailoverTimer.name, this.backupMobiusUris);
427
- case 17:
447
+ _context10.next = 19;
448
+ return this.attemptRegistrationWithServers(_constants2.FAILOVER_UTIL, this.backupMobiusUris);
449
+ case 19:
428
450
  abort = _context10.sent;
429
451
  if (!abort && !this.isDeviceRegistered()) {
430
452
  interval = this.getRegRetryInterval();
453
+ if (this.retryAfter != null && this.retryAfter < _constants2.RETRY_TIMER_UPPER_LIMIT) {
454
+ interval = interval < this.retryAfter ? this.retryAfter : interval;
455
+ }
431
456
  setTimeout( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9() {
432
457
  return _regenerator.default.wrap(function _callee9$(_context9) {
433
458
  while (1) switch (_context9.prev = _context9.next) {
@@ -438,15 +463,20 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
438
463
  while (1) switch (_context8.prev = _context8.next) {
439
464
  case 0:
440
465
  _context8.next = 2;
441
- return _this.attemptRegistrationWithServers(_this.startFailoverTimer.name, _this.backupMobiusUris);
466
+ return _this.attemptRegistrationWithServers(_constants2.FAILOVER_UTIL, _this.backupMobiusUris);
442
467
  case 2:
443
468
  abort = _context8.sent;
444
- if (!abort && !_this.isDeviceRegistered()) {
445
- (0, _common.emitFinalFailure)(function (clientError) {
446
- _this.lineEmitter(_types4.LINE_EVENTS.ERROR, undefined, clientError);
447
- }, loggerContext);
469
+ if (!(!abort && !_this.isDeviceRegistered())) {
470
+ _context8.next = 7;
471
+ break;
448
472
  }
449
- case 4:
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:
450
480
  case "end":
451
481
  return _context8.stop();
452
482
  }
@@ -457,16 +487,19 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
457
487
  return _context9.stop();
458
488
  }
459
489
  }, _callee9);
460
- })), interval * _constants.SEC_TO_MSEC_MFACTOR);
490
+ })), interval * _constants2.SEC_TO_MSEC_MFACTOR);
461
491
  _Logger.default.log("Scheduled retry with backup servers in ".concat(interval, " seconds."), loggerContext);
462
492
  }
463
- _context10.next = 22;
493
+ _context10.next = 26;
464
494
  break;
465
- case 21:
495
+ case 23:
496
+ _context10.next = 25;
497
+ return (0, _common.uploadLogs)();
498
+ case 25:
466
499
  (0, _common.emitFinalFailure)(function (clientError) {
467
- _this.lineEmitter(_types4.LINE_EVENTS.ERROR, undefined, clientError);
500
+ _this.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
468
501
  }, loggerContext);
469
- case 22:
502
+ case 26:
470
503
  case "end":
471
504
  return _context10.stop();
472
505
  }
@@ -520,7 +553,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
520
553
  if (!this.failbackTimer) {
521
554
  this.failback429RetryAttempts = 0;
522
555
  var intervalInMinutes = this.getFailbackInterval();
523
- this.startFailbackTimer(intervalInMinutes * _constants.MINUTES_TO_SEC_MFACTOR);
556
+ this.startFailbackTimer(intervalInMinutes * _constants2.MINUTES_TO_SEC_MFACTOR);
524
557
  }
525
558
  } else {
526
559
  this.failback429RetryAttempts = 0;
@@ -546,9 +579,9 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
546
579
  return _context11.stop();
547
580
  }
548
581
  }, _callee11);
549
- })), intervalInSeconds * _constants.SEC_TO_MSEC_MFACTOR);
582
+ })), intervalInSeconds * _constants2.SEC_TO_MSEC_MFACTOR);
550
583
  _Logger.default.log("Failback scheduled after ".concat(intervalInSeconds, " seconds."), {
551
- file: _constants.REGISTRATION_FILE,
584
+ file: _constants2.REGISTRATION_FILE,
552
585
  method: this.startFailbackTimer.name
553
586
  });
554
587
  }
@@ -572,62 +605,64 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
572
605
  while (1) switch (_context12.prev = _context12.next) {
573
606
  case 0:
574
607
  if (!_this3.isFailbackRequired()) {
575
- _context12.next = 27;
608
+ _context12.next = 28;
576
609
  break;
577
610
  }
578
611
  if (!((0, _keys.default)(_this3.callManager.getActiveCalls()).length === 0)) {
579
- _context12.next = 24;
612
+ _context12.next = 25;
580
613
  break;
581
614
  }
582
615
  _Logger.default.info("Attempting failback to primary.", {
583
- file: _constants.REGISTRATION_FILE,
616
+ file: _constants2.REGISTRATION_FILE,
584
617
  method: _this3.executeFailback.name
585
618
  });
586
619
  _context12.next = 5;
587
620
  return _this3.deregister();
588
621
  case 5:
589
622
  _context12.next = 7;
590
- return _this3.attemptRegistrationWithServers(_constants.FAILBACK_UTIL);
623
+ return _this3.attemptRegistrationWithServers(_constants2.FAILBACK_UTIL);
591
624
  case 7:
592
625
  abort = _context12.sent;
593
- if (!(!abort && !_this3.isDeviceRegistered())) {
594
- _context12.next = 22;
626
+ if (!(_this3.scheduled429Retry || abort || _this3.isDeviceRegistered())) {
627
+ _context12.next = 10;
595
628
  break;
596
629
  }
597
- _context12.next = 11;
598
- return _this3.restorePreviousRegistration(_constants.FAILBACK_UTIL);
599
- case 11:
630
+ return _context12.abrupt("return");
631
+ case 10:
632
+ _context12.next = 12;
633
+ return _this3.restorePreviousRegistration(_constants2.FAILBACK_UTIL);
634
+ case 12:
600
635
  abortNew = _context12.sent;
601
636
  if (!abortNew) {
602
- _context12.next = 15;
637
+ _context12.next = 16;
603
638
  break;
604
639
  }
605
640
  _this3.clearFailbackTimer();
606
641
  return _context12.abrupt("return");
607
- case 15:
642
+ case 16:
608
643
  if (_this3.isDeviceRegistered()) {
609
- _context12.next = 20;
644
+ _context12.next = 21;
610
645
  break;
611
646
  }
612
- _context12.next = 18;
647
+ _context12.next = 19;
613
648
  return _this3.restartRegistration(_this3.executeFailback.name);
614
- case 18:
615
- _context12.next = 22;
649
+ case 19:
650
+ _context12.next = 23;
616
651
  break;
617
- case 20:
652
+ case 21:
618
653
  _this3.failbackTimer = undefined;
619
654
  _this3.initiateFailback();
620
- case 22:
621
- _context12.next = 27;
655
+ case 23:
656
+ _context12.next = 28;
622
657
  break;
623
- case 24:
658
+ case 25:
624
659
  _Logger.default.info('Active calls present, deferring failback to next cycle.', {
625
- file: _constants.REGISTRATION_FILE,
660
+ file: _constants2.REGISTRATION_FILE,
626
661
  method: _this3.executeFailback.name
627
662
  });
628
663
  _this3.failbackTimer = undefined;
629
664
  _this3.initiateFailback();
630
- case 27:
665
+ case 28:
631
666
  case "end":
632
667
  return _context12.stop();
633
668
  }
@@ -655,8 +690,8 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
655
690
  key: "setIntervalValues",
656
691
  value: function setIntervalValues(deviceInfo) {
657
692
  if (this.primaryMobiusUris.indexOf(this.activeMobiusUrl) !== -1) {
658
- this.rehomingIntervalMin = deviceInfo !== null && deviceInfo !== void 0 && deviceInfo.rehomingIntervalMin ? deviceInfo.rehomingIntervalMin : _constants.DEFAULT_REHOMING_INTERVAL_MIN;
659
- this.rehomingIntervalMax = deviceInfo !== null && deviceInfo !== void 0 && deviceInfo.rehomingIntervalMax ? deviceInfo.rehomingIntervalMax : _constants.DEFAULT_REHOMING_INTERVAL_MAX;
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;
660
695
  }
661
696
  }
662
697
 
@@ -679,7 +714,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
679
714
  }, {
680
715
  key: "isDeviceRegistered",
681
716
  value: function isDeviceRegistered() {
682
- return this.registrationStatus === _types3.RegistrationStatus.ACTIVE;
717
+ return this.registrationStatus === _types2.RegistrationStatus.ACTIVE;
683
718
  }
684
719
  }, {
685
720
  key: "getStatus",
@@ -727,7 +762,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
727
762
  }
728
763
  }, _callee14, this);
729
764
  }));
730
- function restartRegistration(_x7) {
765
+ function restartRegistration(_x9) {
731
766
  return _restartRegistration.apply(this, arguments);
732
767
  }
733
768
  return restartRegistration;
@@ -746,7 +781,11 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
746
781
  return _regenerator.default.wrap(function _callee16$(_context16) {
747
782
  while (1) switch (_context16.prev = _context16.next) {
748
783
  case 0:
749
- _context16.next = 2;
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;
750
789
  return this.mutex.runExclusive( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15() {
751
790
  var abort;
752
791
  return _regenerator.default.wrap(function _callee15$(_context15) {
@@ -756,8 +795,8 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
756
795
  _context15.next = 14;
757
796
  break;
758
797
  }
759
- _Logger.default.info('Mercury connection is up again, re-registering with Webex Calling if needed', {
760
- file: _constants.REGISTRATION_FILE,
798
+ _Logger.default.log('Mercury connection is up again, re-registering with Webex Calling if needed', {
799
+ file: _constants2.REGISTRATION_FILE,
761
800
  method: _this4.handleConnectionRestoration.name
762
801
  });
763
802
  _this4.clearKeepaliveTimer();
@@ -790,15 +829,15 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
790
829
  }
791
830
  }, _callee15);
792
831
  })));
793
- case 2:
794
- return _context16.abrupt("return", retry);
795
832
  case 3:
833
+ return _context16.abrupt("return", retry);
834
+ case 4:
796
835
  case "end":
797
836
  return _context16.stop();
798
837
  }
799
838
  }, _callee16, this);
800
839
  }));
801
- function handleConnectionRestoration(_x8) {
840
+ function handleConnectionRestoration(_x10) {
802
841
  return _handleConnectionRestoration.apply(this, arguments);
803
842
  }
804
843
  return handleConnectionRestoration;
@@ -820,7 +859,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
820
859
  while (1) switch (_context17.prev = _context17.next) {
821
860
  case 0:
822
861
  logContext = {
823
- file: _constants.REGISTRATION_FILE,
862
+ file: _constants2.REGISTRATION_FILE,
824
863
  method: caller
825
864
  };
826
865
  if (_this5.isRegRetry()) {
@@ -847,11 +886,11 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
847
886
  }
848
887
  return _context17.abrupt("return", finalError);
849
888
  case 14:
850
- _this5.lineEmitter(_types4.LINE_EVENTS.UNREGISTERED);
889
+ _this5.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
851
890
  _context17.next = 18;
852
891
  break;
853
892
  case 17:
854
- _this5.lineEmitter(_types4.LINE_EVENTS.UNREGISTERED);
893
+ _this5.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
855
894
  case 18:
856
895
  return _context17.abrupt("return", false);
857
896
  case 19:
@@ -860,7 +899,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
860
899
  }
861
900
  }, _callee17);
862
901
  }));
863
- return function (_x9, _x10) {
902
+ return function (_x11, _x12) {
864
903
  return _ref8.apply(this, arguments);
865
904
  };
866
905
  }();
@@ -883,7 +922,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
883
922
  break;
884
923
  }
885
924
  _context18.next = 3;
886
- return this.attemptRegistrationWithServers(this.triggerRegistration.name, this.primaryMobiusUris);
925
+ return this.attemptRegistrationWithServers(_constants2.REGISTRATION_UTIL, this.primaryMobiusUris);
887
926
  case 3:
888
927
  abort = _context18.sent;
889
928
  if (!(!this.isDeviceRegistered() && !abort)) {
@@ -921,137 +960,148 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
921
960
  abort,
922
961
  _iterator,
923
962
  _step,
924
- url,
925
- _this$deviceInfo$devi,
926
- resp,
927
- body,
928
- error,
929
- _args19 = arguments;
930
- return _regenerator.default.wrap(function _callee19$(_context19) {
931
- while (1) switch (_context19.prev = _context19.next) {
963
+ _loop,
964
+ _ret,
965
+ _args20 = arguments;
966
+ return _regenerator.default.wrap(function _callee19$(_context20) {
967
+ while (1) switch (_context20.prev = _context20.next) {
932
968
  case 0:
933
- servers = _args19.length > 1 && _args19[1] !== undefined ? _args19[1] : this.primaryMobiusUris;
969
+ servers = _args20.length > 1 && _args20[1] !== undefined ? _args20[1] : this.primaryMobiusUris;
934
970
  abort = false;
971
+ this.retryAfter = undefined;
935
972
  if (!this.failoverImmediately) {
936
- _context19.next = 4;
973
+ _context20.next = 5;
937
974
  break;
938
975
  }
939
- return _context19.abrupt("return", abort);
940
- case 4:
976
+ return _context20.abrupt("return", abort);
977
+ case 5:
941
978
  if (!this.isDeviceRegistered()) {
942
- _context19.next = 7;
979
+ _context20.next = 8;
943
980
  break;
944
981
  }
945
- _Logger.default.log("[".concat(caller, "] : Device already registered with : ").concat(this.activeMobiusUrl), {
946
- file: _constants.REGISTRATION_FILE,
947
- method: this.attemptRegistrationWithServers.name
982
+ _Logger.default.info("[".concat(caller, "] : Device already registered with : ").concat(this.activeMobiusUrl), {
983
+ file: _constants2.REGISTRATION_FILE,
984
+ method: _constants2.REGISTER_UTIL
948
985
  });
949
- return _context19.abrupt("return", abort);
950
- case 7:
986
+ return _context20.abrupt("return", abort);
987
+ case 8:
951
988
  _iterator = _createForOfIteratorHelper(servers);
952
- _context19.prev = 8;
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
+ });
953
1068
  _iterator.s();
954
- case 10:
1069
+ case 12:
955
1070
  if ((_step = _iterator.n()).done) {
956
- _context19.next = 55;
957
- break;
958
- }
959
- url = _step.value;
960
- _context19.prev = 12;
961
- abort = false;
962
- this.registrationStatus = _types3.RegistrationStatus.INACTIVE;
963
- this.lineEmitter(_types4.LINE_EVENTS.CONNECTING);
964
- _Logger.default.log("[".concat(caller, "] : Mobius url to contact: ").concat(url), {
965
- file: _constants.REGISTRATION_FILE,
966
- method: this.attemptRegistrationWithServers.name
967
- });
968
- // eslint-disable-next-line no-await-in-loop
969
- _context19.next = 19;
970
- return this.postRegistration(url);
971
- case 19:
972
- resp = _context19.sent;
973
- this.deviceInfo = resp.body;
974
- this.registrationStatus = _types3.RegistrationStatus.ACTIVE;
975
- this.lineEmitter(_types4.LINE_EVENTS.REGISTERED, resp.body);
976
- this.setActiveMobiusUrl(url);
977
- this.setIntervalValues(this.deviceInfo);
978
- this.metricManager.setDeviceInfo(this.deviceInfo);
979
- this.metricManager.submitRegistrationMetric(_types2.METRIC_EVENT.REGISTRATION, _types2.REG_ACTION.REGISTER, _types2.METRIC_TYPE.BEHAVIORAL, undefined);
980
- this.startKeepaliveTimer((_this$deviceInfo$devi = this.deviceInfo.device) === null || _this$deviceInfo$devi === void 0 ? void 0 : _this$deviceInfo$devi.uri, this.deviceInfo.keepaliveInterval);
981
- this.initiateFailback();
982
- return _context19.abrupt("break", 55);
983
- case 32:
984
- _context19.prev = 32;
985
- _context19.t0 = _context19["catch"](12);
986
- body = _context19.t0; // eslint-disable-next-line no-await-in-loop, @typescript-eslint/no-unused-vars
987
- _context19.next = 37;
988
- return (0, _common.handleRegistrationErrors)(body, function (clientError, finalError) {
989
- if (finalError) {
990
- _this6.lineEmitter(_types4.LINE_EVENTS.ERROR, undefined, clientError);
991
- } else {
992
- _this6.lineEmitter(_types4.LINE_EVENTS.UNREGISTERED);
993
- }
994
- _this6.metricManager.submitRegistrationMetric(_types2.METRIC_EVENT.REGISTRATION_ERROR, _types2.REG_ACTION.REGISTER, _types2.METRIC_TYPE.BEHAVIORAL, clientError);
995
- }, {
996
- method: this.attemptRegistrationWithServers.name,
997
- file: _constants.REGISTRATION_FILE
998
- }, this.restoreRegistrationCallBack());
999
- case 37:
1000
- abort = _context19.sent;
1001
- if (!(this.registrationStatus === _types3.RegistrationStatus.ACTIVE)) {
1002
- _context19.next = 41;
1071
+ _context20.next = 19;
1003
1072
  break;
1004
1073
  }
1005
- _Logger.default.info("[".concat(caller, "] : Device is already restored, active mobius url: ").concat(this.activeMobiusUrl), {
1006
- file: _constants.REGISTRATION_FILE,
1007
- method: this.attemptRegistrationWithServers.name
1008
- });
1009
- return _context19.abrupt("break", 55);
1010
- case 41:
1011
- if (!abort) {
1012
- _context19.next = 46;
1074
+ return _context20.delegateYield(_loop(), "t0", 14);
1075
+ case 14:
1076
+ _ret = _context20.t0;
1077
+ if (!(_ret === 0)) {
1078
+ _context20.next = 17;
1013
1079
  break;
1014
1080
  }
1015
- this.setStatus(_types3.RegistrationStatus.INACTIVE);
1016
- return _context19.abrupt("break", 55);
1017
- case 46:
1018
- if (!(caller === this.executeFailback.name)) {
1019
- _context19.next = 53;
1020
- break;
1021
- }
1022
- error = body.statusCode;
1023
- if (!(error === _types.ERROR_CODE.TOO_MANY_REQUESTS)) {
1024
- _context19.next = 53;
1025
- break;
1026
- }
1027
- _context19.next = 51;
1028
- return this.scheduleFailback429Retry();
1029
- case 51:
1030
- abort = true;
1031
- return _context19.abrupt("break", 55);
1032
- case 53:
1033
- _context19.next = 10;
1081
+ return _context20.abrupt("break", 19);
1082
+ case 17:
1083
+ _context20.next = 12;
1034
1084
  break;
1035
- case 55:
1036
- _context19.next = 60;
1085
+ case 19:
1086
+ _context20.next = 24;
1037
1087
  break;
1038
- case 57:
1039
- _context19.prev = 57;
1040
- _context19.t1 = _context19["catch"](8);
1041
- _iterator.e(_context19.t1);
1042
- case 60:
1043
- _context19.prev = 60;
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;
1044
1094
  _iterator.f();
1045
- return _context19.finish(60);
1046
- case 63:
1047
- return _context19.abrupt("return", abort);
1048
- case 64:
1095
+ return _context20.finish(24);
1096
+ case 27:
1097
+ return _context20.abrupt("return", abort);
1098
+ case 28:
1049
1099
  case "end":
1050
- return _context19.stop();
1100
+ return _context20.stop();
1051
1101
  }
1052
- }, _callee19, this, [[8, 57, 60, 63], [12, 32]]);
1102
+ }, _callee19, this, [[9, 21, 24, 27]]);
1053
1103
  }));
1054
- function attemptRegistrationWithServers(_x11) {
1104
+ function attemptRegistrationWithServers(_x13) {
1055
1105
  return _attemptRegistrationWithServers.apply(this, arguments);
1056
1106
  }
1057
1107
  return attemptRegistrationWithServers;
@@ -1063,89 +1113,90 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1063
1113
  )
1064
1114
  }, {
1065
1115
  key: "startKeepaliveTimer",
1066
- value: function startKeepaliveTimer(url, interval) {
1116
+ value: function startKeepaliveTimer(url, interval, serverType) {
1067
1117
  var _this7 = this;
1068
1118
  var keepAliveRetryCount = 0;
1069
1119
  this.clearKeepaliveTimer();
1070
1120
  var RETRY_COUNT_THRESHOLD = this.isCCFlow ? 4 : 5;
1071
1121
  this.keepaliveTimer = setInterval( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee21() {
1072
1122
  var logContext;
1073
- return _regenerator.default.wrap(function _callee21$(_context21) {
1074
- while (1) switch (_context21.prev = _context21.next) {
1123
+ return _regenerator.default.wrap(function _callee21$(_context22) {
1124
+ while (1) switch (_context22.prev = _context22.next) {
1075
1125
  case 0:
1076
1126
  logContext = {
1077
- file: _constants.REGISTRATION_FILE,
1078
- method: _this7.startKeepaliveTimer.name
1127
+ file: _constants2.REGISTRATION_FILE,
1128
+ method: _constants2.KEEPALIVE_UTIL
1079
1129
  };
1080
- _context21.next = 3;
1130
+ _context22.next = 3;
1081
1131
  return _this7.mutex.runExclusive( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee20() {
1082
1132
  var res, error, abort;
1083
- return _regenerator.default.wrap(function _callee20$(_context20) {
1084
- while (1) switch (_context20.prev = _context20.next) {
1133
+ return _regenerator.default.wrap(function _callee20$(_context21) {
1134
+ while (1) switch (_context21.prev = _context21.next) {
1085
1135
  case 0:
1086
1136
  if (!(_this7.isDeviceRegistered() && keepAliveRetryCount < RETRY_COUNT_THRESHOLD)) {
1087
- _context20.next = 30;
1137
+ _context21.next = 30;
1088
1138
  break;
1089
1139
  }
1090
- _context20.prev = 1;
1091
- _context20.next = 4;
1140
+ _context21.prev = 1;
1141
+ _context21.next = 4;
1092
1142
  return _this7.postKeepAlive(url);
1093
1143
  case 4:
1094
- res = _context20.sent;
1095
- _Logger.default.info("Sent Keepalive, status: ".concat(res.statusCode), logContext);
1144
+ res = _context21.sent;
1145
+ _Logger.default.log("Sent Keepalive, status: ".concat(res.statusCode), logContext);
1096
1146
  if (keepAliveRetryCount > 0) {
1097
- _this7.lineEmitter(_types4.LINE_EVENTS.RECONNECTED);
1147
+ _this7.lineEmitter(_types3.LINE_EVENTS.RECONNECTED);
1098
1148
  }
1099
1149
  keepAliveRetryCount = 0;
1100
- _context20.next = 30;
1150
+ _context21.next = 30;
1101
1151
  break;
1102
1152
  case 10:
1103
- _context20.prev = 10;
1104
- _context20.t0 = _context20["catch"](1);
1153
+ _context21.prev = 10;
1154
+ _context21.t0 = _context21["catch"](1);
1105
1155
  keepAliveRetryCount += 1;
1106
- error = _context20.t0;
1156
+ error = _context21.t0;
1107
1157
  _Logger.default.warn("Keep-alive missed ".concat(keepAliveRetryCount, " times. Status -> ").concat(error.statusCode, " "), logContext);
1108
- _context20.next = 17;
1158
+ _context21.next = 17;
1109
1159
  return (0, _common.handleRegistrationErrors)(error, function (clientError, finalError) {
1160
+ var _error$headers$tracki, _error$headers;
1110
1161
  if (finalError) {
1111
- _this7.lineEmitter(_types4.LINE_EVENTS.ERROR, undefined, clientError);
1162
+ _this7.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
1112
1163
  }
1113
- _this7.metricManager.submitRegistrationMetric(_types2.METRIC_EVENT.REGISTRATION, _types2.REG_ACTION.KEEPALIVE_FAILURE, _types2.METRIC_TYPE.BEHAVIORAL, clientError);
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);
1114
1165
  }, {
1115
- method: _this7.startKeepaliveTimer.name,
1116
- file: _constants.REGISTRATION_FILE
1166
+ method: _constants2.KEEPALIVE_UTIL,
1167
+ file: _constants2.REGISTRATION_FILE
1117
1168
  });
1118
1169
  case 17:
1119
- abort = _context20.sent;
1170
+ abort = _context21.sent;
1120
1171
  if (!(abort || keepAliveRetryCount >= RETRY_COUNT_THRESHOLD)) {
1121
- _context20.next = 29;
1172
+ _context21.next = 29;
1122
1173
  break;
1123
1174
  }
1124
1175
  _this7.failoverImmediately = _this7.isCCFlow;
1125
- _this7.setStatus(_types3.RegistrationStatus.INACTIVE);
1176
+ _this7.setStatus(_types2.RegistrationStatus.INACTIVE);
1126
1177
  _this7.clearKeepaliveTimer();
1127
1178
  _this7.clearFailbackTimer();
1128
- _this7.lineEmitter(_types4.LINE_EVENTS.UNREGISTERED);
1179
+ _this7.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
1129
1180
  if (abort) {
1130
- _context20.next = 27;
1181
+ _context21.next = 27;
1131
1182
  break;
1132
1183
  }
1133
- _context20.next = 27;
1134
- return _this7.reconnectOnFailure(_this7.startKeepaliveTimer.name);
1184
+ _context21.next = 27;
1185
+ return _this7.reconnectOnFailure(_constants2.KEEPALIVE_UTIL);
1135
1186
  case 27:
1136
- _context20.next = 30;
1187
+ _context21.next = 30;
1137
1188
  break;
1138
1189
  case 29:
1139
- _this7.lineEmitter(_types4.LINE_EVENTS.RECONNECTING);
1190
+ _this7.lineEmitter(_types3.LINE_EVENTS.RECONNECTING);
1140
1191
  case 30:
1141
1192
  case "end":
1142
- return _context20.stop();
1193
+ return _context21.stop();
1143
1194
  }
1144
1195
  }, _callee20, null, [[1, 10]]);
1145
1196
  })));
1146
1197
  case 3:
1147
1198
  case "end":
1148
- return _context21.stop();
1199
+ return _context22.stop();
1149
1200
  }
1150
1201
  }, _callee21);
1151
1202
  })), interval * 1000);
@@ -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$devi2, _this$deviceInfo$devi3;
1175
- return _regenerator.default.wrap(function _callee22$(_context22) {
1176
- while (1) switch (_context22.prev = _context22.next) {
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
- _context22.prev = 0;
1179
- _context22.next = 3;
1180
- 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);
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
- _context22.next = 8;
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 5:
1185
- _context22.prev = 5;
1186
- _context22.t0 = _context22["catch"](0);
1187
- _Logger.default.warn("Delete failed with Mobius", {});
1188
- case 8:
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(_types3.RegistrationStatus.INACTIVE);
1191
- case 10:
1248
+ this.setStatus(_types2.RegistrationStatus.INACTIVE);
1249
+ case 11:
1192
1250
  case "end":
1193
- return _context22.stop();
1251
+ return _context23.stop();
1194
1252
  }
1195
- }, _callee22, this, [[0, 5]]);
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
- * Indicates whether the calling client is in a mode
1204
- * to retry registration.
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: _constants.DEFAULT_KEEPALIVE_INTERVAL,
1235
- rehomingIntervalMax: _constants.DEFAULT_REHOMING_INTERVAL_MAX,
1236
- rehomingIntervalMin: _constants.DEFAULT_REHOMING_INTERVAL_MIN
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(_constants.DEVICES_ENDPOINT_RESOURCE, "/").concat(restoreData.devices[0].deviceId);
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 = _types3.RegistrationStatus.ACTIVE;
1299
+ this.registrationStatus = _types2.RegistrationStatus.ACTIVE;
1242
1300
  return true;
1243
1301
  }
1244
1302
  return false;
@@ -1258,44 +1316,48 @@ 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$(_context23) {
1262
- while (1) switch (_context23.prev = _context23.next) {
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
- _context23.next = 13;
1328
+ _context24.next = 14;
1267
1329
  break;
1268
1330
  }
1269
1331
  if (!((0, _keys.default)(this.callManager.getActiveCalls()).length === 0)) {
1270
- _context23.next = 11;
1332
+ _context24.next = 12;
1271
1333
  break;
1272
1334
  }
1273
- _context23.next = 5;
1335
+ _context24.next = 6;
1274
1336
  return this.restorePreviousRegistration(caller);
1275
- case 5:
1276
- abort = _context23.sent;
1337
+ case 6:
1338
+ abort = _context24.sent;
1277
1339
  if (!(!abort && !this.isDeviceRegistered())) {
1278
- _context23.next = 9;
1340
+ _context24.next = 10;
1279
1341
  break;
1280
1342
  }
1281
- _context23.next = 9;
1343
+ _context24.next = 10;
1282
1344
  return this.restartRegistration(caller);
1283
- case 9:
1284
- _context23.next = 13;
1345
+ case 10:
1346
+ _context24.next = 14;
1285
1347
  break;
1286
- case 11:
1348
+ case 12:
1287
1349
  this.reconnectPending = true;
1288
1350
  _Logger.default.info('Active call(s) present, deferred reconnect till call cleanup.', {
1289
- file: _constants.REGISTRATION_FILE,
1290
- method: this.reconnectOnFailure.name
1351
+ file: _constants2.REGISTRATION_FILE,
1352
+ method: _constants2.METHODS.RECONNECT_ON_FAILURE
1291
1353
  });
1292
- case 13:
1354
+ case 14:
1293
1355
  case "end":
1294
- return _context23.stop();
1356
+ return _context24.stop();
1295
1357
  }
1296
1358
  }, _callee23, this);
1297
1359
  }));
1298
- function reconnectOnFailure(_x12) {
1360
+ function reconnectOnFailure(_x14) {
1299
1361
  return _reconnectOnFailure.apply(this, arguments);
1300
1362
  }
1301
1363
  return reconnectOnFailure;