@webex/calling 3.9.0 → 3.10.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 (192) hide show
  1. package/dist/CallHistory/CallHistory.js +43 -43
  2. package/dist/CallHistory/CallHistory.js.map +1 -1
  3. package/dist/CallHistory/CallHistory.test.js +157 -152
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -1
  5. package/dist/CallHistory/callHistoryFixtures.js.map +1 -1
  6. package/dist/CallHistory/constants.js.map +1 -1
  7. package/dist/CallHistory/types.js.map +1 -1
  8. package/dist/CallSettings/CallSettings.js +8 -8
  9. package/dist/CallSettings/CallSettings.js.map +1 -1
  10. package/dist/CallSettings/CallSettings.test.js +1 -1
  11. package/dist/CallSettings/CallSettings.test.js.map +1 -1
  12. package/dist/CallSettings/UcmBackendConnector.js +12 -11
  13. package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
  14. package/dist/CallSettings/UcmBackendConnector.test.js +11 -11
  15. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
  16. package/dist/CallSettings/WxCallBackendConnector.js +53 -52
  17. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
  18. package/dist/CallSettings/WxCallBackendConnector.test.js +112 -110
  19. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
  20. package/dist/CallSettings/constants.js.map +1 -1
  21. package/dist/CallSettings/testFixtures.js.map +1 -1
  22. package/dist/CallSettings/types.js.map +1 -1
  23. package/dist/CallingClient/CallingClient.js +458 -203
  24. package/dist/CallingClient/CallingClient.js.map +1 -1
  25. package/dist/CallingClient/CallingClient.test.js +458 -315
  26. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  27. package/dist/CallingClient/callRecordFixtures.js.map +1 -1
  28. package/dist/CallingClient/calling/CallerId/index.js +2 -2
  29. package/dist/CallingClient/calling/CallerId/index.js.map +1 -1
  30. package/dist/CallingClient/calling/CallerId/index.test.js +8 -7
  31. package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -1
  32. package/dist/CallingClient/calling/CallerId/types.js.map +1 -1
  33. package/dist/CallingClient/calling/call.js +405 -372
  34. package/dist/CallingClient/calling/call.js.map +1 -1
  35. package/dist/CallingClient/calling/call.test.js +411 -410
  36. package/dist/CallingClient/calling/call.test.js.map +1 -1
  37. package/dist/CallingClient/calling/callManager.js +3 -4
  38. package/dist/CallingClient/calling/callManager.js.map +1 -1
  39. package/dist/CallingClient/calling/callManager.test.js +68 -69
  40. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  41. package/dist/CallingClient/calling/index.js.map +1 -1
  42. package/dist/CallingClient/calling/types.js.map +1 -1
  43. package/dist/CallingClient/callingClientFixtures.js.map +1 -1
  44. package/dist/CallingClient/constants.js +9 -6
  45. package/dist/CallingClient/constants.js.map +1 -1
  46. package/dist/CallingClient/line/index.js +10 -11
  47. package/dist/CallingClient/line/index.js.map +1 -1
  48. package/dist/CallingClient/line/line.test.js +10 -9
  49. package/dist/CallingClient/line/line.test.js.map +1 -1
  50. package/dist/CallingClient/line/types.js.map +1 -1
  51. package/dist/CallingClient/registration/index.js.map +1 -1
  52. package/dist/CallingClient/registration/register.js +285 -205
  53. package/dist/CallingClient/registration/register.js.map +1 -1
  54. package/dist/CallingClient/registration/register.test.js +251 -180
  55. package/dist/CallingClient/registration/register.test.js.map +1 -1
  56. package/dist/CallingClient/registration/registerFixtures.js.map +1 -1
  57. package/dist/CallingClient/registration/types.js.map +1 -1
  58. package/dist/CallingClient/registration/webWorker.js +25 -10
  59. package/dist/CallingClient/registration/webWorker.js.map +1 -1
  60. package/dist/CallingClient/registration/webWorker.test.js +85 -38
  61. package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
  62. package/dist/CallingClient/registration/webWorkerStr.js +1 -1
  63. package/dist/CallingClient/registration/webWorkerStr.js.map +1 -1
  64. package/dist/CallingClient/types.js.map +1 -1
  65. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +142 -0
  66. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +1 -0
  67. package/dist/Contacts/ContactsClient.js +244 -247
  68. package/dist/Contacts/ContactsClient.js.map +1 -1
  69. package/dist/Contacts/ContactsClient.test.js +93 -93
  70. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  71. package/dist/Contacts/constants.js +2 -2
  72. package/dist/Contacts/constants.js.map +1 -1
  73. package/dist/Contacts/contactFixtures.js.map +1 -1
  74. package/dist/Contacts/types.js.map +1 -1
  75. package/dist/Errors/catalog/CallError.js +2 -2
  76. package/dist/Errors/catalog/CallError.js.map +1 -1
  77. package/dist/Errors/catalog/CallingDeviceError.js +2 -2
  78. package/dist/Errors/catalog/CallingDeviceError.js.map +1 -1
  79. package/dist/Errors/catalog/ExtendedError.js +3 -3
  80. package/dist/Errors/catalog/ExtendedError.js.map +1 -1
  81. package/dist/Errors/catalog/LineError.js +2 -2
  82. package/dist/Errors/catalog/LineError.js.map +1 -1
  83. package/dist/Errors/index.js.map +1 -1
  84. package/dist/Errors/types.js.map +1 -1
  85. package/dist/Events/impl/index.js +3 -3
  86. package/dist/Events/impl/index.js.map +1 -1
  87. package/dist/Events/types.js.map +1 -1
  88. package/dist/Logger/index.js +3 -3
  89. package/dist/Logger/index.js.map +1 -1
  90. package/dist/Logger/index.test.js +1 -1
  91. package/dist/Logger/index.test.js.map +1 -1
  92. package/dist/Logger/types.js.map +1 -1
  93. package/dist/Metrics/index.js +221 -104
  94. package/dist/Metrics/index.js.map +1 -1
  95. package/dist/Metrics/index.test.js +112 -23
  96. package/dist/Metrics/index.test.js.map +1 -1
  97. package/dist/Metrics/types.js +15 -1
  98. package/dist/Metrics/types.js.map +1 -1
  99. package/dist/SDKConnector/index.js +0 -1
  100. package/dist/SDKConnector/index.js.map +1 -1
  101. package/dist/SDKConnector/index.test.js.map +1 -1
  102. package/dist/SDKConnector/types.js.map +1 -1
  103. package/dist/SDKConnector/utils.js.map +1 -1
  104. package/dist/SDKConnector/utils.test.js.map +1 -1
  105. package/dist/Voicemail/BroadworksBackendConnector.js +55 -61
  106. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
  107. package/dist/Voicemail/BroadworksBackendConnector.test.js +129 -122
  108. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
  109. package/dist/Voicemail/UcmBackendConnector.js +53 -50
  110. package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
  111. package/dist/Voicemail/UcmBackendConnector.test.js +73 -74
  112. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
  113. package/dist/Voicemail/Voicemail.js +89 -113
  114. package/dist/Voicemail/Voicemail.js.map +1 -1
  115. package/dist/Voicemail/Voicemail.test.js +2 -2
  116. package/dist/Voicemail/Voicemail.test.js.map +1 -1
  117. package/dist/Voicemail/WxCallBackendConnector.js +87 -92
  118. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
  119. package/dist/Voicemail/WxCallBackendConnector.test.js +228 -203
  120. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
  121. package/dist/Voicemail/constants.js.map +1 -1
  122. package/dist/Voicemail/types.js.map +1 -1
  123. package/dist/Voicemail/voicemailFixture.js.map +1 -1
  124. package/dist/api.js.map +1 -1
  125. package/dist/common/Utils.js +85 -66
  126. package/dist/common/Utils.js.map +1 -1
  127. package/dist/common/Utils.test.js +113 -123
  128. package/dist/common/Utils.test.js.map +1 -1
  129. package/dist/common/constants.js.map +1 -1
  130. package/dist/common/index.js.map +1 -1
  131. package/dist/common/testUtil.js +1 -1
  132. package/dist/common/testUtil.js.map +1 -1
  133. package/dist/common/types.js.map +1 -1
  134. package/dist/index.js +5 -5
  135. package/dist/index.js.map +1 -1
  136. package/dist/module/CallHistory/CallHistory.js +17 -8
  137. package/dist/module/CallSettings/UcmBackendConnector.js +2 -2
  138. package/dist/module/CallSettings/WxCallBackendConnector.js +14 -14
  139. package/dist/module/CallingClient/CallingClient.js +176 -36
  140. package/dist/module/CallingClient/calling/call.js +91 -61
  141. package/dist/module/CallingClient/constants.js +8 -4
  142. package/dist/module/CallingClient/line/index.js +3 -3
  143. package/dist/module/CallingClient/registration/register.js +37 -13
  144. package/dist/module/CallingClient/registration/webWorker.js +17 -3
  145. package/dist/module/CallingClient/registration/webWorkerStr.js +19 -3
  146. package/dist/module/CallingClient/windowsChromiumIceWarmupUtils.js +59 -0
  147. package/dist/module/Contacts/ContactsClient.js +33 -37
  148. package/dist/module/Contacts/constants.js +1 -1
  149. package/dist/module/Events/impl/index.js +1 -1
  150. package/dist/module/Logger/index.js +2 -2
  151. package/dist/module/Metrics/index.js +142 -55
  152. package/dist/module/Metrics/types.js +14 -0
  153. package/dist/module/Voicemail/BroadworksBackendConnector.js +10 -17
  154. package/dist/module/Voicemail/UcmBackendConnector.js +11 -10
  155. package/dist/module/Voicemail/Voicemail.js +42 -68
  156. package/dist/module/Voicemail/WxCallBackendConnector.js +22 -28
  157. package/dist/module/common/Utils.js +29 -12
  158. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  159. package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
  160. package/dist/types/CallSettings/WxCallBackendConnector.d.ts.map +1 -1
  161. package/dist/types/CallingClient/CallingClient.d.ts +12 -1
  162. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  163. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  164. package/dist/types/CallingClient/calling/types.d.ts +2 -1
  165. package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
  166. package/dist/types/CallingClient/constants.d.ts +8 -4
  167. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  168. package/dist/types/CallingClient/line/index.d.ts.map +1 -1
  169. package/dist/types/CallingClient/registration/register.d.ts +1 -0
  170. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  171. package/dist/types/CallingClient/registration/webWorker.d.ts +2 -1
  172. package/dist/types/CallingClient/registration/webWorker.d.ts.map +1 -1
  173. package/dist/types/CallingClient/registration/webWorkerStr.d.ts +1 -1
  174. package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -1
  175. package/dist/types/CallingClient/windowsChromiumIceWarmupUtils.d.ts +5 -0
  176. package/dist/types/CallingClient/windowsChromiumIceWarmupUtils.d.ts.map +1 -0
  177. package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
  178. package/dist/types/Contacts/constants.d.ts +1 -1
  179. package/dist/types/Contacts/constants.d.ts.map +1 -1
  180. package/dist/types/Logger/index.d.ts +1 -2
  181. package/dist/types/Logger/index.d.ts.map +1 -1
  182. package/dist/types/Metrics/index.d.ts.map +1 -1
  183. package/dist/types/Metrics/types.d.ts +18 -3
  184. package/dist/types/Metrics/types.d.ts.map +1 -1
  185. package/dist/types/Voicemail/BroadworksBackendConnector.d.ts.map +1 -1
  186. package/dist/types/Voicemail/UcmBackendConnector.d.ts.map +1 -1
  187. package/dist/types/Voicemail/Voicemail.d.ts.map +1 -1
  188. package/dist/types/Voicemail/WxCallBackendConnector.d.ts.map +1 -1
  189. package/dist/types/common/Utils.d.ts.map +1 -1
  190. package/dist/types/common/types.d.ts +1 -0
  191. package/dist/types/common/types.d.ts.map +1 -1
  192. package/package.json +10 -8
