@webex/calling 3.8.1-web-workers-keepalive.2 → 3.9.0-multi-llms.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/dist/CallHistory/CallHistory.js +51 -46
  2. package/dist/CallHistory/CallHistory.js.map +1 -1
  3. package/dist/CallHistory/CallHistory.test.js +146 -147
  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 +9 -10
  15. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
  16. package/dist/CallSettings/WxCallBackendConnector.js +68 -61
  17. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
  18. package/dist/CallSettings/WxCallBackendConnector.test.js +168 -102
  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 +491 -200
  24. package/dist/CallingClient/CallingClient.js.map +1 -1
  25. package/dist/CallingClient/CallingClient.test.js +501 -294
  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 +369 -333
  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 +67 -68
  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 +10 -8
  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 +321 -232
  53. package/dist/CallingClient/registration/register.js.map +1 -1
  54. package/dist/CallingClient/registration/register.test.js +242 -160
  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 +5 -4
  59. package/dist/CallingClient/registration/webWorker.js.map +1 -1
  60. package/dist/CallingClient/registration/webWorker.test.js +14 -14
  61. package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
  62. package/dist/CallingClient/registration/webWorkerStr.js.map +1 -1
  63. package/dist/CallingClient/types.js.map +1 -1
  64. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +142 -0
  65. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +1 -0
  66. package/dist/Contacts/ContactsClient.js +244 -238
  67. package/dist/Contacts/ContactsClient.js.map +1 -1
  68. package/dist/Contacts/ContactsClient.test.js +89 -90
  69. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  70. package/dist/Contacts/constants.js +2 -2
  71. package/dist/Contacts/constants.js.map +1 -1
  72. package/dist/Contacts/contactFixtures.js.map +1 -1
  73. package/dist/Contacts/types.js.map +1 -1
  74. package/dist/Errors/catalog/CallError.js +2 -2
  75. package/dist/Errors/catalog/CallError.js.map +1 -1
  76. package/dist/Errors/catalog/CallingDeviceError.js +2 -2
  77. package/dist/Errors/catalog/CallingDeviceError.js.map +1 -1
  78. package/dist/Errors/catalog/ExtendedError.js +3 -3
  79. package/dist/Errors/catalog/ExtendedError.js.map +1 -1
  80. package/dist/Errors/catalog/LineError.js +2 -2
  81. package/dist/Errors/catalog/LineError.js.map +1 -1
  82. package/dist/Errors/index.js.map +1 -1
  83. package/dist/Errors/types.js.map +1 -1
  84. package/dist/Events/impl/index.js +2 -2
  85. package/dist/Events/impl/index.js.map +1 -1
  86. package/dist/Events/types.js.map +1 -1
  87. package/dist/Logger/index.js.map +1 -1
  88. package/dist/Logger/index.test.js.map +1 -1
  89. package/dist/Logger/types.js.map +1 -1
  90. package/dist/Metrics/index.js +166 -84
  91. package/dist/Metrics/index.js.map +1 -1
  92. package/dist/Metrics/index.test.js +60 -0
  93. package/dist/Metrics/index.test.js.map +1 -1
  94. package/dist/Metrics/types.js +15 -1
  95. package/dist/Metrics/types.js.map +1 -1
  96. package/dist/SDKConnector/index.js +0 -1
  97. package/dist/SDKConnector/index.js.map +1 -1
  98. package/dist/SDKConnector/index.test.js.map +1 -1
  99. package/dist/SDKConnector/types.js.map +1 -1
  100. package/dist/SDKConnector/utils.js.map +1 -1
  101. package/dist/SDKConnector/utils.test.js.map +1 -1
  102. package/dist/Voicemail/BroadworksBackendConnector.js +42 -39
  103. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
  104. package/dist/Voicemail/BroadworksBackendConnector.test.js +119 -120
  105. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
  106. package/dist/Voicemail/UcmBackendConnector.js +54 -47
  107. package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
  108. package/dist/Voicemail/UcmBackendConnector.test.js +73 -74
  109. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
  110. package/dist/Voicemail/Voicemail.js +12 -11
  111. package/dist/Voicemail/Voicemail.js.map +1 -1
  112. package/dist/Voicemail/Voicemail.test.js +2 -2
  113. package/dist/Voicemail/Voicemail.test.js.map +1 -1
  114. package/dist/Voicemail/WxCallBackendConnector.js +78 -70
  115. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
  116. package/dist/Voicemail/WxCallBackendConnector.test.js +184 -185
  117. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
  118. package/dist/Voicemail/constants.js.map +1 -1
  119. package/dist/Voicemail/types.js.map +1 -1
  120. package/dist/Voicemail/voicemailFixture.js.map +1 -1
  121. package/dist/api.js.map +1 -1
  122. package/dist/common/Utils.js +97 -72
  123. package/dist/common/Utils.js.map +1 -1
  124. package/dist/common/Utils.test.js +283 -143
  125. package/dist/common/Utils.test.js.map +1 -1
  126. package/dist/common/constants.js.map +1 -1
  127. package/dist/common/index.js.map +1 -1
  128. package/dist/common/testUtil.js +1 -1
  129. package/dist/common/testUtil.js.map +1 -1
  130. package/dist/common/types.js.map +1 -1
  131. package/dist/index.js +5 -5
  132. package/dist/index.js.map +1 -1
  133. package/dist/module/CallHistory/CallHistory.js +4 -0
  134. package/dist/module/CallSettings/UcmBackendConnector.js +1 -0
  135. package/dist/module/CallSettings/WxCallBackendConnector.js +8 -1
  136. package/dist/module/CallingClient/CallingClient.js +197 -40
  137. package/dist/module/CallingClient/calling/call.js +79 -43
  138. package/dist/module/CallingClient/constants.js +9 -6
  139. package/dist/module/CallingClient/line/index.js +3 -3
  140. package/dist/module/CallingClient/registration/register.js +50 -14
  141. package/dist/module/CallingClient/registration/webWorker.js +2 -1
  142. package/dist/module/CallingClient/windowsChromiumIceWarmupUtils.js +59 -0
  143. package/dist/module/Contacts/ContactsClient.js +23 -17
  144. package/dist/module/Contacts/constants.js +1 -1
  145. package/dist/module/Metrics/index.js +86 -32
  146. package/dist/module/Metrics/types.js +14 -0
  147. package/dist/module/Voicemail/BroadworksBackendConnector.js +3 -0
  148. package/dist/module/Voicemail/UcmBackendConnector.js +6 -0
  149. package/dist/module/Voicemail/WxCallBackendConnector.js +8 -0
  150. package/dist/module/common/Utils.js +35 -11
  151. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  152. package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
  153. package/dist/types/CallSettings/WxCallBackendConnector.d.ts.map +1 -1
  154. package/dist/types/CallSettings/types.d.ts +1 -1
  155. package/dist/types/CallSettings/types.d.ts.map +1 -1
  156. package/dist/types/CallingClient/CallingClient.d.ts +12 -1
  157. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  158. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  159. package/dist/types/CallingClient/calling/types.d.ts +2 -1
  160. package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
  161. package/dist/types/CallingClient/constants.d.ts +9 -6
  162. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  163. package/dist/types/CallingClient/line/index.d.ts.map +1 -1
  164. package/dist/types/CallingClient/registration/register.d.ts +1 -0
  165. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  166. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  167. package/dist/types/CallingClient/registration/webWorker.d.ts +2 -1
  168. package/dist/types/CallingClient/registration/webWorker.d.ts.map +1 -1
  169. package/dist/types/CallingClient/windowsChromiumIceWarmupUtils.d.ts +5 -0
  170. package/dist/types/CallingClient/windowsChromiumIceWarmupUtils.d.ts.map +1 -0
  171. package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
  172. package/dist/types/Contacts/constants.d.ts +1 -1
  173. package/dist/types/Contacts/constants.d.ts.map +1 -1
  174. package/dist/types/Metrics/index.d.ts.map +1 -1
  175. package/dist/types/Metrics/types.d.ts +18 -3
  176. package/dist/types/Metrics/types.d.ts.map +1 -1
  177. package/dist/types/Voicemail/BroadworksBackendConnector.d.ts.map +1 -1
  178. package/dist/types/Voicemail/UcmBackendConnector.d.ts.map +1 -1
  179. package/dist/types/Voicemail/WxCallBackendConnector.d.ts.map +1 -1
  180. package/dist/types/common/Utils.d.ts.map +1 -1
  181. package/dist/types/common/types.d.ts +1 -0
  182. package/dist/types/common/types.d.ts.map +1 -1
  183. package/package.json +10 -9