@@ -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"));
@@ -34,9 +35,9 @@ var _SDKConnector = _interopRequireDefault(require("../../SDKConnector"));
34
35
  var _types2 = require("../../common/types");
35
36
  var _constants2 = require("../constants");
36
37
  var _types3 = require("../line/types");
37
- 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; } } }; }
38
- 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); }
39
- 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; }
38
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof _Symbol && r[_Symbol$iterator] || r["@@iterator"]; if (!t) { if (_Array$isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
39
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? _Array$from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
40
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
40
41
  function ownKeys(e, r) { var t = _Object$keys2(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
41
42
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
42
43
  /**
@@ -126,7 +127,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
126
127
  }, {
127
128
  key: "deleteRegistration",
128
129
  value: (function () {
129
- var _deleteRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(url, deviceId, deviceUrl) {
130
+ var _deleteRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(url, deviceId, deviceUrl) {
130
131
  var _response;
131
132
  var response;
132
133
  return _regenerator.default.wrap(function _callee$(_context) {
@@ -158,20 +159,22 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
158
159
  return (0, _context.t0)(_context.t1, _context.t14);
159
160
  case 20:
160
161
  response = _context.sent;
161
- _context.next = 26;
162
+ _context.next = 28;
162
163
  break;
163
164
  case 23:
164
165
  _context.prev = 23;
165
166
  _context.t15 = _context["catch"](0);
166
- _Logger.default.warn("Delete failed with Mobius ".concat(_context.t15), {
167
+ _Logger.default.warn("Delete failed with Mobius: ".concat((0, _stringify.default)(_context.t15)), {
167
168
  file: _constants2.REGISTRATION_FILE,
168
- method: _constants2.METHODS.DEREGISTER
169
+ method: _constants2.METHODS.DELETE_REGISTRATION
169
170
  });
170
- case 26:
171
+ _context.next = 28;
172
+ return (0, _common.uploadLogs)();
173
+ case 28:
171
174
  this.setStatus(_types2.RegistrationStatus.INACTIVE);
172
175
  this.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
173
176
  return _context.abrupt("return", (_response = response) === null || _response === void 0 ? void 0 : _response.json());
174
- case 29:
177
+ case 31:
175
178
  case "end":
176
179
  return _context.stop();
177
180
  }
@@ -190,7 +193,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
190
193
  }, {
191
194
  key: "postRegistration",
192
195
  value: (function () {
193
- var _postRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(url) {
196
+ var _postRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(url) {
194
197
  var deviceInfo;
195
198
  return _regenerator.default.wrap(function _callee2$(_context2) {
196
199
  while (1) switch (_context2.prev = _context2.next) {
@@ -228,7 +231,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
228
231
  }, {
229
232
  key: "restorePreviousRegistration",
230
233
  value: (function () {
231
- var _restorePreviousRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(caller) {
234
+ var _restorePreviousRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3(caller) {
232
235
  var abort;
233
236
  return _regenerator.default.wrap(function _callee3$(_context3) {
234
237
  while (1) switch (_context3.prev = _context3.next) {
@@ -256,26 +259,64 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
256
259
  return restorePreviousRegistration;
257
260
  }()
258
261
  /**
259
- *
262
+ * Callback for handling 404 response from the server for register keepalive
260
263
  */
261
264
  )
262
265
  }, {
263
- key: "handle429Retry",
266
+ key: "handle404KeepaliveFailure",
264
267
  value: (function () {
265
- var _handle429Retry = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(retryAfter, caller) {
266
- var interval, abort;
268
+ var _handle404KeepaliveFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4(caller) {
269
+ var abort;
267
270
  return _regenerator.default.wrap(function _callee4$(_context4) {
268
271
  while (1) switch (_context4.prev = _context4.next) {
272
+ case 0:
273
+ if (!(caller === _constants2.KEEPALIVE_UTIL)) {
274
+ _context4.next = 7;
275
+ break;
276
+ }
277
+ _context4.next = 3;
278
+ return this.attemptRegistrationWithServers(caller);
279
+ case 3:
280
+ abort = _context4.sent;
281
+ if (!(!abort && !this.isDeviceRegistered())) {
282
+ _context4.next = 7;
283
+ break;
284
+ }
285
+ _context4.next = 7;
286
+ return this.startFailoverTimer();
287
+ case 7:
288
+ case "end":
289
+ return _context4.stop();
290
+ }
291
+ }, _callee4, this);
292
+ }));
293
+ function handle404KeepaliveFailure(_x6) {
294
+ return _handle404KeepaliveFailure.apply(this, arguments);
295
+ }
296
+ return handle404KeepaliveFailure;
297
+ }()
298
+ /**
299
+ * Callback for handling 429 retry response from the server
300
+ */
301
+ )
302
+ }, {
303
+ key: "handle429Retry",
304
+ value: (function () {
305
+ var _handle429Retry = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6(retryAfter, caller) {
306
+ var _this = this;
307
+ var interval, abort;
308
+ return _regenerator.default.wrap(function _callee6$(_context6) {
309
+ while (1) switch (_context6.prev = _context6.next) {
269
310
  case 0:
270
311
  if (!(caller === _constants2.FAILBACK_UTIL)) {
271
- _context4.next = 17;
312
+ _context6.next = 17;
272
313
  break;
273
314
  }
274
315
  if (!(this.failback429RetryAttempts >= _constants2.REG_FAILBACK_429_MAX_RETRIES)) {
275
- _context4.next = 3;
316
+ _context6.next = 3;
276
317
  break;
277
318
  }
278
- return _context4.abrupt("return");
319
+ return _context6.abrupt("return");
279
320
  case 3:
280
321
  this.clearFailbackTimer();
281
322
  this.failback429RetryAttempts += 1;
@@ -286,28 +327,51 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
286
327
  interval = this.getRegRetryInterval(this.failback429RetryAttempts);
287
328
  this.startFailbackTimer(interval);
288
329
  this.scheduled429Retry = true;
289
- _context4.next = 11;
330
+ _context6.next = 11;
290
331
  return this.restorePreviousRegistration(_constants2.REG_429_RETRY_UTIL);
291
332
  case 11:
292
- abort = _context4.sent;
333
+ abort = _context6.sent;
293
334
  if (!(!abort && !this.isDeviceRegistered())) {
294
- _context4.next = 15;
335
+ _context6.next = 15;
295
336
  break;
296
337
  }
297
- _context4.next = 15;
338
+ _context6.next = 15;
298
339
  return this.restartRegistration(_constants2.REG_429_RETRY_UTIL);
299
340
  case 15:
300
- _context4.next = 18;
341
+ _context6.next = 18;
301
342
  break;
302
343
  case 17:
303
- this.retryAfter = retryAfter;
344
+ if (caller === _constants2.KEEPALIVE_UTIL) {
345
+ this.clearKeepaliveTimer();
346
+ setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
347
+ var _this$deviceInfo$devi;
348
+ return _regenerator.default.wrap(function _callee5$(_context5) {
349
+ while (1) switch (_context5.prev = _context5.next) {
350
+ case 0:
351
+ _Logger.default.log("Resuming keepalive after ".concat(retryAfter, " seconds"), {
352
+ file: _constants2.REGISTRATION_FILE,
353
+ method: _constants2.REG_429_RETRY_UTIL
354
+ });
355
+
356
+ // Resume the keepalive after waiting for the retry after period
357
+ _context5.next = 3;
358
+ 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');
359
+ case 3:
360
+ case "end":
361
+ return _context5.stop();
362
+ }
363
+ }, _callee5);
364
+ })), retryAfter * 1000);
365
+ } else {
366
+ this.retryAfter = retryAfter;
367
+ }
304
368
  case 18:
305
369
  case "end":
306
- return _context4.stop();
370
+ return _context6.stop();
307
371
  }
308
- }, _callee4, this);
372
+ }, _callee6, this);
309
373
  }));
310
- function handle429Retry(_x6, _x7) {
374
+ function handle429Retry(_x7, _x8) {
311
375
  return _handle429Retry.apply(this, arguments);
312
376
  }
313
377
  return handle429Retry;
@@ -336,8 +400,8 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
336
400
  }, {
337
401
  key: "startFailoverTimer",
338
402
  value: (function () {
339
- var _startFailoverTimer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9() {
340
- var _this = this;
403
+ var _startFailoverTimer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1() {
404
+ var _this2 = this;
341
405
  var attempt,
342
406
  timeElapsed,
343
407
  loggerContext,
@@ -346,12 +410,12 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
346
410
  excessVal,
347
411
  abort,
348
412
  scheduledTime,
349
- _args9 = arguments;
350
- return _regenerator.default.wrap(function _callee9$(_context9) {
351
- while (1) switch (_context9.prev = _context9.next) {
413
+ _args1 = arguments;
414
+ return _regenerator.default.wrap(function _callee1$(_context1) {
415
+ while (1) switch (_context1.prev = _context1.next) {
352
416
  case 0:
353
- attempt = _args9.length > 0 && _args9[0] !== undefined ? _args9[0] : 1;
354
- timeElapsed = _args9.length > 1 && _args9[1] !== undefined ? _args9[1] : 0;
417
+ attempt = _args1.length > 0 && _args1[0] !== undefined ? _args1[0] : 1;
418
+ timeElapsed = _args1.length > 1 && _args1[1] !== undefined ? _args1[1] : 0;
355
419
  loggerContext = {
356
420
  file: _constants2.REGISTRATION_FILE,
357
421
  method: _constants2.FAILOVER_UTIL
@@ -366,116 +430,116 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
366
430
  this.failoverImmediately = this.retryAfter + timeElapsed > TIMER_THRESHOLD;
367
431
  }
368
432
  if (!(interval > _constants2.BASE_REG_RETRY_TIMER_VAL_IN_SEC && !this.failoverImmediately)) {
369
- _context9.next = 14;
433
+ _context1.next = 14;
370
434
  break;
371
435
  }
372
436
  scheduledTime = Math.floor((0, _now.default)() / 1000);
373
437
  if (this.retryAfter != null) {
374
438
  interval = Math.max(interval, this.retryAfter);
375
439
  }
376
- setTimeout( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
377
- return _regenerator.default.wrap(function _callee6$(_context6) {
378
- while (1) switch (_context6.prev = _context6.next) {
440
+ setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8() {
441
+ return _regenerator.default.wrap(function _callee8$(_context8) {
442
+ while (1) switch (_context8.prev = _context8.next) {
379
443
  case 0:
380
- _context6.next = 2;
381
- return _this.mutex.runExclusive( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
444
+ _context8.next = 2;
445
+ return _this2.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7() {
382
446
  var currentTime;
383
- return _regenerator.default.wrap(function _callee5$(_context5) {
384
- while (1) switch (_context5.prev = _context5.next) {
447
+ return _regenerator.default.wrap(function _callee7$(_context7) {
448
+ while (1) switch (_context7.prev = _context7.next) {
385
449
  case 0:
386
- _context5.next = 2;
387
- return _this.attemptRegistrationWithServers(_constants2.FAILOVER_UTIL);
450
+ _context7.next = 2;
451
+ return _this2.attemptRegistrationWithServers(_constants2.FAILOVER_UTIL);
388
452
  case 2:
389
- abort = _context5.sent;
453
+ abort = _context7.sent;
390
454
  currentTime = Math.floor((0, _now.default)() / 1000);
391
- if (!(!abort && !_this.isDeviceRegistered())) {
392
- _context5.next = 7;
455
+ if (!(!abort && !_this2.isDeviceRegistered())) {
456
+ _context7.next = 7;
393
457
  break;
394
458
  }
395
- _context5.next = 7;
396
- return _this.startFailoverTimer(attempt + 1, timeElapsed + (currentTime - scheduledTime));
459
+ _context7.next = 7;
460
+ return _this2.startFailoverTimer(attempt + 1, timeElapsed + (currentTime - scheduledTime));
397
461
  case 7:
398
462
  case "end":
399
- return _context5.stop();
463
+ return _context7.stop();
400
464
  }
401
- }, _callee5);
465
+ }, _callee7);
402
466
  })));
403
467
  case 2:
404
468
  case "end":
405
- return _context6.stop();
469
+ return _context8.stop();
406
470
  }
407
- }, _callee6);
471
+ }, _callee8);
408
472
  })), interval * _constants2.SEC_TO_MSEC_MFACTOR);
409
473
  _Logger.default.log("Scheduled retry with primary in ".concat(interval, " seconds, number of attempts : ").concat(attempt), loggerContext);
410
- _context9.next = 26;
474
+ _context1.next = 26;
411
475
  break;
412
476
  case 14:
413
477
  if (!this.backupMobiusUris.length) {
414
- _context9.next = 23;
478
+ _context1.next = 23;
415
479
  break;
416
480
  }
417
481
  _Logger.default.info('Failing over to backup servers.', loggerContext);
418
482
  this.failoverImmediately = false;
419
- _context9.next = 19;
483
+ _context1.next = 19;
420
484
  return this.attemptRegistrationWithServers(_constants2.FAILOVER_UTIL, this.backupMobiusUris);
421
485
  case 19:
422
- abort = _context9.sent;
486
+ abort = _context1.sent;
423
487
  if (!abort && !this.isDeviceRegistered()) {
424
488
  interval = this.getRegRetryInterval();
425
489
  if (this.retryAfter != null && this.retryAfter < _constants2.RETRY_TIMER_UPPER_LIMIT) {
426
490
  interval = interval < this.retryAfter ? this.retryAfter : interval;
427
491
  }
428
- setTimeout( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {
429
- return _regenerator.default.wrap(function _callee8$(_context8) {
430
- while (1) switch (_context8.prev = _context8.next) {
492
+ setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0() {
493
+ return _regenerator.default.wrap(function _callee0$(_context0) {
494
+ while (1) switch (_context0.prev = _context0.next) {
431
495
  case 0:
432
- _context8.next = 2;
433
- return _this.mutex.runExclusive( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {
434
- return _regenerator.default.wrap(function _callee7$(_context7) {
435
- while (1) switch (_context7.prev = _context7.next) {
496
+ _context0.next = 2;
497
+ return _this2.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9() {
498
+ return _regenerator.default.wrap(function _callee9$(_context9) {
499
+ while (1) switch (_context9.prev = _context9.next) {
436
500
  case 0:
437
- _context7.next = 2;
438
- return _this.attemptRegistrationWithServers(_constants2.FAILOVER_UTIL, _this.backupMobiusUris);
501
+ _context9.next = 2;
502
+ return _this2.attemptRegistrationWithServers(_constants2.FAILOVER_UTIL, _this2.backupMobiusUris);
439
503
  case 2:
440
- abort = _context7.sent;
441
- if (!(!abort && !_this.isDeviceRegistered())) {
442
- _context7.next = 7;
504
+ abort = _context9.sent;
505
+ if (!(!abort && !_this2.isDeviceRegistered())) {
506
+ _context9.next = 7;
443
507
  break;
444
508
  }
445
- _context7.next = 6;
509
+ _context9.next = 6;
446
510
  return (0, _common.uploadLogs)();
447
511
  case 6:
448
512
  (0, _common.emitFinalFailure)(function (clientError) {
449
- _this.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
513
+ _this2.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
450
514
  }, loggerContext);
451
515
  case 7:
452
516
  case "end":
453
- return _context7.stop();
517
+ return _context9.stop();
454
518
  }
455
- }, _callee7);
519
+ }, _callee9);
456
520
  })));
457
521
  case 2:
458
522
  case "end":
459
- return _context8.stop();
523
+ return _context0.stop();
460
524
  }
461
- }, _callee8);
525
+ }, _callee0);
462
526
  })), interval * _constants2.SEC_TO_MSEC_MFACTOR);
463
527
  _Logger.default.log("Scheduled retry with backup servers in ".concat(interval, " seconds."), loggerContext);
464
528
  }
465
- _context9.next = 26;
529
+ _context1.next = 26;
466
530
  break;
467
531
  case 23:
468
- _context9.next = 25;
532
+ _context1.next = 25;
469
533
  return (0, _common.uploadLogs)();
470
534
  case 25:
471
535
  (0, _common.emitFinalFailure)(function (clientError) {
472
- _this.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
536
+ _this2.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
473
537
  }, loggerContext);
474
538
  case 26:
475
539
  case "end":
476
- return _context9.stop();
540
+ return _context1.stop();
477
541
  }
478
- }, _callee9, this);
542
+ }, _callee1, this);
479
543
  }));
480
544
  function startFailoverTimer() {
481
545
  return _startFailoverTimer.apply(this, arguments);
@@ -497,8 +561,8 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
497
561
  }, {
498
562
  key: "isPrimaryActive",
499
563
  value: function () {
500
- var _isPrimaryActive = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10() {
501
- var status, _iterator, _step, mobiusUrl, baseUri, response, _ref5, statusCode;
564
+ var _isPrimaryActive = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10() {
565
+ var status, _iterator, _step, mobiusUrl, baseUri, response, _ref6, statusCode;
502
566
  return _regenerator.default.wrap(function _callee10$(_context10) {
503
567
  while (1) switch (_context10.prev = _context10.next) {
504
568
  case 0:
@@ -522,7 +586,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
522
586
  });
523
587
  case 9:
524
588
  response = _context10.sent;
525
- _ref5 = response, statusCode = _ref5.statusCode;
589
+ _ref6 = response, statusCode = _ref6.statusCode;
526
590
  if (!(statusCode === 200)) {
527
591
  _context10.next = 15;
528
592
  break;
@@ -539,7 +603,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
539
603
  case 17:
540
604
  _context10.prev = 17;
541
605
  _context10.t0 = _context10["catch"](5);
542
- _Logger.default.warn("Ping failed for primary Mobius: ".concat(mobiusUrl, " with error: ").concat(_context10.t0), {
606
+ _Logger.default.warn("Ping failed for primary Mobius: ".concat(mobiusUrl, " with error: ").concat((0, _stringify.default)(_context10.t0)), {
543
607
  file: _constants2.REGISTRATION_FILE,
544
608
  method: _constants2.FAILBACK_UTIL
545
609
  });
@@ -616,12 +680,12 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
616
680
  }, {
617
681
  key: "startFailbackTimer",
618
682
  value: function startFailbackTimer(intervalInSeconds) {
619
- var _this2 = this;
620
- this.failbackTimer = setTimeout( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11() {
683
+ var _this3 = this;
684
+ this.failbackTimer = setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11() {
621
685
  return _regenerator.default.wrap(function _callee11$(_context11) {
622
686
  while (1) switch (_context11.prev = _context11.next) {
623
687
  case 0:
624
- return _context11.abrupt("return", _this2.executeFailback());
688
+ return _context11.abrupt("return", _this3.executeFailback());
625
689
  case 1:
626
690
  case "end":
627
691
  return _context11.stop();
@@ -641,79 +705,79 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
641
705
  }, {
642
706
  key: "executeFailback",
643
707
  value: (function () {
644
- var _executeFailback = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee13() {
645
- var _this3 = this;
708
+ var _executeFailback = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13() {
709
+ var _this4 = this;
646
710
  return _regenerator.default.wrap(function _callee13$(_context13) {
647
711
  while (1) switch (_context13.prev = _context13.next) {
648
712
  case 0:
649
713
  _context13.next = 2;
650
- return this.mutex.runExclusive( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee12() {
714
+ return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12() {
651
715
  var primaryServerStatus, abort, abortNew;
652
716
  return _regenerator.default.wrap(function _callee12$(_context12) {
653
717
  while (1) switch (_context12.prev = _context12.next) {
654
718
  case 0:
655
- if (!_this3.isFailbackRequired()) {
719
+ if (!_this4.isFailbackRequired()) {
656
720
  _context12.next = 31;
657
721
  break;
658
722
  }
659
723
  _context12.next = 3;
660
- return _this3.isPrimaryActive();
724
+ return _this4.isPrimaryActive();
661
725
  case 3:
662
726
  primaryServerStatus = _context12.sent;
663
- if (!((0, _keys.default)(_this3.callManager.getActiveCalls()).length === 0 && primaryServerStatus)) {
727
+ if (!((0, _keys.default)(_this4.callManager.getActiveCalls()).length === 0 && primaryServerStatus)) {
664
728
  _context12.next = 28;
665
729
  break;
666
730
  }
667
731
  _Logger.default.info("Attempting failback to primary.", {
668
732
  file: _constants2.REGISTRATION_FILE,
669
- method: _this3.executeFailback.name
733
+ method: _this4.executeFailback.name
670
734
  });
671
735
  _context12.next = 8;
672
- return _this3.deregister();
736
+ return _this4.deregister();
673
737
  case 8:
674
738
  _context12.next = 10;
675
- return _this3.attemptRegistrationWithServers(_constants2.FAILBACK_UTIL);
739
+ return _this4.attemptRegistrationWithServers(_constants2.FAILBACK_UTIL);
676
740
  case 10:
677
741
  abort = _context12.sent;
678
- if (!(_this3.scheduled429Retry || abort || _this3.isDeviceRegistered())) {
742
+ if (!(_this4.scheduled429Retry || abort || _this4.isDeviceRegistered())) {
679
743
  _context12.next = 13;
680
744
  break;
681
745
  }
682
746
  return _context12.abrupt("return");
683
747
  case 13:
684
748
  _context12.next = 15;
685
- return _this3.restorePreviousRegistration(_constants2.FAILBACK_UTIL);
749
+ return _this4.restorePreviousRegistration(_constants2.FAILBACK_UTIL);
686
750
  case 15:
687
751
  abortNew = _context12.sent;
688
752
  if (!abortNew) {
689
753
  _context12.next = 19;
690
754
  break;
691
755
  }
692
- _this3.clearFailbackTimer();
756
+ _this4.clearFailbackTimer();
693
757
  return _context12.abrupt("return");
694
758
  case 19:
695
- if (_this3.isDeviceRegistered()) {
759
+ if (_this4.isDeviceRegistered()) {
696
760
  _context12.next = 24;
697
761
  break;
698
762
  }
699
763
  _context12.next = 22;
700
- return _this3.restartRegistration(_this3.executeFailback.name);
764
+ return _this4.restartRegistration(_this4.executeFailback.name);
701
765
  case 22:
702
766
  _context12.next = 26;
703
767
  break;
704
768
  case 24:
705
- _this3.failbackTimer = undefined;
706
- _this3.initiateFailback();
769
+ _this4.failbackTimer = undefined;
770
+ _this4.initiateFailback();
707
771
  case 26:
708
772
  _context12.next = 31;
709
773
  break;
710
774
  case 28:
711
775
  _Logger.default.info('Active calls present or primary Mobius is down, deferring failback to next cycle.', {
712
776
  file: _constants2.REGISTRATION_FILE,
713
- method: _this3.executeFailback.name
777
+ method: _this4.executeFailback.name
714
778
  });
715
- _this3.failbackTimer = undefined;
716
- _this3.initiateFailback();
779
+ _this4.failbackTimer = undefined;
780
+ _this4.initiateFailback();
717
781
  case 31:
718
782
  case "end":
719
783
  return _context12.stop();
@@ -787,7 +851,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
787
851
  }, {
788
852
  key: "restartRegistration",
789
853
  value: (function () {
790
- var _restartRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee14(caller) {
854
+ var _restartRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14(caller) {
791
855
  var abort;
792
856
  return _regenerator.default.wrap(function _callee14$(_context14) {
793
857
  while (1) switch (_context14.prev = _context14.next) {
@@ -814,7 +878,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
814
878
  }
815
879
  }, _callee14, this);
816
880
  }));
817
- function restartRegistration(_x8) {
881
+ function restartRegistration(_x9) {
818
882
  return _restartRegistration.apply(this, arguments);
819
883
  }
820
884
  return restartRegistration;
@@ -828,8 +892,8 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
828
892
  }, {
829
893
  key: "handleConnectionRestoration",
830
894
  value: (function () {
831
- var _handleConnectionRestoration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16(retry) {
832
- var _this4 = this;
895
+ var _handleConnectionRestoration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee16(retry) {
896
+ var _this5 = this;
833
897
  return _regenerator.default.wrap(function _callee16$(_context16) {
834
898
  while (1) switch (_context16.prev = _context16.next) {
835
899
  case 0:
@@ -838,7 +902,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
838
902
  file: _constants2.REGISTRATION_FILE
839
903
  });
840
904
  _context16.next = 3;
841
- return this.mutex.runExclusive( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15() {
905
+ return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15() {
842
906
  var abort;
843
907
  return _regenerator.default.wrap(function _callee15$(_context15) {
844
908
  while (1) switch (_context15.prev = _context15.next) {
@@ -847,32 +911,32 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
847
911
  _context15.next = 14;
848
912
  break;
849
913
  }
850
- _Logger.default.log('Mercury connection is up again, re-registering with Webex Calling if needed', {
914
+ _Logger.default.log('Network is up again, re-registering with Webex Calling if needed', {
851
915
  file: _constants2.REGISTRATION_FILE,
852
- method: _this4.handleConnectionRestoration.name
916
+ method: _constants2.METHODS.HANDLE_CONNECTION_RESTORATION
853
917
  });
854
- _this4.clearKeepaliveTimer();
855
- if (!_this4.isDeviceRegistered()) {
918
+ _this5.clearKeepaliveTimer();
919
+ if (!_this5.isDeviceRegistered()) {
856
920
  _context15.next = 6;
857
921
  break;
858
922
  }
859
923
  _context15.next = 6;
860
- return _this4.deregister();
924
+ return _this5.deregister();
861
925
  case 6:
862
- if (!_this4.activeMobiusUrl) {
926
+ if (!_this5.activeMobiusUrl) {
863
927
  _context15.next = 13;
864
928
  break;
865
929
  }
866
930
  _context15.next = 9;
867
- return _this4.restorePreviousRegistration(_this4.handleConnectionRestoration.name);
931
+ return _this5.restorePreviousRegistration(_constants2.METHODS.HANDLE_CONNECTION_RESTORATION);
868
932
  case 9:
869
933
  abort = _context15.sent;
870
- if (!(!abort && !_this4.isDeviceRegistered())) {
934
+ if (!(!abort && !_this5.isDeviceRegistered())) {
871
935
  _context15.next = 13;
872
936
  break;
873
937
  }
874
938
  _context15.next = 13;
875
- return _this4.restartRegistration(_this4.handleConnectionRestoration.name);
939
+ return _this5.restartRegistration(_constants2.METHODS.HANDLE_CONNECTION_RESTORATION);
876
940
  case 13:
877
941
  retry = false;
878
942
  case 14:
@@ -889,7 +953,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
889
953
  }
890
954
  }, _callee16, this);
891
955
  }));
892
- function handleConnectionRestoration(_x9) {
956
+ function handleConnectionRestoration(_x0) {
893
957
  return _handleConnectionRestoration.apply(this, arguments);
894
958
  }
895
959
  return handleConnectionRestoration;
@@ -903,9 +967,9 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
903
967
  }, {
904
968
  key: "restoreRegistrationCallBack",
905
969
  value: function restoreRegistrationCallBack() {
906
- var _this5 = this;
970
+ var _this6 = this;
907
971
  return /*#__PURE__*/function () {
908
- var _ref9 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee17(restoreData, caller) {
972
+ var _ref0 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee17(restoreData, caller) {
909
973
  var logContext, restore, finalError;
910
974
  return _regenerator.default.wrap(function _callee17$(_context17) {
911
975
  while (1) switch (_context17.prev = _context17.next) {
@@ -914,35 +978,35 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
914
978
  file: _constants2.REGISTRATION_FILE,
915
979
  method: caller
916
980
  };
917
- if (_this5.isRegRetry()) {
981
+ if (_this6.isRegRetry()) {
918
982
  _context17.next = 17;
919
983
  break;
920
984
  }
921
985
  _Logger.default.info('Registration restoration in progress.', logContext);
922
- restore = _this5.getExistingDevice(restoreData);
986
+ restore = _this6.getExistingDevice(restoreData);
923
987
  if (!restore) {
924
988
  _context17.next = 14;
925
989
  break;
926
990
  }
927
- _this5.setRegRetry(true);
991
+ _this6.setRegRetry(true);
928
992
  _context17.next = 8;
929
- return _this5.deregister();
993
+ return _this6.deregister();
930
994
  case 8:
931
995
  _context17.next = 10;
932
- return _this5.restorePreviousRegistration(caller);
996
+ return _this6.restorePreviousRegistration(caller);
933
997
  case 10:
934
998
  finalError = _context17.sent;
935
- _this5.setRegRetry(false);
936
- if (_this5.isDeviceRegistered()) {
999
+ _this6.setRegRetry(false);
1000
+ if (_this6.isDeviceRegistered()) {
937
1001
  _Logger.default.info('Registration restored successfully.', logContext);
938
1002
  }
939
1003
  return _context17.abrupt("return", finalError);
940
1004
  case 14:
941
- _this5.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
1005
+ _this6.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
942
1006
  _context17.next = 18;
943
1007
  break;
944
1008
  case 17:
945
- _this5.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
1009
+ _this6.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
946
1010
  case 18:
947
1011
  return _context17.abrupt("return", false);
948
1012
  case 19:
@@ -951,8 +1015,8 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
951
1015
  }
952
1016
  }, _callee17);
953
1017
  }));
954
- return function (_x10, _x11) {
955
- return _ref9.apply(this, arguments);
1018
+ return function (_x1, _x10) {
1019
+ return _ref0.apply(this, arguments);
956
1020
  };
957
1021
  }();
958
1022
  }
@@ -964,7 +1028,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
964
1028
  }, {
965
1029
  key: "triggerRegistration",
966
1030
  value: (function () {
967
- var _triggerRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee18() {
1031
+ var _triggerRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee18() {
968
1032
  var abort;
969
1033
  return _regenerator.default.wrap(function _callee18$(_context18) {
970
1034
  while (1) switch (_context18.prev = _context18.next) {
@@ -1006,8 +1070,8 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1006
1070
  }, {
1007
1071
  key: "attemptRegistrationWithServers",
1008
1072
  value: (function () {
1009
- var _attemptRegistrationWithServers = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19(caller) {
1010
- var _this6 = this;
1073
+ var _attemptRegistrationWithServers = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee19(caller) {
1074
+ var _this7 = this;
1011
1075
  var servers,
1012
1076
  abort,
1013
1077
  _iterator2,
@@ -1040,39 +1104,39 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1040
1104
  _iterator2 = _createForOfIteratorHelper(servers);
1041
1105
  _context20.prev = 9;
1042
1106
  _loop = /*#__PURE__*/_regenerator.default.mark(function _loop() {
1043
- var _this6$backupMobiusUr;
1044
- var url, serverType, _this6$deviceInfo$dev, _resp$headers$trackin, _resp$headers, _this6$deviceInfo$dev2, resp, body;
1107
+ var _this7$backupMobiusUr;
1108
+ var url, serverType, _this7$deviceInfo$dev, _resp$headers, _resp$headers$trackin, _resp$headers2, _this7$deviceInfo$dev2, resp, body;
1045
1109
  return _regenerator.default.wrap(function _loop$(_context19) {
1046
1110
  while (1) switch (_context19.prev = _context19.next) {
1047
1111
  case 0:
1048
1112
  url = _step2.value;
1049
- serverType = _this6.primaryMobiusUris.includes(url) && 'PRIMARY' || ((_this6$backupMobiusUr = _this6.backupMobiusUris) === null || _this6$backupMobiusUr === void 0 ? void 0 : _this6$backupMobiusUr.includes(url)) && 'BACKUP' || 'UNKNOWN';
1113
+ serverType = _this7.primaryMobiusUris.includes(url) && 'PRIMARY' || ((_this7$backupMobiusUr = _this7.backupMobiusUris) === null || _this7$backupMobiusUr === void 0 ? void 0 : _this7$backupMobiusUr.includes(url)) && 'BACKUP' || 'UNKNOWN';
1050
1114
  _context19.prev = 2;
1051
1115
  abort = false;
1052
- _this6.registrationStatus = _types2.RegistrationStatus.INACTIVE;
1053
- _this6.lineEmitter(_types3.LINE_EVENTS.CONNECTING);
1116
+ _this7.registrationStatus = _types2.RegistrationStatus.INACTIVE;
1117
+ _this7.lineEmitter(_types3.LINE_EVENTS.CONNECTING);
1054
1118
  _Logger.default.info("[".concat(caller, "] : Mobius url to contact: ").concat(url), {
1055
1119
  file: _constants2.REGISTRATION_FILE,
1056
1120
  method: _constants2.REGISTER_UTIL
1057
1121
  });
1058
1122
  // eslint-disable-next-line no-await-in-loop
1059
1123
  _context19.next = 9;
1060
- return _this6.postRegistration(url);
1124
+ return _this7.postRegistration(url);
1061
1125
  case 9:
1062
1126
  resp = _context19.sent;
1063
- _this6.deviceInfo = resp.body;
1064
- _this6.registrationStatus = _types2.RegistrationStatus.ACTIVE;
1065
- _this6.lineEmitter(_types3.LINE_EVENTS.REGISTERED, resp.body);
1066
- _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), {
1127
+ _this7.deviceInfo = resp.body;
1128
+ _this7.registrationStatus = _types2.RegistrationStatus.ACTIVE;
1129
+ _this7.setActiveMobiusUrl(url);
1130
+ _this7.lineEmitter(_types3.LINE_EVENTS.REGISTERED, resp.body);
1131
+ _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), {
1067
1132
  file: _constants2.REGISTRATION_FILE,
1068
1133
  method: _constants2.METHODS.REGISTER
1069
1134
  });
1070
- _this6.setActiveMobiusUrl(url);
1071
- _this6.setIntervalValues(_this6.deviceInfo);
1072
- _this6.metricManager.setDeviceInfo(_this6.deviceInfo);
1073
- _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);
1074
- _this6.startKeepaliveTimer((_this6$deviceInfo$dev2 = _this6.deviceInfo.device) === null || _this6$deviceInfo$dev2 === void 0 ? void 0 : _this6$deviceInfo$dev2.uri, _this6.deviceInfo.keepaliveInterval, serverType);
1075
- _this6.initiateFailback();
1135
+ _this7.setIntervalValues(_this7.deviceInfo);
1136
+ _this7.metricManager.setDeviceInfo(_this7.deviceInfo);
1137
+ _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);
1138
+ _this7.startKeepaliveTimer((_this7$deviceInfo$dev2 = _this7.deviceInfo.device) === null || _this7$deviceInfo$dev2 === void 0 ? void 0 : _this7$deviceInfo$dev2.uri, _this7.deviceInfo.keepaliveInterval, serverType);
1139
+ _this7.initiateFailback();
1076
1140
  return _context19.abrupt("return", 0);
1077
1141
  case 23:
1078
1142
  _context19.prev = 23;
@@ -1082,36 +1146,40 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1082
1146
  return (0, _common.handleRegistrationErrors)(body, function (clientError, finalError) {
1083
1147
  var _body$headers$trackin, _body$headers;
1084
1148
  if (finalError) {
1085
- _this6.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
1149
+ _this7.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
1086
1150
  } else {
1087
- _this6.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
1151
+ _this7.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
1088
1152
  }
1089
- _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);
1153
+ _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);
1090
1154
  }, {
1091
1155
  method: caller,
1092
1156
  file: _constants2.REGISTRATION_FILE
1093
1157
  }, function (retryAfter, retryCaller) {
1094
- return _this6.handle429Retry(retryAfter, retryCaller);
1095
- }, _this6.restoreRegistrationCallBack());
1158
+ return _this7.handle429Retry(retryAfter, retryCaller);
1159
+ }, _this7.restoreRegistrationCallBack());
1096
1160
  case 28:
1097
1161
  abort = _context19.sent;
1098
- if (!(_this6.registrationStatus === _types2.RegistrationStatus.ACTIVE)) {
1162
+ if (!(_this7.registrationStatus === _types2.RegistrationStatus.ACTIVE)) {
1099
1163
  _context19.next = 32;
1100
1164
  break;
1101
1165
  }
1102
- _Logger.default.info("[".concat(caller, "] : Device is already restored, active mobius url: ").concat(_this6.activeMobiusUrl), {
1166
+ _Logger.default.info("[".concat(caller, "] : Device is already restored, active mobius url: ").concat(_this7.activeMobiusUrl), {
1103
1167
  file: _constants2.REGISTRATION_FILE,
1104
- method: _this6.attemptRegistrationWithServers.name
1168
+ method: _this7.attemptRegistrationWithServers.name
1105
1169
  });
1106
1170
  return _context19.abrupt("return", 0);
1107
1171
  case 32:
1108
1172
  if (!abort) {
1109
- _context19.next = 35;
1173
+ _context19.next = 37;
1110
1174
  break;
1111
1175
  }
1112
- _this6.setStatus(_types2.RegistrationStatus.INACTIVE);
1176
+ _this7.setStatus(_types2.RegistrationStatus.INACTIVE);
1177
+ // eslint-disable-next-line no-await-in-loop
1178
+ _context19.next = 36;
1179
+ return (0, _common.uploadLogs)();
1180
+ case 36:
1113
1181
  return _context19.abrupt("return", 0);
1114
- case 35:
1182
+ case 37:
1115
1183
  case "end":
1116
1184
  return _context19.stop();
1117
1185
  }
@@ -1153,7 +1221,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1153
1221
  }
1154
1222
  }, _callee19, this, [[9, 21, 24, 27]]);
1155
1223
  }));
1156
- function attemptRegistrationWithServers(_x12) {
1224
+ function attemptRegistrationWithServers(_x11) {
1157
1225
  return _attemptRegistrationWithServers.apply(this, arguments);
1158
1226
  }
1159
1227
  return attemptRegistrationWithServers;
@@ -1166,8 +1234,8 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1166
1234
  }, {
1167
1235
  key: "startKeepaliveTimer",
1168
1236
  value: (function () {
1169
- var _startKeepaliveTimer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee22(url, interval, serverType) {
1170
- var _this7 = this;
1237
+ var _startKeepaliveTimer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee22(url, interval, serverType) {
1238
+ var _this8 = this;
1171
1239
  var RETRY_COUNT_THRESHOLD;
1172
1240
  return _regenerator.default.wrap(function _callee22$(_context23) {
1173
1241
  while (1) switch (_context23.prev = _context23.next) {
@@ -1175,50 +1243,50 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1175
1243
  this.clearKeepaliveTimer();
1176
1244
  RETRY_COUNT_THRESHOLD = this.isCCFlow ? 4 : 5;
1177
1245
  _context23.next = 4;
1178
- return this.mutex.runExclusive( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee21() {
1246
+ return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee21() {
1179
1247
  var accessToken, blob, blobUrl;
1180
1248
  return _regenerator.default.wrap(function _callee21$(_context22) {
1181
1249
  while (1) switch (_context22.prev = _context22.next) {
1182
1250
  case 0:
1183
- if (!_this7.isDeviceRegistered()) {
1251
+ if (!_this8.isDeviceRegistered()) {
1184
1252
  _context22.next = 5;
1185
1253
  break;
1186
1254
  }
1187
1255
  _context22.next = 3;
1188
- return _this7.webex.credentials.getUserToken();
1256
+ return _this8.webex.credentials.getUserToken();
1189
1257
  case 3:
1190
1258
  accessToken = _context22.sent;
1191
- if (!_this7.webWorker) {
1259
+ if (!_this8.webWorker) {
1192
1260
  blob = new Blob([_webWorkerStr.default], {
1193
1261
  type: 'application/javascript'
1194
1262
  });
1195
1263
  blobUrl = URL.createObjectURL(blob);
1196
- _this7.webWorker = new Worker(blobUrl);
1264
+ _this8.webWorker = new Worker(blobUrl);
1197
1265
  URL.revokeObjectURL(blobUrl);
1198
- _this7.webWorker.postMessage({
1266
+ _this8.webWorker.postMessage({
1199
1267
  type: _types2.WorkerMessageType.START_KEEPALIVE,
1200
1268
  accessToken: String(accessToken),
1201
- deviceUrl: String(_this7.webex.internal.device.url),
1269
+ deviceUrl: String(_this8.webex.internal.device.url),
1202
1270
  interval: interval,
1203
1271
  retryCountThreshold: RETRY_COUNT_THRESHOLD,
1204
1272
  url: url
1205
1273
  });
1206
- _this7.webWorker.onmessage = /*#__PURE__*/function () {
1207
- var _ref11 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee20(event) {
1274
+ _this8.webWorker.onmessage = /*#__PURE__*/function () {
1275
+ var _ref10 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee20(event) {
1208
1276
  var logContext, error, abort;
1209
1277
  return _regenerator.default.wrap(function _callee20$(_context21) {
1210
1278
  while (1) switch (_context21.prev = _context21.next) {
1211
1279
  case 0:
1212
1280
  logContext = {
1213
1281
  file: _constants2.REGISTRATION_FILE,
1214
- method: _this7.startKeepaliveTimer.name
1282
+ method: _constants2.KEEPALIVE_UTIL
1215
1283
  };
1216
1284
  if (event.data.type === _types2.WorkerMessageType.KEEPALIVE_SUCCESS) {
1217
1285
  _Logger.default.info("Sent Keepalive, status: ".concat(event.data.statusCode), logContext);
1218
- _this7.lineEmitter(_types3.LINE_EVENTS.RECONNECTED);
1286
+ _this8.lineEmitter(_types3.LINE_EVENTS.RECONNECTED);
1219
1287
  }
1220
1288
  if (!(event.data.type === _types2.WorkerMessageType.KEEPALIVE_FAILURE)) {
1221
- _context21.next = 20;
1289
+ _context21.next = 25;
1222
1290
  break;
1223
1291
  }
1224
1292
  error = event.data.err;
@@ -1227,43 +1295,55 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1227
1295
  return (0, _common.handleRegistrationErrors)(error, function (clientError, finalError) {
1228
1296
  var _error$headers$tracki, _error$headers;
1229
1297
  if (finalError) {
1230
- _this7.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
1298
+ _this8.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
1231
1299
  }
1232
- _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 : '', event.data.keepAliveRetryCount, clientError);
1300
+ _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);
1233
1301
  }, {
1234
1302
  method: _constants2.KEEPALIVE_UTIL,
1235
1303
  file: _constants2.REGISTRATION_FILE
1304
+ }, function (retryAfter, retryCaller) {
1305
+ return _this8.handle429Retry(retryAfter, retryCaller);
1236
1306
  });
1237
1307
  case 7:
1238
1308
  abort = _context21.sent;
1239
1309
  if (!(abort || event.data.keepAliveRetryCount >= RETRY_COUNT_THRESHOLD)) {
1240
- _context21.next = 19;
1310
+ _context21.next = 24;
1241
1311
  break;
1242
1312
  }
1243
- _this7.failoverImmediately = _this7.isCCFlow;
1244
- _this7.setStatus(_types2.RegistrationStatus.INACTIVE);
1245
- _this7.clearKeepaliveTimer();
1246
- _this7.clearFailbackTimer();
1247
- _this7.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
1313
+ _this8.failoverImmediately = _this8.isCCFlow;
1314
+ _this8.setStatus(_types2.RegistrationStatus.INACTIVE);
1315
+ _this8.clearKeepaliveTimer();
1316
+ _this8.clearFailbackTimer();
1317
+ _this8.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
1318
+ _context21.next = 16;
1319
+ return (0, _common.uploadLogs)();
1320
+ case 16:
1248
1321
  if (abort) {
1249
- _context21.next = 17;
1322
+ _context21.next = 21;
1250
1323
  break;
1251
1324
  }
1252
- _context21.next = 17;
1253
- return _this7.reconnectOnFailure(_constants2.KEEPALIVE_UTIL);
1254
- case 17:
1255
- _context21.next = 20;
1256
- break;
1325
+ _context21.next = 19;
1326
+ return _this8.reconnectOnFailure(_constants2.KEEPALIVE_UTIL);
1257
1327
  case 19:
1258
- _this7.lineEmitter(_types3.LINE_EVENTS.RECONNECTING);
1259
- case 20:
1328
+ _context21.next = 22;
1329
+ break;
1330
+ case 21:
1331
+ if (error.statusCode === 404) {
1332
+ _this8.handle404KeepaliveFailure(_constants2.KEEPALIVE_UTIL);
1333
+ }
1334
+ case 22:
1335
+ _context21.next = 25;
1336
+ break;
1337
+ case 24:
1338
+ _this8.lineEmitter(_types3.LINE_EVENTS.RECONNECTING);
1339
+ case 25:
1260
1340
  case "end":
1261
1341
  return _context21.stop();
1262
1342
  }
1263
1343
  }, _callee20);
1264
1344
  }));
1265
- return function (_x16) {
1266
- return _ref11.apply(this, arguments);
1345
+ return function (_x15) {
1346
+ return _ref10.apply(this, arguments);
1267
1347
  };
1268
1348
  }();
1269
1349
  }
@@ -1279,7 +1359,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1279
1359
  }
1280
1360
  }, _callee22, this);
1281
1361
  }));
1282
- function startKeepaliveTimer(_x13, _x14, _x15) {
1362
+ function startKeepaliveTimer(_x12, _x13, _x14) {
1283
1363
  return _startKeepaliveTimer.apply(this, arguments);
1284
1364
  }
1285
1365
  return startKeepaliveTimer;
@@ -1307,14 +1387,14 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1307
1387
  }, {
1308
1388
  key: "deregister",
1309
1389
  value: function () {
1310
- var _deregister = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee23() {
1311
- var _this$deviceInfo$devi, _this$deviceInfo$devi2;
1390
+ var _deregister = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee23() {
1391
+ var _this$deviceInfo$devi2, _this$deviceInfo$devi3;
1312
1392
  return _regenerator.default.wrap(function _callee23$(_context24) {
1313
1393
  while (1) switch (_context24.prev = _context24.next) {
1314
1394
  case 0:
1315
1395
  _context24.prev = 0;
1316
1396
  _context24.next = 3;
1317
- 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);
1397
+ 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);
1318
1398
  case 3:
1319
1399
  _Logger.default.log('Registration successfully deregistered', {
1320
1400
  file: _constants2.REGISTRATION_FILE,
@@ -1325,7 +1405,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1325
1405
  case 6:
1326
1406
  _context24.prev = 6;
1327
1407
  _context24.t0 = _context24["catch"](0);
1328
- _Logger.default.warn("Delete failed with Mobius: ".concat(_context24.t0), {
1408
+ _Logger.default.warn("Delete failed with Mobius: ".concat((0, _stringify.default)(_context24.t0)), {
1329
1409
  file: _constants2.REGISTRATION_FILE,
1330
1410
  method: _constants2.METHODS.DEREGISTER
1331
1411
  });
@@ -1400,7 +1480,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1400
1480
  }, {
1401
1481
  key: "reconnectOnFailure",
1402
1482
  value: (function () {
1403
- var _reconnectOnFailure = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee24(caller) {
1483
+ var _reconnectOnFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee24(caller) {
1404
1484
  var abort;
1405
1485
  return _regenerator.default.wrap(function _callee24$(_context25) {
1406
1486
  while (1) switch (_context25.prev = _context25.next) {
@@ -1443,7 +1523,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1443
1523
  }
1444
1524
  }, _callee24, this);
1445
1525
  }));
1446
- function reconnectOnFailure(_x17) {
1526
+ function reconnectOnFailure(_x16) {
1447
1527
  return _reconnectOnFailure.apply(this, arguments);
1448
1528
  }
1449
1529
  return reconnectOnFailure;