@@ -34,9 +34,9 @@ var _SDKConnector = _interopRequireDefault(require("../../SDKConnector"));
34
34
  var _types2 = require("../../common/types");
35
35
  var _constants2 = require("../constants");
36
36
  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; }
37
+ 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; } } }; }
38
+ 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; } }
39
+ 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
40
  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
41
  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
42
  /**
@@ -126,7 +126,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
126
126
  }, {
127
127
  key: "deleteRegistration",
128
128
  value: (function () {
129
- var _deleteRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(url, deviceId, deviceUrl) {
129
+ var _deleteRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(url, deviceId, deviceUrl) {
130
130
  var _response;
131
131
  var response;
132
132
  return _regenerator.default.wrap(function _callee$(_context) {
@@ -158,20 +158,22 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
158
158
  return (0, _context.t0)(_context.t1, _context.t14);
159
159
  case 20:
160
160
  response = _context.sent;
161
- _context.next = 26;
161
+ _context.next = 28;
162
162
  break;
163
163
  case 23:
164
164
  _context.prev = 23;
165
165
  _context.t15 = _context["catch"](0);
166
166
  _Logger.default.warn("Delete failed with Mobius ".concat(_context.t15), {
167
167
  file: _constants2.REGISTRATION_FILE,
168
- method: _constants2.METHODS.DEREGISTER
168
+ method: _constants2.METHODS.DELETE_REGISTRATION
169
169
  });
170
- case 26:
170
+ _context.next = 28;
171
+ return (0, _common.uploadLogs)();
172
+ case 28:
171
173
  this.setStatus(_types2.RegistrationStatus.INACTIVE);
172
174
  this.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
173
175
  return _context.abrupt("return", (_response = response) === null || _response === void 0 ? void 0 : _response.json());
174
- case 29:
176
+ case 31:
175
177
  case "end":
176
178
  return _context.stop();
177
179
  }
@@ -190,7 +192,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
190
192
  }, {
191
193
  key: "postRegistration",
192
194
  value: (function () {
193
- var _postRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(url) {
195
+ var _postRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(url) {
194
196
  var deviceInfo;
195
197
  return _regenerator.default.wrap(function _callee2$(_context2) {
196
198
  while (1) switch (_context2.prev = _context2.next) {
@@ -228,7 +230,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
228
230
  }, {
229
231
  key: "restorePreviousRegistration",
230
232
  value: (function () {
231
- var _restorePreviousRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(caller) {
233
+ var _restorePreviousRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3(caller) {
232
234
  var abort;
233
235
  return _regenerator.default.wrap(function _callee3$(_context3) {
234
236
  while (1) switch (_context3.prev = _context3.next) {
@@ -262,7 +264,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
262
264
  }, {
263
265
  key: "handle429Retry",
264
266
  value: (function () {
265
- var _handle429Retry = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(retryAfter, caller) {
267
+ var _handle429Retry = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4(retryAfter, caller) {
266
268
  var interval, abort;
267
269
  return _regenerator.default.wrap(function _callee4$(_context4) {
268
270
  while (1) switch (_context4.prev = _context4.next) {
@@ -336,7 +338,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
336
338
  }, {
337
339
  key: "startFailoverTimer",
338
340
  value: (function () {
339
- var _startFailoverTimer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9() {
341
+ var _startFailoverTimer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9() {
340
342
  var _this = this;
341
343
  var attempt,
342
344
  timeElapsed,
@@ -357,7 +359,7 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
357
359
  method: _constants2.FAILOVER_UTIL
358
360
  };
359
361
  interval = this.getRegRetryInterval(attempt);
360
- TIMER_THRESHOLD = this.isCCFlow ? _constants2.REG_TRY_BACKUP_TIMER_VAL_FOR_CC_IN_SEC : _constants2.REG_TRY_BACKUP_TIMER_VAL_IN_SEC;
362
+ TIMER_THRESHOLD = _constants2.REG_TRY_BACKUP_TIMER_VAL_IN_SEC;
361
363
  if (timeElapsed + interval > TIMER_THRESHOLD) {
362
364
  excessVal = timeElapsed + interval - TIMER_THRESHOLD;
363
365
  interval -= excessVal;
@@ -373,12 +375,12 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
373
375
  if (this.retryAfter != null) {
374
376
  interval = Math.max(interval, this.retryAfter);
375
377
  }
376
- setTimeout( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
378
+ setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6() {
377
379
  return _regenerator.default.wrap(function _callee6$(_context6) {
378
380
  while (1) switch (_context6.prev = _context6.next) {
379
381
  case 0:
380
382
  _context6.next = 2;
381
- return _this.mutex.runExclusive( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
383
+ return _this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
382
384
  var currentTime;
383
385
  return _regenerator.default.wrap(function _callee5$(_context5) {
384
386
  while (1) switch (_context5.prev = _context5.next) {
@@ -425,12 +427,12 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
425
427
  if (this.retryAfter != null && this.retryAfter < _constants2.RETRY_TIMER_UPPER_LIMIT) {
426
428
  interval = interval < this.retryAfter ? this.retryAfter : interval;
427
429
  }
428
- setTimeout( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {
430
+ setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8() {
429
431
  return _regenerator.default.wrap(function _callee8$(_context8) {
430
432
  while (1) switch (_context8.prev = _context8.next) {
431
433
  case 0:
432
434
  _context8.next = 2;
433
- return _this.mutex.runExclusive( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {
435
+ return _this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7() {
434
436
  return _regenerator.default.wrap(function _callee7$(_context7) {
435
437
  while (1) switch (_context7.prev = _context7.next) {
436
438
  case 0:
@@ -494,7 +496,83 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
494
496
  this.failbackTimer = undefined;
495
497
  }
496
498
  }
497
-
499
+ }, {
500
+ key: "isPrimaryActive",
501
+ value: function () {
502
+ var _isPrimaryActive = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0() {
503
+ var status, _iterator, _step, mobiusUrl, baseUri, response, _ref5, statusCode;
504
+ return _regenerator.default.wrap(function _callee0$(_context0) {
505
+ while (1) switch (_context0.prev = _context0.next) {
506
+ case 0:
507
+ _iterator = _createForOfIteratorHelper(this.primaryMobiusUris);
508
+ _context0.prev = 1;
509
+ _iterator.s();
510
+ case 3:
511
+ if ((_step = _iterator.n()).done) {
512
+ _context0.next = 23;
513
+ break;
514
+ }
515
+ mobiusUrl = _step.value;
516
+ _context0.prev = 5;
517
+ baseUri = mobiusUrl.replace(_constants2.URL_ENDPOINT, '/'); // eslint-disable-next-line no-await-in-loop
518
+ _context0.next = 9;
519
+ return this.webex.request({
520
+ uri: "".concat(baseUri, "ping"),
521
+ method: _types2.HTTP_METHODS.GET,
522
+ headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, this.webex.internal.device.url), _constants2.SPARK_USER_AGENT, _constants2.CALLING_USER_AGENT),
523
+ service: _types2.ALLOWED_SERVICES.MOBIUS
524
+ });
525
+ case 9:
526
+ response = _context0.sent;
527
+ _ref5 = response, statusCode = _ref5.statusCode;
528
+ if (!(statusCode === 200)) {
529
+ _context0.next = 15;
530
+ break;
531
+ }
532
+ _Logger.default.info("Ping successful for primary Mobius: ".concat(mobiusUrl), {
533
+ file: _constants2.REGISTRATION_FILE,
534
+ method: _constants2.FAILBACK_UTIL
535
+ });
536
+ status = 'up';
537
+ return _context0.abrupt("break", 23);
538
+ case 15:
539
+ _context0.next = 21;
540
+ break;
541
+ case 17:
542
+ _context0.prev = 17;
543
+ _context0.t0 = _context0["catch"](5);
544
+ _Logger.default.warn("Ping failed for primary Mobius: ".concat(mobiusUrl, " with error: ").concat(_context0.t0), {
545
+ file: _constants2.REGISTRATION_FILE,
546
+ method: _constants2.FAILBACK_UTIL
547
+ });
548
+ status = 'down';
549
+ case 21:
550
+ _context0.next = 3;
551
+ break;
552
+ case 23:
553
+ _context0.next = 28;
554
+ break;
555
+ case 25:
556
+ _context0.prev = 25;
557
+ _context0.t1 = _context0["catch"](1);
558
+ _iterator.e(_context0.t1);
559
+ case 28:
560
+ _context0.prev = 28;
561
+ _iterator.f();
562
+ return _context0.finish(28);
563
+ case 31:
564
+ return _context0.abrupt("return", status === 'up');
565
+ case 32:
566
+ case "end":
567
+ return _context0.stop();
568
+ }
569
+ }, _callee0, this, [[1, 25, 28, 31], [5, 17]]);
570
+ }));
571
+ function isPrimaryActive() {
572
+ return _isPrimaryActive.apply(this, arguments);
573
+ }
574
+ return isPrimaryActive;
575
+ }()
498
576
  /**
499
577
  * Returns true if device is registered with a backup mobius.
500
578
  */
@@ -541,16 +619,16 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
541
619
  key: "startFailbackTimer",
542
620
  value: function startFailbackTimer(intervalInSeconds) {
543
621
  var _this2 = this;
544
- this.failbackTimer = setTimeout( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10() {
545
- return _regenerator.default.wrap(function _callee10$(_context10) {
546
- while (1) switch (_context10.prev = _context10.next) {
622
+ this.failbackTimer = setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1() {
623
+ return _regenerator.default.wrap(function _callee1$(_context1) {
624
+ while (1) switch (_context1.prev = _context1.next) {
547
625
  case 0:
548
- return _context10.abrupt("return", _this2.executeFailback());
626
+ return _context1.abrupt("return", _this2.executeFailback());
549
627
  case 1:
550
628
  case "end":
551
- return _context10.stop();
629
+ return _context1.stop();
552
630
  }
553
- }, _callee10);
631
+ }, _callee1);
554
632
  })), intervalInSeconds * _constants2.SEC_TO_MSEC_MFACTOR);
555
633
  _Logger.default.log("Failback scheduled after ".concat(intervalInSeconds, " seconds."), {
556
634
  file: _constants2.REGISTRATION_FILE,
@@ -565,86 +643,90 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
565
643
  }, {
566
644
  key: "executeFailback",
567
645
  value: (function () {
568
- var _executeFailback = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee12() {
646
+ var _executeFailback = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11() {
569
647
  var _this3 = this;
570
- return _regenerator.default.wrap(function _callee12$(_context12) {
571
- while (1) switch (_context12.prev = _context12.next) {
648
+ return _regenerator.default.wrap(function _callee11$(_context11) {
649
+ while (1) switch (_context11.prev = _context11.next) {
572
650
  case 0:
573
- _context12.next = 2;
574
- return this.mutex.runExclusive( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11() {
575
- var abort, abortNew;
576
- return _regenerator.default.wrap(function _callee11$(_context11) {
577
- while (1) switch (_context11.prev = _context11.next) {
651
+ _context11.next = 2;
652
+ return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10() {
653
+ var primaryServerStatus, abort, abortNew;
654
+ return _regenerator.default.wrap(function _callee10$(_context10) {
655
+ while (1) switch (_context10.prev = _context10.next) {
578
656
  case 0:
579
657
  if (!_this3.isFailbackRequired()) {
580
- _context11.next = 28;
658
+ _context10.next = 31;
581
659
  break;
582
660
  }
583
- if (!((0, _keys.default)(_this3.callManager.getActiveCalls()).length === 0)) {
584
- _context11.next = 25;
661
+ _context10.next = 3;
662
+ return _this3.isPrimaryActive();
663
+ case 3:
664
+ primaryServerStatus = _context10.sent;
665
+ if (!((0, _keys.default)(_this3.callManager.getActiveCalls()).length === 0 && primaryServerStatus)) {
666
+ _context10.next = 28;
585
667
  break;
586
668
  }
587
669
  _Logger.default.info("Attempting failback to primary.", {
588
670
  file: _constants2.REGISTRATION_FILE,
589
671
  method: _this3.executeFailback.name
590
672
  });
591
- _context11.next = 5;
673
+ _context10.next = 8;
592
674
  return _this3.deregister();
593
- case 5:
594
- _context11.next = 7;
675
+ case 8:
676
+ _context10.next = 10;
595
677
  return _this3.attemptRegistrationWithServers(_constants2.FAILBACK_UTIL);
596
- case 7:
597
- abort = _context11.sent;
678
+ case 10:
679
+ abort = _context10.sent;
598
680
  if (!(_this3.scheduled429Retry || abort || _this3.isDeviceRegistered())) {
599
- _context11.next = 10;
681
+ _context10.next = 13;
600
682
  break;
601
683
  }
602
- return _context11.abrupt("return");
603
- case 10:
604
- _context11.next = 12;
684
+ return _context10.abrupt("return");
685
+ case 13:
686
+ _context10.next = 15;
605
687
  return _this3.restorePreviousRegistration(_constants2.FAILBACK_UTIL);
606
- case 12:
607
- abortNew = _context11.sent;
688
+ case 15:
689
+ abortNew = _context10.sent;
608
690
  if (!abortNew) {
609
- _context11.next = 16;
691
+ _context10.next = 19;
610
692
  break;
611
693
  }
612
694
  _this3.clearFailbackTimer();
613
- return _context11.abrupt("return");
614
- case 16:
695
+ return _context10.abrupt("return");
696
+ case 19:
615
697
  if (_this3.isDeviceRegistered()) {
616
- _context11.next = 21;
698
+ _context10.next = 24;
617
699
  break;
618
700
  }
619
- _context11.next = 19;
701
+ _context10.next = 22;
620
702
  return _this3.restartRegistration(_this3.executeFailback.name);
621
- case 19:
622
- _context11.next = 23;
703
+ case 22:
704
+ _context10.next = 26;
623
705
  break;
624
- case 21:
706
+ case 24:
625
707
  _this3.failbackTimer = undefined;
626
708
  _this3.initiateFailback();
627
- case 23:
628
- _context11.next = 28;
709
+ case 26:
710
+ _context10.next = 31;
629
711
  break;
630
- case 25:
631
- _Logger.default.info('Active calls present, deferring failback to next cycle.', {
712
+ case 28:
713
+ _Logger.default.info('Active calls present or primary Mobius is down, deferring failback to next cycle.', {
632
714
  file: _constants2.REGISTRATION_FILE,
633
715
  method: _this3.executeFailback.name
634
716
  });
635
717
  _this3.failbackTimer = undefined;
636
718
  _this3.initiateFailback();
637
- case 28:
719
+ case 31:
638
720
  case "end":
639
- return _context11.stop();
721
+ return _context10.stop();
640
722
  }
641
- }, _callee11);
723
+ }, _callee10);
642
724
  })));
643
725
  case 2:
644
726
  case "end":
645
- return _context12.stop();
727
+ return _context11.stop();
646
728
  }
647
- }, _callee12, this);
729
+ }, _callee11, this);
648
730
  }));
649
731
  function executeFailback() {
650
732
  return _executeFailback.apply(this, arguments);
@@ -707,10 +789,10 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
707
789
  }, {
708
790
  key: "restartRegistration",
709
791
  value: (function () {
710
- var _restartRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee13(caller) {
792
+ var _restartRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12(caller) {
711
793
  var abort;
712
- return _regenerator.default.wrap(function _callee13$(_context13) {
713
- while (1) switch (_context13.prev = _context13.next) {
794
+ return _regenerator.default.wrap(function _callee12$(_context12) {
795
+ while (1) switch (_context12.prev = _context12.next) {
714
796
  case 0:
715
797
  /*
716
798
  * Cancel any failback timer running
@@ -718,21 +800,21 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
718
800
  */
719
801
  this.clearFailbackTimer();
720
802
  this.failback429RetryAttempts = 0;
721
- _context13.next = 4;
803
+ _context12.next = 4;
722
804
  return this.attemptRegistrationWithServers(caller, this.primaryMobiusUris);
723
805
  case 4:
724
- abort = _context13.sent;
806
+ abort = _context12.sent;
725
807
  if (!(!abort && !this.isDeviceRegistered())) {
726
- _context13.next = 8;
808
+ _context12.next = 8;
727
809
  break;
728
810
  }
729
- _context13.next = 8;
811
+ _context12.next = 8;
730
812
  return this.startFailoverTimer();
731
813
  case 8:
732
814
  case "end":
733
- return _context13.stop();
815
+ return _context12.stop();
734
816
  }
735
- }, _callee13, this);
817
+ }, _callee12, this);
736
818
  }));
737
819
  function restartRegistration(_x8) {
738
820
  return _restartRegistration.apply(this, arguments);
@@ -748,66 +830,66 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
748
830
  }, {
749
831
  key: "handleConnectionRestoration",
750
832
  value: (function () {
751
- var _handleConnectionRestoration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15(retry) {
833
+ var _handleConnectionRestoration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14(retry) {
752
834
  var _this4 = this;
753
- return _regenerator.default.wrap(function _callee15$(_context15) {
754
- while (1) switch (_context15.prev = _context15.next) {
835
+ return _regenerator.default.wrap(function _callee14$(_context14) {
836
+ while (1) switch (_context14.prev = _context14.next) {
755
837
  case 0:
756
838
  _Logger.default.info(_constants.METHOD_START_MESSAGE, {
757
839
  method: _constants2.METHODS.HANDLE_CONNECTION_RESTORATION,
758
840
  file: _constants2.REGISTRATION_FILE
759
841
  });
760
- _context15.next = 3;
761
- return this.mutex.runExclusive( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee14() {
842
+ _context14.next = 3;
843
+ return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13() {
762
844
  var abort;
763
- return _regenerator.default.wrap(function _callee14$(_context14) {
764
- while (1) switch (_context14.prev = _context14.next) {
845
+ return _regenerator.default.wrap(function _callee13$(_context13) {
846
+ while (1) switch (_context13.prev = _context13.next) {
765
847
  case 0:
766
848
  if (!retry) {
767
- _context14.next = 14;
849
+ _context13.next = 14;
768
850
  break;
769
851
  }
770
- _Logger.default.log('Mercury connection is up again, re-registering with Webex Calling if needed', {
852
+ _Logger.default.log('Network is up again, re-registering with Webex Calling if needed', {
771
853
  file: _constants2.REGISTRATION_FILE,
772
- method: _this4.handleConnectionRestoration.name
854
+ method: _constants2.METHODS.HANDLE_CONNECTION_RESTORATION
773
855
  });
774
856
  _this4.clearKeepaliveTimer();
775
857
  if (!_this4.isDeviceRegistered()) {
776
- _context14.next = 6;
858
+ _context13.next = 6;
777
859
  break;
778
860
  }
779
- _context14.next = 6;
861
+ _context13.next = 6;
780
862
  return _this4.deregister();
781
863
  case 6:
782
864
  if (!_this4.activeMobiusUrl) {
783
- _context14.next = 13;
865
+ _context13.next = 13;
784
866
  break;
785
867
  }
786
- _context14.next = 9;
787
- return _this4.restorePreviousRegistration(_this4.handleConnectionRestoration.name);
868
+ _context13.next = 9;
869
+ return _this4.restorePreviousRegistration(_constants2.METHODS.HANDLE_CONNECTION_RESTORATION);
788
870
  case 9:
789
- abort = _context14.sent;
871
+ abort = _context13.sent;
790
872
  if (!(!abort && !_this4.isDeviceRegistered())) {
791
- _context14.next = 13;
873
+ _context13.next = 13;
792
874
  break;
793
875
  }
794
- _context14.next = 13;
795
- return _this4.restartRegistration(_this4.handleConnectionRestoration.name);
876
+ _context13.next = 13;
877
+ return _this4.restartRegistration(_constants2.METHODS.HANDLE_CONNECTION_RESTORATION);
796
878
  case 13:
797
879
  retry = false;
798
880
  case 14:
799
881
  case "end":
800
- return _context14.stop();
882
+ return _context13.stop();
801
883
  }
802
- }, _callee14);
884
+ }, _callee13);
803
885
  })));
804
886
  case 3:
805
- return _context15.abrupt("return", retry);
887
+ return _context14.abrupt("return", retry);
806
888
  case 4:
807
889
  case "end":
808
- return _context15.stop();
890
+ return _context14.stop();
809
891
  }
810
- }, _callee15, this);
892
+ }, _callee14, this);
811
893
  }));
812
894
  function handleConnectionRestoration(_x9) {
813
895
  return _handleConnectionRestoration.apply(this, arguments);
@@ -825,54 +907,54 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
825
907
  value: function restoreRegistrationCallBack() {
826
908
  var _this5 = this;
827
909
  return /*#__PURE__*/function () {
828
- var _ref8 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16(restoreData, caller) {
910
+ var _ref9 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15(restoreData, caller) {
829
911
  var logContext, restore, finalError;
830
- return _regenerator.default.wrap(function _callee16$(_context16) {
831
- while (1) switch (_context16.prev = _context16.next) {
912
+ return _regenerator.default.wrap(function _callee15$(_context15) {
913
+ while (1) switch (_context15.prev = _context15.next) {
832
914
  case 0:
833
915
  logContext = {
834
916
  file: _constants2.REGISTRATION_FILE,
835
917
  method: caller
836
918
  };
837
919
  if (_this5.isRegRetry()) {
838
- _context16.next = 17;
920
+ _context15.next = 17;
839
921
  break;
840
922
  }
841
923
  _Logger.default.info('Registration restoration in progress.', logContext);
842
924
  restore = _this5.getExistingDevice(restoreData);
843
925
  if (!restore) {
844
- _context16.next = 14;
926
+ _context15.next = 14;
845
927
  break;
846
928
  }
847
929
  _this5.setRegRetry(true);
848
- _context16.next = 8;
930
+ _context15.next = 8;
849
931
  return _this5.deregister();
850
932
  case 8:
851
- _context16.next = 10;
933
+ _context15.next = 10;
852
934
  return _this5.restorePreviousRegistration(caller);
853
935
  case 10:
854
- finalError = _context16.sent;
936
+ finalError = _context15.sent;
855
937
  _this5.setRegRetry(false);
856
938
  if (_this5.isDeviceRegistered()) {
857
939
  _Logger.default.info('Registration restored successfully.', logContext);
858
940
  }
859
- return _context16.abrupt("return", finalError);
941
+ return _context15.abrupt("return", finalError);
860
942
  case 14:
861
943
  _this5.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
862
- _context16.next = 18;
944
+ _context15.next = 18;
863
945
  break;
864
946
  case 17:
865
947
  _this5.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
866
948
  case 18:
867
- return _context16.abrupt("return", false);
949
+ return _context15.abrupt("return", false);
868
950
  case 19:
869
951
  case "end":
870
- return _context16.stop();
952
+ return _context15.stop();
871
953
  }
872
- }, _callee16);
954
+ }, _callee15);
873
955
  }));
874
- return function (_x10, _x11) {
875
- return _ref8.apply(this, arguments);
956
+ return function (_x0, _x1) {
957
+ return _ref9.apply(this, arguments);
876
958
  };
877
959
  }();
878
960
  }
@@ -884,30 +966,30 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
884
966
  }, {
885
967
  key: "triggerRegistration",
886
968
  value: (function () {
887
- var _triggerRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee17() {
969
+ var _triggerRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee16() {
888
970
  var abort;
889
- return _regenerator.default.wrap(function _callee17$(_context17) {
890
- while (1) switch (_context17.prev = _context17.next) {
971
+ return _regenerator.default.wrap(function _callee16$(_context16) {
972
+ while (1) switch (_context16.prev = _context16.next) {
891
973
  case 0:
892
974
  if (!(this.primaryMobiusUris.length > 0)) {
893
- _context17.next = 7;
975
+ _context16.next = 7;
894
976
  break;
895
977
  }
896
- _context17.next = 3;
978
+ _context16.next = 3;
897
979
  return this.attemptRegistrationWithServers(_constants2.REGISTRATION_UTIL, this.primaryMobiusUris);
898
980
  case 3:
899
- abort = _context17.sent;
981
+ abort = _context16.sent;
900
982
  if (!(!this.isDeviceRegistered() && !abort)) {
901
- _context17.next = 7;
983
+ _context16.next = 7;
902
984
  break;
903
985
  }
904
- _context17.next = 7;
986
+ _context16.next = 7;
905
987
  return this.startFailoverTimer();
906
988
  case 7:
907
989
  case "end":
908
- return _context17.stop();
990
+ return _context16.stop();
909
991
  }
910
- }, _callee17, this);
992
+ }, _callee16, this);
911
993
  }));
912
994
  function triggerRegistration() {
913
995
  return _triggerRegistration.apply(this, arguments);
@@ -926,48 +1008,48 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
926
1008
  }, {
927
1009
  key: "attemptRegistrationWithServers",
928
1010
  value: (function () {
929
- var _attemptRegistrationWithServers = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee18(caller) {
1011
+ var _attemptRegistrationWithServers = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee17(caller) {
930
1012
  var _this6 = this;
931
1013
  var servers,
932
1014
  abort,
933
- _iterator,
934
- _step,
1015
+ _iterator2,
1016
+ _step2,
935
1017
  _loop,
936
1018
  _ret,
937
- _args19 = arguments;
938
- return _regenerator.default.wrap(function _callee18$(_context19) {
939
- while (1) switch (_context19.prev = _context19.next) {
1019
+ _args18 = arguments;
1020
+ return _regenerator.default.wrap(function _callee17$(_context18) {
1021
+ while (1) switch (_context18.prev = _context18.next) {
940
1022
  case 0:
941
- servers = _args19.length > 1 && _args19[1] !== undefined ? _args19[1] : this.primaryMobiusUris;
1023
+ servers = _args18.length > 1 && _args18[1] !== undefined ? _args18[1] : this.primaryMobiusUris;
942
1024
  abort = false;
943
1025
  this.retryAfter = undefined;
944
1026
  if (!this.failoverImmediately) {
945
- _context19.next = 5;
1027
+ _context18.next = 5;
946
1028
  break;
947
1029
  }
948
- return _context19.abrupt("return", abort);
1030
+ return _context18.abrupt("return", abort);
949
1031
  case 5:
950
1032
  if (!this.isDeviceRegistered()) {
951
- _context19.next = 8;
1033
+ _context18.next = 8;
952
1034
  break;
953
1035
  }
954
1036
  _Logger.default.info("[".concat(caller, "] : Device already registered with : ").concat(this.activeMobiusUrl), {
955
1037
  file: _constants2.REGISTRATION_FILE,
956
1038
  method: _constants2.REGISTER_UTIL
957
1039
  });
958
- return _context19.abrupt("return", abort);
1040
+ return _context18.abrupt("return", abort);
959
1041
  case 8:
960
- _iterator = _createForOfIteratorHelper(servers);
961
- _context19.prev = 9;
1042
+ _iterator2 = _createForOfIteratorHelper(servers);
1043
+ _context18.prev = 9;
962
1044
  _loop = /*#__PURE__*/_regenerator.default.mark(function _loop() {
963
1045
  var _this6$backupMobiusUr;
964
- var url, serverType, _this6$deviceInfo$dev, _resp$headers$trackin, _resp$headers, _this6$deviceInfo$dev2, resp, body;
965
- return _regenerator.default.wrap(function _loop$(_context18) {
966
- while (1) switch (_context18.prev = _context18.next) {
1046
+ var url, serverType, _this6$deviceInfo$dev, _resp$headers, _resp$headers$trackin, _resp$headers2, _this6$deviceInfo$dev2, resp, body;
1047
+ return _regenerator.default.wrap(function _loop$(_context17) {
1048
+ while (1) switch (_context17.prev = _context17.next) {
967
1049
  case 0:
968
- url = _step.value;
1050
+ url = _step2.value;
969
1051
  serverType = _this6.primaryMobiusUris.includes(url) && 'PRIMARY' || ((_this6$backupMobiusUr = _this6.backupMobiusUris) === null || _this6$backupMobiusUr === void 0 ? void 0 : _this6$backupMobiusUr.includes(url)) && 'BACKUP' || 'UNKNOWN';
970
- _context18.prev = 2;
1052
+ _context17.prev = 2;
971
1053
  abort = false;
972
1054
  _this6.registrationStatus = _types2.RegistrationStatus.INACTIVE;
973
1055
  _this6.lineEmitter(_types3.LINE_EVENTS.CONNECTING);
@@ -976,29 +1058,29 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
976
1058
  method: _constants2.REGISTER_UTIL
977
1059
  });
978
1060
  // eslint-disable-next-line no-await-in-loop
979
- _context18.next = 9;
1061
+ _context17.next = 9;
980
1062
  return _this6.postRegistration(url);
981
1063
  case 9:
982
- resp = _context18.sent;
1064
+ resp = _context17.sent;
983
1065
  _this6.deviceInfo = resp.body;
984
1066
  _this6.registrationStatus = _types2.RegistrationStatus.ACTIVE;
1067
+ _this6.setActiveMobiusUrl(url);
985
1068
  _this6.lineEmitter(_types3.LINE_EVENTS.REGISTERED, resp.body);
986
- _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), {
1069
+ _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, " responseTrackingId: ").concat((_resp$headers = resp.headers) === null || _resp$headers === void 0 ? void 0 : _resp$headers.trackingid), {
987
1070
  file: _constants2.REGISTRATION_FILE,
988
1071
  method: _constants2.METHODS.REGISTER
989
1072
  });
990
- _this6.setActiveMobiusUrl(url);
991
1073
  _this6.setIntervalValues(_this6.deviceInfo);
992
1074
  _this6.metricManager.setDeviceInfo(_this6.deviceInfo);
993
- _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);
1075
+ _this6.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);
994
1076
  _this6.startKeepaliveTimer((_this6$deviceInfo$dev2 = _this6.deviceInfo.device) === null || _this6$deviceInfo$dev2 === void 0 ? void 0 : _this6$deviceInfo$dev2.uri, _this6.deviceInfo.keepaliveInterval, serverType);
995
1077
  _this6.initiateFailback();
996
- return _context18.abrupt("return", 0);
1078
+ return _context17.abrupt("return", 0);
997
1079
  case 23:
998
- _context18.prev = 23;
999
- _context18.t0 = _context18["catch"](2);
1000
- body = _context18.t0; // eslint-disable-next-line no-await-in-loop, @typescript-eslint/no-unused-vars
1001
- _context18.next = 28;
1080
+ _context17.prev = 23;
1081
+ _context17.t0 = _context17["catch"](2);
1082
+ body = _context17.t0; // eslint-disable-next-line no-await-in-loop, @typescript-eslint/no-unused-vars
1083
+ _context17.next = 28;
1002
1084
  return (0, _common.handleRegistrationErrors)(body, function (clientError, finalError) {
1003
1085
  var _body$headers$trackin, _body$headers;
1004
1086
  if (finalError) {
@@ -1014,66 +1096,70 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1014
1096
  return _this6.handle429Retry(retryAfter, retryCaller);
1015
1097
  }, _this6.restoreRegistrationCallBack());
1016
1098
  case 28:
1017
- abort = _context18.sent;
1099
+ abort = _context17.sent;
1018
1100
  if (!(_this6.registrationStatus === _types2.RegistrationStatus.ACTIVE)) {
1019
- _context18.next = 32;
1101
+ _context17.next = 32;
1020
1102
  break;
1021
1103
  }
1022
1104
  _Logger.default.info("[".concat(caller, "] : Device is already restored, active mobius url: ").concat(_this6.activeMobiusUrl), {
1023
1105
  file: _constants2.REGISTRATION_FILE,
1024
1106
  method: _this6.attemptRegistrationWithServers.name
1025
1107
  });
1026
- return _context18.abrupt("return", 0);
1108
+ return _context17.abrupt("return", 0);
1027
1109
  case 32:
1028
1110
  if (!abort) {
1029
- _context18.next = 35;
1111
+ _context17.next = 37;
1030
1112
  break;
1031
1113
  }
1032
1114
  _this6.setStatus(_types2.RegistrationStatus.INACTIVE);
1033
- return _context18.abrupt("return", 0);
1034
- case 35:
1115
+ // eslint-disable-next-line no-await-in-loop
1116
+ _context17.next = 36;
1117
+ return (0, _common.uploadLogs)();
1118
+ case 36:
1119
+ return _context17.abrupt("return", 0);
1120
+ case 37:
1035
1121
  case "end":
1036
- return _context18.stop();
1122
+ return _context17.stop();
1037
1123
  }
1038
1124
  }, _loop, null, [[2, 23]]);
1039
1125
  });
1040
- _iterator.s();
1126
+ _iterator2.s();
1041
1127
  case 12:
1042
- if ((_step = _iterator.n()).done) {
1043
- _context19.next = 19;
1128
+ if ((_step2 = _iterator2.n()).done) {
1129
+ _context18.next = 19;
1044
1130
  break;
1045
1131
  }
1046
- return _context19.delegateYield(_loop(), "t0", 14);
1132
+ return _context18.delegateYield(_loop(), "t0", 14);
1047
1133
  case 14:
1048
- _ret = _context19.t0;
1134
+ _ret = _context18.t0;
1049
1135
  if (!(_ret === 0)) {
1050
- _context19.next = 17;
1136
+ _context18.next = 17;
1051
1137
  break;
1052
1138
  }
1053
- return _context19.abrupt("break", 19);
1139
+ return _context18.abrupt("break", 19);
1054
1140
  case 17:
1055
- _context19.next = 12;
1141
+ _context18.next = 12;
1056
1142
  break;
1057
1143
  case 19:
1058
- _context19.next = 24;
1144
+ _context18.next = 24;
1059
1145
  break;
1060
1146
  case 21:
1061
- _context19.prev = 21;
1062
- _context19.t1 = _context19["catch"](9);
1063
- _iterator.e(_context19.t1);
1147
+ _context18.prev = 21;
1148
+ _context18.t1 = _context18["catch"](9);
1149
+ _iterator2.e(_context18.t1);
1064
1150
  case 24:
1065
- _context19.prev = 24;
1066
- _iterator.f();
1067
- return _context19.finish(24);
1151
+ _context18.prev = 24;
1152
+ _iterator2.f();
1153
+ return _context18.finish(24);
1068
1154
  case 27:
1069
- return _context19.abrupt("return", abort);
1155
+ return _context18.abrupt("return", abort);
1070
1156
  case 28:
1071
1157
  case "end":
1072
- return _context19.stop();
1158
+ return _context18.stop();
1073
1159
  }
1074
- }, _callee18, this, [[9, 21, 24, 27]]);
1160
+ }, _callee17, this, [[9, 21, 24, 27]]);
1075
1161
  }));
1076
- function attemptRegistrationWithServers(_x12) {
1162
+ function attemptRegistrationWithServers(_x10) {
1077
1163
  return _attemptRegistrationWithServers.apply(this, arguments);
1078
1164
  }
1079
1165
  return attemptRegistrationWithServers;
@@ -1086,28 +1172,28 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1086
1172
  }, {
1087
1173
  key: "startKeepaliveTimer",
1088
1174
  value: (function () {
1089
- var _startKeepaliveTimer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee21(url, interval, serverType) {
1175
+ var _startKeepaliveTimer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee20(url, interval, serverType) {
1090
1176
  var _this7 = this;
1091
1177
  var RETRY_COUNT_THRESHOLD;
1092
- return _regenerator.default.wrap(function _callee21$(_context22) {
1093
- while (1) switch (_context22.prev = _context22.next) {
1178
+ return _regenerator.default.wrap(function _callee20$(_context21) {
1179
+ while (1) switch (_context21.prev = _context21.next) {
1094
1180
  case 0:
1095
1181
  this.clearKeepaliveTimer();
1096
1182
  RETRY_COUNT_THRESHOLD = this.isCCFlow ? 4 : 5;
1097
- _context22.next = 4;
1098
- return this.mutex.runExclusive( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee20() {
1183
+ _context21.next = 4;
1184
+ return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee19() {
1099
1185
  var accessToken, blob, blobUrl;
1100
- return _regenerator.default.wrap(function _callee20$(_context21) {
1101
- while (1) switch (_context21.prev = _context21.next) {
1186
+ return _regenerator.default.wrap(function _callee19$(_context20) {
1187
+ while (1) switch (_context20.prev = _context20.next) {
1102
1188
  case 0:
1103
1189
  if (!_this7.isDeviceRegistered()) {
1104
- _context21.next = 5;
1190
+ _context20.next = 5;
1105
1191
  break;
1106
1192
  }
1107
- _context21.next = 3;
1193
+ _context20.next = 3;
1108
1194
  return _this7.webex.credentials.getUserToken();
1109
1195
  case 3:
1110
- accessToken = _context21.sent;
1196
+ accessToken = _context20.sent;
1111
1197
  if (!_this7.webWorker) {
1112
1198
  blob = new Blob([_webWorkerStr.default], {
1113
1199
  type: 'application/javascript'
@@ -1124,10 +1210,10 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1124
1210
  url: url
1125
1211
  });
1126
1212
  _this7.webWorker.onmessage = /*#__PURE__*/function () {
1127
- var _ref10 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19(event) {
1213
+ var _ref1 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee18(event) {
1128
1214
  var logContext, error, abort;
1129
- return _regenerator.default.wrap(function _callee19$(_context20) {
1130
- while (1) switch (_context20.prev = _context20.next) {
1215
+ return _regenerator.default.wrap(function _callee18$(_context19) {
1216
+ while (1) switch (_context19.prev = _context19.next) {
1131
1217
  case 0:
1132
1218
  logContext = {
1133
1219
  file: _constants2.REGISTRATION_FILE,
@@ -1138,26 +1224,26 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1138
1224
  _this7.lineEmitter(_types3.LINE_EVENTS.RECONNECTED);
1139
1225
  }
1140
1226
  if (!(event.data.type === _types2.WorkerMessageType.KEEPALIVE_FAILURE)) {
1141
- _context20.next = 20;
1227
+ _context19.next = 22;
1142
1228
  break;
1143
1229
  }
1144
1230
  error = event.data.err;
1145
1231
  _Logger.default.warn("Keep-alive missed ".concat(event.data.keepAliveRetryCount, " times. Status -> ").concat(error.statusCode, " "), logContext);
1146
- _context20.next = 7;
1232
+ _context19.next = 7;
1147
1233
  return (0, _common.handleRegistrationErrors)(error, function (clientError, finalError) {
1148
1234
  var _error$headers$tracki, _error$headers;
1149
1235
  if (finalError) {
1150
1236
  _this7.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
1151
1237
  }
1152
- _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);
1238
+ _this7.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);
1153
1239
  }, {
1154
1240
  method: _constants2.KEEPALIVE_UTIL,
1155
1241
  file: _constants2.REGISTRATION_FILE
1156
1242
  });
1157
1243
  case 7:
1158
- abort = _context20.sent;
1244
+ abort = _context19.sent;
1159
1245
  if (!(abort || event.data.keepAliveRetryCount >= RETRY_COUNT_THRESHOLD)) {
1160
- _context20.next = 19;
1246
+ _context19.next = 21;
1161
1247
  break;
1162
1248
  }
1163
1249
  _this7.failoverImmediately = _this7.isCCFlow;
@@ -1165,41 +1251,44 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1165
1251
  _this7.clearKeepaliveTimer();
1166
1252
  _this7.clearFailbackTimer();
1167
1253
  _this7.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
1254
+ _context19.next = 16;
1255
+ return (0, _common.uploadLogs)();
1256
+ case 16:
1168
1257
  if (abort) {
1169
- _context20.next = 17;
1258
+ _context19.next = 19;
1170
1259
  break;
1171
1260
  }
1172
- _context20.next = 17;
1261
+ _context19.next = 19;
1173
1262
  return _this7.reconnectOnFailure(_constants2.KEEPALIVE_UTIL);
1174
- case 17:
1175
- _context20.next = 20;
1176
- break;
1177
1263
  case 19:
1264
+ _context19.next = 22;
1265
+ break;
1266
+ case 21:
1178
1267
  _this7.lineEmitter(_types3.LINE_EVENTS.RECONNECTING);
1179
- case 20:
1268
+ case 22:
1180
1269
  case "end":
1181
- return _context20.stop();
1270
+ return _context19.stop();
1182
1271
  }
1183
- }, _callee19);
1272
+ }, _callee18);
1184
1273
  }));
1185
- return function (_x16) {
1186
- return _ref10.apply(this, arguments);
1274
+ return function (_x14) {
1275
+ return _ref1.apply(this, arguments);
1187
1276
  };
1188
1277
  }();
1189
1278
  }
1190
1279
  case 5:
1191
1280
  case "end":
1192
- return _context21.stop();
1281
+ return _context20.stop();
1193
1282
  }
1194
- }, _callee20);
1283
+ }, _callee19);
1195
1284
  })));
1196
1285
  case 4:
1197
1286
  case "end":
1198
- return _context22.stop();
1287
+ return _context21.stop();
1199
1288
  }
1200
- }, _callee21, this);
1289
+ }, _callee20, this);
1201
1290
  }));
1202
- function startKeepaliveTimer(_x13, _x14, _x15) {
1291
+ function startKeepaliveTimer(_x11, _x12, _x13) {
1203
1292
  return _startKeepaliveTimer.apply(this, arguments);
1204
1293
  }
1205
1294
  return startKeepaliveTimer;
@@ -1227,25 +1316,25 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1227
1316
  }, {
1228
1317
  key: "deregister",
1229
1318
  value: function () {
1230
- var _deregister = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee22() {
1319
+ var _deregister = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee21() {
1231
1320
  var _this$deviceInfo$devi, _this$deviceInfo$devi2;
1232
- return _regenerator.default.wrap(function _callee22$(_context23) {
1233
- while (1) switch (_context23.prev = _context23.next) {
1321
+ return _regenerator.default.wrap(function _callee21$(_context22) {
1322
+ while (1) switch (_context22.prev = _context22.next) {
1234
1323
  case 0:
1235
- _context23.prev = 0;
1236
- _context23.next = 3;
1324
+ _context22.prev = 0;
1325
+ _context22.next = 3;
1237
1326
  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);
1238
1327
  case 3:
1239
1328
  _Logger.default.log('Registration successfully deregistered', {
1240
1329
  file: _constants2.REGISTRATION_FILE,
1241
1330
  method: _constants2.METHODS.DEREGISTER
1242
1331
  });
1243
- _context23.next = 9;
1332
+ _context22.next = 9;
1244
1333
  break;
1245
1334
  case 6:
1246
- _context23.prev = 6;
1247
- _context23.t0 = _context23["catch"](0);
1248
- _Logger.default.warn("Delete failed with Mobius: ".concat(_context23.t0), {
1335
+ _context22.prev = 6;
1336
+ _context22.t0 = _context22["catch"](0);
1337
+ _Logger.default.warn("Delete failed with Mobius: ".concat(_context22.t0), {
1249
1338
  file: _constants2.REGISTRATION_FILE,
1250
1339
  method: _constants2.METHODS.DEREGISTER
1251
1340
  });
@@ -1254,9 +1343,9 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1254
1343
  this.setStatus(_types2.RegistrationStatus.INACTIVE);
1255
1344
  case 11:
1256
1345
  case "end":
1257
- return _context23.stop();
1346
+ return _context22.stop();
1258
1347
  }
1259
- }, _callee22, this, [[0, 6]]);
1348
+ }, _callee21, this, [[0, 6]]);
1260
1349
  }));
1261
1350
  function deregister() {
1262
1351
  return _deregister.apply(this, arguments);
@@ -1320,10 +1409,10 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1320
1409
  }, {
1321
1410
  key: "reconnectOnFailure",
1322
1411
  value: (function () {
1323
- var _reconnectOnFailure = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee23(caller) {
1412
+ var _reconnectOnFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee22(caller) {
1324
1413
  var abort;
1325
- return _regenerator.default.wrap(function _callee23$(_context24) {
1326
- while (1) switch (_context24.prev = _context24.next) {
1414
+ return _regenerator.default.wrap(function _callee22$(_context23) {
1415
+ while (1) switch (_context23.prev = _context23.next) {
1327
1416
  case 0:
1328
1417
  _Logger.default.info(_constants.METHOD_START_MESSAGE, {
1329
1418
  method: _constants2.METHODS.RECONNECT_ON_FAILURE,
@@ -1331,25 +1420,25 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1331
1420
  });
1332
1421
  this.reconnectPending = false;
1333
1422
  if (this.isDeviceRegistered()) {
1334
- _context24.next = 14;
1423
+ _context23.next = 14;
1335
1424
  break;
1336
1425
  }
1337
1426
  if (!((0, _keys.default)(this.callManager.getActiveCalls()).length === 0)) {
1338
- _context24.next = 12;
1427
+ _context23.next = 12;
1339
1428
  break;
1340
1429
  }
1341
- _context24.next = 6;
1430
+ _context23.next = 6;
1342
1431
  return this.restorePreviousRegistration(caller);
1343
1432
  case 6:
1344
- abort = _context24.sent;
1433
+ abort = _context23.sent;
1345
1434
  if (!(!abort && !this.isDeviceRegistered())) {
1346
- _context24.next = 10;
1435
+ _context23.next = 10;
1347
1436
  break;
1348
1437
  }
1349
- _context24.next = 10;
1438
+ _context23.next = 10;
1350
1439
  return this.restartRegistration(caller);
1351
1440
  case 10:
1352
- _context24.next = 14;
1441
+ _context23.next = 14;
1353
1442
  break;
1354
1443
  case 12:
1355
1444
  this.reconnectPending = true;
@@ -1359,11 +1448,11 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1359
1448
  });
1360
1449
  case 14:
1361
1450
  case "end":
1362
- return _context24.stop();
1451
+ return _context23.stop();
1363
1452
  }
1364
- }, _callee23, this);
1453
+ }, _callee22, this);
1365
1454
  }));
1366
- function reconnectOnFailure(_x17) {
1455
+ function reconnectOnFailure(_x15) {
1367
1456
  return _reconnectOnFailure.apply(this, arguments);
1368
1457
  }
1369
1458
  return reconnectOnFailure;