@webex/calling 3.12.0-next.28 → 3.12.0-next.29

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 (189) hide show
  1. package/dist/CallingClient/CallingClient.js +408 -194
  2. package/dist/CallingClient/CallingClient.js.map +1 -1
  3. package/dist/CallingClient/CallingClient.test.js +119 -25
  4. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  5. package/dist/CallingClient/calling/call.js +11 -8
  6. package/dist/CallingClient/calling/call.js.map +1 -1
  7. package/dist/CallingClient/calling/call.test.js +45 -4
  8. package/dist/CallingClient/calling/call.test.js.map +1 -1
  9. package/dist/CallingClient/calling/callManager.js +53 -30
  10. package/dist/CallingClient/calling/callManager.js.map +1 -1
  11. package/dist/CallingClient/calling/callManager.test.js +35 -0
  12. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  13. package/dist/CallingClient/calling/types.js +2 -0
  14. package/dist/CallingClient/calling/types.js.map +1 -1
  15. package/dist/CallingClient/constants.js +20 -2
  16. package/dist/CallingClient/constants.js.map +1 -1
  17. package/dist/CallingClient/line/line.test.js +16 -1
  18. package/dist/CallingClient/line/line.test.js.map +1 -1
  19. package/dist/CallingClient/registration/register.js +694 -406
  20. package/dist/CallingClient/registration/register.js.map +1 -1
  21. package/dist/CallingClient/registration/register.test.js +202 -21
  22. package/dist/CallingClient/registration/register.test.js.map +1 -1
  23. package/dist/CallingClient/registration/types.js.map +1 -1
  24. package/dist/CallingClient/registration/webWorker.js +41 -104
  25. package/dist/CallingClient/registration/webWorker.js.map +1 -1
  26. package/dist/CallingClient/registration/webWorker.test.js +39 -153
  27. package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
  28. package/dist/CallingClient/registration/webWorkerStr.js +1 -1
  29. package/dist/CallingClient/registration/webWorkerStr.js.map +1 -1
  30. package/dist/CallingClient/utils/constants.js +46 -0
  31. package/dist/CallingClient/utils/constants.js.map +1 -0
  32. package/dist/CallingClient/utils/index.js +63 -0
  33. package/dist/CallingClient/utils/index.js.map +1 -0
  34. package/dist/CallingClient/utils/mobiusSocketMapper.js +122 -0
  35. package/dist/CallingClient/utils/mobiusSocketMapper.js.map +1 -0
  36. package/dist/CallingClient/utils/mobiusSocketMapper.test.js +211 -0
  37. package/dist/CallingClient/utils/mobiusSocketMapper.test.js.map +1 -0
  38. package/dist/CallingClient/utils/request.js +349 -0
  39. package/dist/CallingClient/utils/request.js.map +1 -0
  40. package/dist/CallingClient/utils/request.test.js +881 -0
  41. package/dist/CallingClient/utils/request.test.js.map +1 -0
  42. package/dist/CallingClient/utils/types.js +7 -0
  43. package/dist/CallingClient/utils/types.js.map +1 -0
  44. package/dist/CallingClient/utils/wsFeatureFlag.js +28 -0
  45. package/dist/CallingClient/utils/wsFeatureFlag.js.map +1 -0
  46. package/dist/CallingClient/utils/wsFeatureFlag.test.js +139 -0
  47. package/dist/CallingClient/utils/wsFeatureFlag.test.js.map +1 -0
  48. package/dist/Contacts/ContactsClient.test.js +3 -8
  49. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  50. package/dist/Metrics/index.js +60 -0
  51. package/dist/Metrics/index.js.map +1 -1
  52. package/dist/Metrics/index.test.js +356 -0
  53. package/dist/Metrics/index.test.js.map +1 -1
  54. package/dist/Metrics/types.js +11 -1
  55. package/dist/Metrics/types.js.map +1 -1
  56. package/dist/SDKConnector/types.js.map +1 -1
  57. package/dist/common/Utils.js +136 -40
  58. package/dist/common/Utils.js.map +1 -1
  59. package/dist/common/testUtil.js +8 -4
  60. package/dist/common/testUtil.js.map +1 -1
  61. package/dist/common/types.js +2 -0
  62. package/dist/common/types.js.map +1 -1
  63. package/dist/mobius-socket/config.js +24 -0
  64. package/dist/mobius-socket/config.js.map +1 -0
  65. package/dist/mobius-socket/errors.js +150 -0
  66. package/dist/mobius-socket/errors.js.map +1 -0
  67. package/dist/mobius-socket/index.js +57 -0
  68. package/dist/mobius-socket/index.js.map +1 -0
  69. package/dist/mobius-socket/mobius-socket-events.test.js +485 -0
  70. package/dist/mobius-socket/mobius-socket-events.test.js.map +1 -0
  71. package/dist/mobius-socket/mobius-socket.js +804 -0
  72. package/dist/mobius-socket/mobius-socket.js.map +1 -0
  73. package/dist/mobius-socket/mobius-socket.test.js +1833 -0
  74. package/dist/mobius-socket/mobius-socket.test.js.map +1 -0
  75. package/dist/mobius-socket/socket/constants.js +34 -0
  76. package/dist/mobius-socket/socket/constants.js.map +1 -0
  77. package/dist/mobius-socket/socket/index.js +15 -0
  78. package/dist/mobius-socket/socket/index.js.map +1 -0
  79. package/dist/mobius-socket/socket/socket-base.js +604 -0
  80. package/dist/mobius-socket/socket/socket-base.js.map +1 -0
  81. package/dist/mobius-socket/socket/socket.js +19 -0
  82. package/dist/mobius-socket/socket/socket.js.map +1 -0
  83. package/dist/mobius-socket/socket/socket.shim.js +26 -0
  84. package/dist/mobius-socket/socket/socket.shim.js.map +1 -0
  85. package/dist/mobius-socket/socket/types.js +7 -0
  86. package/dist/mobius-socket/socket/types.js.map +1 -0
  87. package/dist/mobius-socket/socket.test.js +727 -0
  88. package/dist/mobius-socket/socket.test.js.map +1 -0
  89. package/dist/mobius-socket/test/mocha-helpers.js +23 -0
  90. package/dist/mobius-socket/test/mocha-helpers.js.map +1 -0
  91. package/dist/mobius-socket/test/promise-tick.js +28 -0
  92. package/dist/mobius-socket/test/promise-tick.js.map +1 -0
  93. package/dist/mobius-socket/types.js +7 -0
  94. package/dist/mobius-socket/types.js.map +1 -0
  95. package/dist/module/CallingClient/CallingClient.js +102 -5
  96. package/dist/module/CallingClient/calling/call.js +9 -6
  97. package/dist/module/CallingClient/calling/callManager.js +27 -7
  98. package/dist/module/CallingClient/calling/types.js +2 -0
  99. package/dist/module/CallingClient/constants.js +18 -0
  100. package/dist/module/CallingClient/registration/register.js +226 -62
  101. package/dist/module/CallingClient/registration/webWorker.js +42 -61
  102. package/dist/module/CallingClient/registration/webWorkerStr.js +47 -82
  103. package/dist/module/CallingClient/utils/constants.js +30 -0
  104. package/dist/module/CallingClient/utils/index.js +5 -0
  105. package/dist/module/CallingClient/utils/mobiusSocketMapper.js +72 -0
  106. package/dist/module/CallingClient/utils/request.js +162 -0
  107. package/dist/module/CallingClient/utils/types.js +1 -0
  108. package/dist/module/CallingClient/utils/wsFeatureFlag.js +12 -0
  109. package/dist/module/Metrics/index.js +46 -0
  110. package/dist/module/Metrics/types.js +10 -0
  111. package/dist/module/common/Utils.js +51 -8
  112. package/dist/module/common/testUtil.js +5 -1
  113. package/dist/module/common/types.js +2 -0
  114. package/dist/module/mobius-socket/config.js +15 -0
  115. package/dist/module/mobius-socket/errors.js +64 -0
  116. package/dist/module/mobius-socket/index.js +24 -0
  117. package/dist/module/mobius-socket/mobius-socket.js +571 -0
  118. package/dist/module/mobius-socket/socket/constants.js +10 -0
  119. package/dist/module/mobius-socket/socket/index.js +4 -0
  120. package/dist/module/mobius-socket/socket/socket-base.js +368 -0
  121. package/dist/module/mobius-socket/socket/socket.js +9 -0
  122. package/dist/module/mobius-socket/socket/socket.shim.js +12 -0
  123. package/dist/module/mobius-socket/socket/types.js +1 -0
  124. package/dist/module/mobius-socket/types.js +1 -0
  125. package/dist/types/CallingClient/CallingClient.d.ts +5 -0
  126. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  127. package/dist/types/CallingClient/calling/call.d.ts +1 -0
  128. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  129. package/dist/types/CallingClient/calling/callManager.d.ts +3 -2
  130. package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
  131. package/dist/types/CallingClient/calling/types.d.ts +21 -9
  132. package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
  133. package/dist/types/CallingClient/constants.d.ts +18 -0
  134. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  135. package/dist/types/CallingClient/registration/register.d.ts +6 -0
  136. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  137. package/dist/types/CallingClient/registration/types.d.ts +3 -1
  138. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  139. package/dist/types/CallingClient/registration/webWorker.d.ts.map +1 -1
  140. package/dist/types/CallingClient/registration/webWorkerStr.d.ts +1 -1
  141. package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -1
  142. package/dist/types/CallingClient/utils/constants.d.ts +30 -0
  143. package/dist/types/CallingClient/utils/constants.d.ts.map +1 -0
  144. package/dist/types/CallingClient/utils/index.d.ts +6 -0
  145. package/dist/types/CallingClient/utils/index.d.ts.map +1 -0
  146. package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts +5 -0
  147. package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts.map +1 -0
  148. package/dist/types/CallingClient/utils/request.d.ts +23 -0
  149. package/dist/types/CallingClient/utils/request.d.ts.map +1 -0
  150. package/dist/types/CallingClient/utils/types.d.ts +29 -0
  151. package/dist/types/CallingClient/utils/types.d.ts.map +1 -0
  152. package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts +4 -0
  153. package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts.map +1 -0
  154. package/dist/types/Metrics/index.d.ts.map +1 -1
  155. package/dist/types/Metrics/types.d.ts +11 -1
  156. package/dist/types/Metrics/types.d.ts.map +1 -1
  157. package/dist/types/SDKConnector/types.d.ts +24 -0
  158. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  159. package/dist/types/common/Utils.d.ts +8 -2
  160. package/dist/types/common/Utils.d.ts.map +1 -1
  161. package/dist/types/common/testUtil.d.ts +4 -1
  162. package/dist/types/common/testUtil.d.ts.map +1 -1
  163. package/dist/types/common/types.d.ts +3 -0
  164. package/dist/types/common/types.d.ts.map +1 -1
  165. package/dist/types/mobius-socket/config.d.ts +17 -0
  166. package/dist/types/mobius-socket/config.d.ts.map +1 -0
  167. package/dist/types/mobius-socket/errors.d.ts +32 -0
  168. package/dist/types/mobius-socket/errors.d.ts.map +1 -0
  169. package/dist/types/mobius-socket/index.d.ts +14 -0
  170. package/dist/types/mobius-socket/index.d.ts.map +1 -0
  171. package/dist/types/mobius-socket/mobius-socket.d.ts +48 -0
  172. package/dist/types/mobius-socket/mobius-socket.d.ts.map +1 -0
  173. package/dist/types/mobius-socket/socket/constants.d.ts +11 -0
  174. package/dist/types/mobius-socket/socket/constants.d.ts.map +1 -0
  175. package/dist/types/mobius-socket/socket/index.d.ts +5 -0
  176. package/dist/types/mobius-socket/socket/index.d.ts.map +1 -0
  177. package/dist/types/mobius-socket/socket/socket-base.d.ts +43 -0
  178. package/dist/types/mobius-socket/socket/socket-base.d.ts.map +1 -0
  179. package/dist/types/mobius-socket/socket/socket.d.ts +6 -0
  180. package/dist/types/mobius-socket/socket/socket.d.ts.map +1 -0
  181. package/dist/types/mobius-socket/socket/socket.shim.d.ts +6 -0
  182. package/dist/types/mobius-socket/socket/socket.shim.d.ts.map +1 -0
  183. package/dist/types/mobius-socket/socket/types.d.ts +61 -0
  184. package/dist/types/mobius-socket/socket/types.d.ts.map +1 -0
  185. package/dist/types/mobius-socket/types.d.ts +21 -0
  186. package/dist/types/mobius-socket/types.d.ts.map +1 -0
  187. package/package.json +16 -2
  188. package/src/mobius-socket/socket/socket.shim.ts +22 -0
  189. package/src/mobius-socket/socket/socket.ts +14 -0
@@ -35,14 +35,16 @@ var _SDKConnector = _interopRequireDefault(require("../SDKConnector"));
35
35
  var _impl = require("../Events/impl");
36
36
  var _types2 = require("../Events/types");
37
37
  var _types3 = require("../common/types");
38
+ var _types4 = require("./calling/types");
38
39
  var _Logger = _interopRequireDefault(require("../Logger"));
39
40
  var _callManager = require("./calling/callManager");
40
41
  var _constants2 = require("./constants");
41
42
  var _line = _interopRequireDefault(require("./line"));
42
- var _types4 = require("../Metrics/types");
43
+ var _types5 = require("../Metrics/types");
43
44
  var _Metrics = require("../Metrics");
44
45
  var _windowsChromiumIceWarmupUtils = _interopRequireDefault(require("./windowsChromiumIceWarmupUtils"));
45
- function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t9 in e) "default" !== _t9 && {}.hasOwnProperty.call(e, _t9) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t9)) && (i.get || i.set) ? o(f, _t9, i) : f[_t9] = e[_t9]); return f; })(e, t); }
46
+ var _request = require("./utils/request");
47
+ function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t11 in e) "default" !== _t11 && {}.hasOwnProperty.call(e, _t11) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t11)) && (i.get || i.set) ? o(f, _t11, i) : f[_t11] = e[_t11]); return f; })(e, t); }
46
48
  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; } } }; }
47
49
  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; } }
48
50
  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; }
@@ -76,10 +78,13 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
76
78
  (0, _defineProperty2.default)(_this, "serviceData", void 0);
77
79
  (0, _defineProperty2.default)(_this, "primaryMobiusUris", void 0);
78
80
  (0, _defineProperty2.default)(_this, "backupMobiusUris", void 0);
81
+ (0, _defineProperty2.default)(_this, "primaryWssMobiusUris", void 0);
82
+ (0, _defineProperty2.default)(_this, "backupWssMobiusUris", void 0);
79
83
  (0, _defineProperty2.default)(_this, "mobiusClusters", void 0);
80
84
  (0, _defineProperty2.default)(_this, "mobiusHost", void 0);
81
85
  (0, _defineProperty2.default)(_this, "mediaEngine", void 0);
82
86
  (0, _defineProperty2.default)(_this, "lineDict", {});
87
+ (0, _defineProperty2.default)(_this, "apiRequest", void 0);
83
88
  (0, _defineProperty2.default)(_this, "isNetworkDown", false);
84
89
  (0, _defineProperty2.default)(_this, "networkDownTimestamp", '');
85
90
  (0, _defineProperty2.default)(_this, "networkUpTimestamp", '');
@@ -123,7 +128,7 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
123
128
  method: _constants2.METHODS.MERCURY_OFFLINE
124
129
  });
125
130
  _this.mercuryDownTimestamp = new Date().toISOString();
126
- _this.metricManager.submitConnectionMetrics(_types4.METRIC_EVENT.CONNECTION_ERROR, _types4.CONNECTION_ACTION.MERCURY_DOWN, _types4.METRIC_TYPE.BEHAVIORAL, _this.mercuryDownTimestamp, _this.mercuryUpTimestamp);
131
+ _this.metricManager.submitConnectionMetrics(_types5.METRIC_EVENT.CONNECTION_ERROR, _types5.CONNECTION_ACTION.MERCURY_DOWN, _types5.METRIC_TYPE.BEHAVIORAL, _this.mercuryDownTimestamp, _this.mercuryUpTimestamp);
127
132
  });
128
133
  (0, _defineProperty2.default)(_this, "handleMercuryOnline", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
129
134
  var callCheckInterval;
@@ -175,7 +180,7 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
175
180
  _context3.next = 1;
176
181
  return _this.checkCallStatus();
177
182
  case 1:
178
- _this.metricManager.submitConnectionMetrics(_types4.METRIC_EVENT.CONNECTION_ERROR, _types4.CONNECTION_ACTION.NETWORK_FLAP, _types4.METRIC_TYPE.BEHAVIORAL, _this.networkDownTimestamp, _this.networkUpTimestamp);
183
+ _this.metricManager.submitConnectionMetrics(_types5.METRIC_EVENT.CONNECTION_ERROR, _types5.CONNECTION_ACTION.NETWORK_FLAP, _types5.METRIC_TYPE.BEHAVIORAL, _this.networkDownTimestamp, _this.networkUpTimestamp);
179
184
  _context3.next = 4;
180
185
  break;
181
186
  case 2:
@@ -186,13 +191,63 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
186
191
  _context3.next = 3;
187
192
  return _this.checkCallStatus();
188
193
  case 3:
189
- _this.metricManager.submitConnectionMetrics(_types4.METRIC_EVENT.CONNECTION_ERROR, _types4.CONNECTION_ACTION.MERCURY_UP, _types4.METRIC_TYPE.BEHAVIORAL, _this.mercuryDownTimestamp, _this.mercuryUpTimestamp);
194
+ _this.metricManager.submitConnectionMetrics(_types5.METRIC_EVENT.CONNECTION_ERROR, _types5.CONNECTION_ACTION.MERCURY_UP, _types5.METRIC_TYPE.BEHAVIORAL, _this.mercuryDownTimestamp, _this.mercuryUpTimestamp);
190
195
  case 4:
191
196
  case "end":
192
197
  return _context3.stop();
193
198
  }
194
199
  }, _callee3);
195
200
  })));
201
+ (0, _defineProperty2.default)(_this, "handleMobiusAsyncEvent", /*#__PURE__*/function () {
202
+ var _ref4 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4(event) {
203
+ var loggerContext, eventType, line;
204
+ return _regenerator.default.wrap(function (_context4) {
205
+ while (1) switch (_context4.prev = _context4.next) {
206
+ case 0:
207
+ loggerContext = {
208
+ file: _constants2.CALLING_CLIENT_FILE,
209
+ method: _constants2.METHODS.HANDLE_MOBIUS_ASYNC_EVENT
210
+ };
211
+ eventType = event === null || event === void 0 ? void 0 : event.data.eventType;
212
+ _Logger.default.trace("Mobius async event received - eventType: ".concat(eventType !== null && eventType !== void 0 ? eventType : 'undefined'), loggerContext);
213
+ if (eventType) {
214
+ _context4.next = 1;
215
+ break;
216
+ }
217
+ _Logger.default.warn('Dropping unsupported mobius socket payload', loggerContext);
218
+ return _context4.abrupt("return");
219
+ case 1:
220
+ if (!(eventType === _types4.MobiusEventType.REGISTRATION_DOWN)) {
221
+ _context4.next = 4;
222
+ break;
223
+ }
224
+ _Logger.default.warn("Received ".concat(eventType, " event from Mobius."), loggerContext);
225
+ line = (0, _values.default)(_this.lineDict)[0];
226
+ if (line) {
227
+ _context4.next = 2;
228
+ break;
229
+ }
230
+ _Logger.default.warn('No line found, skipping registration down event', loggerContext);
231
+ return _context4.abrupt("return");
232
+ case 2:
233
+ _context4.next = 3;
234
+ return line.registration.handleRegistrationDownEvent(event);
235
+ case 3:
236
+ _this.metricManager.submitMobiusSocketMetric(_types5.METRIC_EVENT.MOBIUS_SOCKET_ERROR, _types5.MOBIUS_SOCKET_ACTION.REGISTRATION_DOWN, _types5.METRIC_TYPE.BEHAVIORAL, undefined, event === null || event === void 0 ? void 0 : event.trackingId, undefined, eventType);
237
+ return _context4.abrupt("return");
238
+ case 4:
239
+ _this.callManager.dequeueWsEvents(event);
240
+ _Logger.default.trace("Mobius async event dispatched to CallManager - eventType: ".concat(eventType), loggerContext);
241
+ case 5:
242
+ case "end":
243
+ return _context4.stop();
244
+ }
245
+ }, _callee4);
246
+ }));
247
+ return function (_x) {
248
+ return _ref4.apply(this, arguments);
249
+ };
250
+ }());
196
251
  /**
197
252
  * Handler registered for ALL_CALLS_CLEARED event emitted by callManager.
198
253
  *
@@ -200,10 +255,10 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
200
255
  * will be attempted here on receiving a notification from callManager that all
201
256
  * calls are cleaned up.
202
257
  */
203
- (0, _defineProperty2.default)(_this, "callsClearedHandler", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
258
+ (0, _defineProperty2.default)(_this, "callsClearedHandler", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6() {
204
259
  var registration;
205
- return _regenerator.default.wrap(function (_context5) {
206
- while (1) switch (_context5.prev = _context5.next) {
260
+ return _regenerator.default.wrap(function (_context6) {
261
+ while (1) switch (_context6.prev = _context6.next) {
207
262
  case 0:
208
263
  _Logger.default.info(_constants.METHOD_START_MESSAGE, {
209
264
  file: _constants2.CALLING_CLIENT_FILE,
@@ -213,35 +268,35 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
213
268
  // it will change once we have proper lineId and multiple lines as well
214
269
  registration = (0, _values.default)(_this.lineDict)[0].registration;
215
270
  if (registration.isDeviceRegistered()) {
216
- _context5.next = 1;
271
+ _context6.next = 1;
217
272
  break;
218
273
  }
219
- _context5.next = 1;
220
- return _this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
221
- return _regenerator.default.wrap(function (_context4) {
222
- while (1) switch (_context4.prev = _context4.next) {
274
+ _context6.next = 1;
275
+ return _this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
276
+ return _regenerator.default.wrap(function (_context5) {
277
+ while (1) switch (_context5.prev = _context5.next) {
223
278
  case 0:
224
279
  if (!registration.isReconnectPending()) {
225
- _context4.next = 1;
280
+ _context5.next = 1;
226
281
  break;
227
282
  }
228
283
  _Logger.default.info('All calls cleared, reconnecting', {
229
284
  file: _constants2.CALLING_CLIENT_FILE,
230
285
  method: _constants2.CALLS_CLEARED_HANDLER_UTIL
231
286
  });
232
- _context4.next = 1;
287
+ _context5.next = 1;
233
288
  return registration.reconnectOnFailure(_constants2.CALLS_CLEARED_HANDLER_UTIL);
234
289
  case 1:
235
290
  case "end":
236
- return _context4.stop();
291
+ return _context5.stop();
237
292
  }
238
- }, _callee4);
293
+ }, _callee5);
239
294
  })));
240
295
  case 1:
241
296
  case "end":
242
- return _context5.stop();
297
+ return _context6.stop();
243
298
  }
244
- }, _callee5);
299
+ }, _callee6);
245
300
  })));
246
301
  _this.sdkConnector = _SDKConnector.default;
247
302
  if (!_this.sdkConnector.getWebex()) {
@@ -306,8 +361,13 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
306
361
  _this.mediaEngine.setLogger(adaptedLogger);
307
362
  _this.primaryMobiusUris = [];
308
363
  _this.backupMobiusUris = [];
364
+ _this.primaryWssMobiusUris = [];
365
+ _this.backupWssMobiusUris = [];
309
366
  _this.mobiusClusters = _this.webex.internal.services.getMobiusClusters();
310
367
  _this.mobiusHost = '';
368
+ _this.apiRequest = _request.APIRequest.getInstance({
369
+ webex: _this.webex
370
+ });
311
371
  _this.registerSessionsListener();
312
372
  _this.registerCallsClearedListener();
313
373
  return _this;
@@ -329,27 +389,34 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
329
389
  return (0, _createClass2.default)(CallingClient, [{
330
390
  key: "init",
331
391
  value: (function () {
332
- var _init = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6() {
392
+ var _init = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7() {
333
393
  var _window, _window$navigator;
334
- var ua, _this$sdkConfig3, rtmsDomain, _t;
335
- return _regenerator.default.wrap(function (_context6) {
336
- while (1) switch (_context6.prev = _context6.next) {
394
+ var loggerContext, ua, _this$sdkConfig3, rtmsDomain, _t;
395
+ return _regenerator.default.wrap(function (_context7) {
396
+ while (1) switch (_context7.prev = _context7.next) {
337
397
  case 0:
398
+ loggerContext = {
399
+ file: _constants2.CALLING_CLIENT_FILE,
400
+ method: _constants2.METHODS.INIT
401
+ };
402
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
403
+
404
+ // Only for Windows Chromium based browsers we need to do the ICE warmup
338
405
  if (!(typeof window !== 'undefined' && (_window = window) !== null && _window !== void 0 && (_window$navigator = _window.navigator) !== null && _window$navigator !== void 0 && _window$navigator.userAgent)) {
339
- _context6.next = 4;
406
+ _context7.next = 4;
340
407
  break;
341
408
  }
342
409
  ua = window.navigator.userAgent;
343
410
  if (!ua.toLowerCase().includes('windows')) {
344
- _context6.next = 4;
411
+ _context7.next = 4;
345
412
  break;
346
413
  }
347
414
  _Logger.default.info('Starting ICE warmup for Windows Chromium based browser', {
348
415
  file: _constants2.CALLING_CLIENT_FILE,
349
416
  method: 'init'
350
417
  });
351
- _context6.prev = 1;
352
- _context6.next = 2;
418
+ _context7.prev = 1;
419
+ _context7.next = 2;
353
420
  return (0, _windowsChromiumIceWarmupUtils.default)({
354
421
  iceServers: [],
355
422
  timeoutMs: 1000
@@ -359,19 +426,28 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
359
426
  file: _constants2.CALLING_CLIENT_FILE,
360
427
  method: 'init'
361
428
  });
362
- _context6.next = 4;
429
+ _context7.next = 4;
363
430
  break;
364
431
  case 3:
365
- _context6.prev = 3;
366
- _t = _context6["catch"](1);
432
+ _context7.prev = 3;
433
+ _t = _context7["catch"](1);
367
434
  _Logger.default.warn("ICE warmup failed: ".concat(_t), {
368
435
  file: _constants2.CALLING_CLIENT_FILE,
369
436
  method: 'init'
370
437
  });
371
438
  case 4:
372
- _context6.next = 5;
439
+ _context7.next = 5;
373
440
  return this.getMobiusServers();
374
441
  case 5:
442
+ if (!this.apiRequest.isSocketEnabled()) {
443
+ _context7.next = 7;
444
+ break;
445
+ }
446
+ _context7.next = 6;
447
+ return this.connectToMobiusSocket();
448
+ case 6:
449
+ this.apiRequest.registerMobiusSocketListener(this.handleMobiusAsyncEvent);
450
+ case 7:
375
451
  // Auto-fetch RTMS domain from service catalog for contact-center flows
376
452
  if (this.serviceData.indicator === _types3.ServiceIndicator.CONTACT_CENTER && !this.serviceData.domain) {
377
453
  rtmsDomain = this.getRTMSDomain();
@@ -381,20 +457,21 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
381
457
  }
382
458
  }
383
459
  if ((0, _Utils.isValidServiceDomain)(this.serviceData)) {
384
- _context6.next = 6;
460
+ _context7.next = 8;
385
461
  break;
386
462
  }
387
463
  throw new Error('Invalid service domain.');
388
- case 6:
389
- _context6.next = 7;
464
+ case 8:
465
+ _context7.next = 9;
390
466
  return this.createLine();
391
- case 7:
467
+ case 9:
392
468
  this.setupNetworkEventListeners();
393
- case 8:
469
+ _Logger.default.log('CallingClient initialization complete', loggerContext);
470
+ case 10:
394
471
  case "end":
395
- return _context6.stop();
472
+ return _context7.stop();
396
473
  }
397
- }, _callee6, this, [[1, 3]]);
474
+ }, _callee7, this, [[1, 3]]);
398
475
  }));
399
476
  function init() {
400
477
  return _init.apply(this, arguments);
@@ -437,18 +514,18 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
437
514
  }, {
438
515
  key: "checkNetworkReachability",
439
516
  value: (function () {
440
- var _checkNetworkReachability = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7() {
517
+ var _checkNetworkReachability = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8() {
441
518
  var controller, timeoutId, _t2;
442
- return _regenerator.default.wrap(function (_context7) {
443
- while (1) switch (_context7.prev = _context7.next) {
519
+ return _regenerator.default.wrap(function (_context8) {
520
+ while (1) switch (_context8.prev = _context8.next) {
444
521
  case 0:
445
- _context7.prev = 0;
522
+ _context8.prev = 0;
446
523
  controller = new AbortController();
447
524
  timeoutId = setTimeout(function () {
448
525
  return controller.abort();
449
526
  }, 3000); // Using a common connectivity check endpoint that returns 204 with minimal payload.
450
527
  // no-cors mode yields an opaque response but a successful fetch implies reachability.
451
- _context7.next = 1;
528
+ _context8.next = 1;
452
529
  return fetch('https://www.google.com/generate_204', {
453
530
  method: 'GET',
454
531
  cache: 'no-cache',
@@ -457,20 +534,20 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
457
534
  });
458
535
  case 1:
459
536
  clearTimeout(timeoutId);
460
- return _context7.abrupt("return", true);
537
+ return _context8.abrupt("return", true);
461
538
  case 2:
462
- _context7.prev = 2;
463
- _t2 = _context7["catch"](0);
539
+ _context8.prev = 2;
540
+ _t2 = _context8["catch"](0);
464
541
  _Logger.default.warn("Network connectivity probe failed: ".concat(_t2), {
465
542
  file: _constants2.CALLING_CLIENT_FILE,
466
543
  method: 'pingExternal'
467
544
  });
468
- return _context7.abrupt("return", false);
545
+ return _context8.abrupt("return", false);
469
546
  case 3:
470
547
  case "end":
471
- return _context7.stop();
548
+ return _context8.stop();
472
549
  }
473
- }, _callee7, null, [[0, 2]]);
550
+ }, _callee8, null, [[0, 2]]);
474
551
  }));
475
552
  function checkNetworkReachability() {
476
553
  return _checkNetworkReachability.apply(this, arguments);
@@ -480,10 +557,10 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
480
557
  }, {
481
558
  key: "checkCallStatus",
482
559
  value: function () {
483
- var _checkCallStatus = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8() {
560
+ var _checkCallStatus = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9() {
484
561
  var loggerContext, calls, _iterator, _step, _loop, _t3;
485
- return _regenerator.default.wrap(function (_context9) {
486
- while (1) switch (_context9.prev = _context9.next) {
562
+ return _regenerator.default.wrap(function (_context0) {
563
+ while (1) switch (_context0.prev = _context0.next) {
487
564
  case 0:
488
565
  loggerContext = {
489
566
  file: _constants2.CALLING_CLIENT_FILE,
@@ -491,11 +568,11 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
491
568
  };
492
569
  calls = (0, _values.default)(this.callManager.getActiveCalls());
493
570
  _iterator = _createForOfIteratorHelper(calls);
494
- _context9.prev = 1;
571
+ _context0.prev = 1;
495
572
  _loop = /*#__PURE__*/_regenerator.default.mark(function _loop() {
496
573
  var call;
497
- return _regenerator.default.wrap(function (_context8) {
498
- while (1) switch (_context8.prev = _context8.next) {
574
+ return _regenerator.default.wrap(function (_context9) {
575
+ while (1) switch (_context9.prev = _context9.next) {
499
576
  case 0:
500
577
  call = _step.value;
501
578
  call.postStatus().then(function () {
@@ -512,36 +589,36 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
512
589
  });
513
590
  case 1:
514
591
  case "end":
515
- return _context8.stop();
592
+ return _context9.stop();
516
593
  }
517
594
  }, _loop);
518
595
  });
519
596
  _iterator.s();
520
597
  case 2:
521
598
  if ((_step = _iterator.n()).done) {
522
- _context9.next = 4;
599
+ _context0.next = 4;
523
600
  break;
524
601
  }
525
- return _context9.delegateYield(_loop(), "t0", 3);
602
+ return _context0.delegateYield(_loop(), "t0", 3);
526
603
  case 3:
527
- _context9.next = 2;
604
+ _context0.next = 2;
528
605
  break;
529
606
  case 4:
530
- _context9.next = 6;
607
+ _context0.next = 6;
531
608
  break;
532
609
  case 5:
533
- _context9.prev = 5;
534
- _t3 = _context9["catch"](1);
610
+ _context0.prev = 5;
611
+ _t3 = _context0["catch"](1);
535
612
  _iterator.e(_t3);
536
613
  case 6:
537
- _context9.prev = 6;
614
+ _context0.prev = 6;
538
615
  _iterator.f();
539
- return _context9.finish(6);
616
+ return _context0.finish(6);
540
617
  case 7:
541
618
  case "end":
542
- return _context9.stop();
619
+ return _context0.stop();
543
620
  }
544
- }, _callee8, this, [[1, 5, 6, 7]]);
621
+ }, _callee9, this, [[1, 5, 6, 7]]);
545
622
  }));
546
623
  function checkCallStatus() {
547
624
  return _checkCallStatus.apply(this, arguments);
@@ -570,19 +647,19 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
570
647
  }, {
571
648
  key: "getClientRegionInfo",
572
649
  value: (function () {
573
- var _getClientRegionInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9() {
650
+ var _getClientRegionInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0() {
574
651
  var _this3 = this;
575
652
  var abort, regionInfo, _response$headers, _response$headers$tra, _response$headers2, response, clientRegionInfo, _t4;
576
- return _regenerator.default.wrap(function (_context0) {
577
- while (1) switch (_context0.prev = _context0.next) {
653
+ return _regenerator.default.wrap(function (_context1) {
654
+ while (1) switch (_context1.prev = _context1.next) {
578
655
  case 0:
579
656
  _Logger.default.info(_constants.METHOD_START_MESSAGE, {
580
657
  file: _constants2.CALLING_CLIENT_FILE,
581
658
  method: _constants2.METHODS.GET_CLIENT_REGION_INFO
582
659
  });
583
660
  regionInfo = {};
584
- _context0.prev = 1;
585
- _context0.next = 2;
661
+ _context1.prev = 1;
662
+ _context1.next = 2;
586
663
  return this.webex.request({
587
664
  uri: "".concat(_constants2.DISCOVERY_URL),
588
665
  method: _types3.HTTP_METHODS.GET,
@@ -590,7 +667,7 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
590
667
  headers: (0, _defineProperty2.default)({}, _constants2.SPARK_USER_AGENT, null)
591
668
  });
592
669
  case 2:
593
- response = _context0.sent;
670
+ response = _context1.sent;
594
671
  clientRegionInfo = response.body;
595
672
  regionInfo.clientRegion = (clientRegionInfo === null || clientRegionInfo === void 0 ? void 0 : clientRegionInfo.clientRegion) || '';
596
673
  regionInfo.countryCode = (clientRegionInfo === null || clientRegionInfo === void 0 ? void 0 : clientRegionInfo.countryCode) || '';
@@ -598,46 +675,46 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
598
675
  file: _constants2.CALLING_CLIENT_FILE,
599
676
  method: _constants2.METHODS.GET_CLIENT_REGION_INFO
600
677
  });
601
- this.metricManager.submitRegionInfoMetric(_types4.METRIC_EVENT.MOBIUS_DISCOVERY, _types4.MOBIUS_SERVER_ACTION.REGION_INFO, _types4.METRIC_TYPE.BEHAVIORAL, this.mobiusHost, clientRegionInfo.clientRegion, clientRegionInfo.countryCode, (_response$headers$tra = response === null || response === void 0 ? void 0 : (_response$headers2 = response.headers) === null || _response$headers2 === void 0 ? void 0 : _response$headers2.trackingid) !== null && _response$headers$tra !== void 0 ? _response$headers$tra : '');
602
- _context0.next = 6;
678
+ this.metricManager.submitRegionInfoMetric(_types5.METRIC_EVENT.MOBIUS_DISCOVERY, _types5.MOBIUS_SERVER_ACTION.REGION_INFO, _types5.METRIC_TYPE.BEHAVIORAL, this.mobiusHost, clientRegionInfo.clientRegion, clientRegionInfo.countryCode, (_response$headers$tra = response === null || response === void 0 ? void 0 : (_response$headers2 = response.headers) === null || _response$headers2 === void 0 ? void 0 : _response$headers2.trackingid) !== null && _response$headers$tra !== void 0 ? _response$headers$tra : '');
679
+ _context1.next = 6;
603
680
  break;
604
681
  case 3:
605
- _context0.prev = 3;
606
- _t4 = _context0["catch"](1);
682
+ _context1.prev = 3;
683
+ _t4 = _context1["catch"](1);
607
684
  _Logger.default.error("Failed to get client region info: ".concat((0, _stringify.default)(_t4)), {
608
685
  method: _constants2.METHODS.GET_CLIENT_REGION_INFO,
609
686
  file: _constants2.CALLING_CLIENT_FILE
610
687
  });
611
688
 
612
689
  // eslint-disable-next-line no-await-in-loop
613
- _context0.next = 4;
690
+ _context1.next = 4;
614
691
  return (0, _Utils.handleCallingClientErrors)(_t4, function (clientError) {
615
692
  var _headers$trackingId, _headers2;
616
- _this3.metricManager.submitRegistrationMetric(_types4.METRIC_EVENT.REGISTRATION_ERROR, _types4.REG_ACTION.REGISTER, _types4.METRIC_TYPE.BEHAVIORAL, _constants2.GET_MOBIUS_SERVERS_UTIL, 'UNKNOWN', (_headers$trackingId = (_headers2 = _t4.headers) === null || _headers2 === void 0 ? void 0 : _headers2.trackingId) !== null && _headers$trackingId !== void 0 ? _headers$trackingId : '', undefined, clientError);
693
+ _this3.metricManager.submitRegistrationMetric(_types5.METRIC_EVENT.REGISTRATION_ERROR, _types5.REG_ACTION.REGISTER, _types5.METRIC_TYPE.BEHAVIORAL, _constants2.GET_MOBIUS_SERVERS_UTIL, 'UNKNOWN', (_headers$trackingId = (_headers2 = _t4.headers) === null || _headers2 === void 0 ? void 0 : _headers2.trackingId) !== null && _headers$trackingId !== void 0 ? _headers$trackingId : '', undefined, clientError);
617
694
  _this3.emit(_types2.CALLING_CLIENT_EVENT_KEYS.ERROR, clientError);
618
695
  }, {
619
696
  method: _constants2.GET_MOBIUS_SERVERS_UTIL,
620
697
  file: _constants2.CALLING_CLIENT_FILE
621
698
  });
622
699
  case 4:
623
- abort = _context0.sent;
700
+ abort = _context1.sent;
624
701
  regionInfo.clientRegion = '';
625
702
  regionInfo.countryCode = '';
626
703
  if (!abort) {
627
- _context0.next = 6;
704
+ _context1.next = 6;
628
705
  break;
629
706
  }
630
- _context0.next = 5;
707
+ _context1.next = 5;
631
708
  return (0, _Utils.uploadLogs)();
632
709
  case 5:
633
- return _context0.abrupt("return", regionInfo);
710
+ return _context1.abrupt("return", regionInfo);
634
711
  case 6:
635
- return _context0.abrupt("return", regionInfo);
712
+ return _context1.abrupt("return", regionInfo);
636
713
  case 7:
637
714
  case "end":
638
- return _context0.stop();
715
+ return _context1.stop();
639
716
  }
640
- }, _callee9, this, [[1, 3]]);
717
+ }, _callee0, this, [[1, 3]]);
641
718
  }));
642
719
  function getClientRegionInfo() {
643
720
  return _getClientRegionInfo.apply(this, arguments);
@@ -651,15 +728,15 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
651
728
  }, {
652
729
  key: "getMobiusServers",
653
730
  value: (function () {
654
- var _getMobiusServers = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0() {
731
+ var _getMobiusServers = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1() {
655
732
  var _this$sdkConfig4,
656
733
  _this$sdkConfig4$disc,
657
734
  _this$sdkConfig5,
658
735
  _this$sdkConfig5$disc,
659
736
  _this4 = this;
660
737
  var useDefault, clientRegion, countryCode, _this$sdkConfig6, _this$sdkConfig6$disc, _this$sdkConfig7, _this$sdkConfig7$disc, _this$webex$internal$, regionInfo, _iterator2, _step2, _loop2, _ret, _t6;
661
- return _regenerator.default.wrap(function (_context10) {
662
- while (1) switch (_context10.prev = _context10.next) {
738
+ return _regenerator.default.wrap(function (_context11) {
739
+ while (1) switch (_context11.prev = _context11.next) {
663
740
  case 0:
664
741
  _Logger.default.info(_constants.METHOD_START_MESSAGE, {
665
742
  file: _constants2.CALLING_CLIENT_FILE,
@@ -674,7 +751,7 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
674
751
  */
675
752
  useDefault = false;
676
753
  if (!((_this$sdkConfig4 = this.sdkConfig) !== null && _this$sdkConfig4 !== void 0 && (_this$sdkConfig4$disc = _this$sdkConfig4.discovery) !== null && _this$sdkConfig4$disc !== void 0 && _this$sdkConfig4$disc.country && (_this$sdkConfig5 = this.sdkConfig) !== null && _this$sdkConfig5 !== void 0 && (_this$sdkConfig5$disc = _this$sdkConfig5.discovery) !== null && _this$sdkConfig5$disc !== void 0 && _this$sdkConfig5$disc.region)) {
677
- _context10.next = 1;
754
+ _context11.next = 1;
678
755
  break;
679
756
  }
680
757
  _Logger.default.log('Updating region and country from the SDK config', {
@@ -684,22 +761,22 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
684
761
  clientRegion = (_this$sdkConfig6 = this.sdkConfig) === null || _this$sdkConfig6 === void 0 ? void 0 : (_this$sdkConfig6$disc = _this$sdkConfig6.discovery) === null || _this$sdkConfig6$disc === void 0 ? void 0 : _this$sdkConfig6$disc.region;
685
762
  countryCode = (_this$sdkConfig7 = this.sdkConfig) === null || _this$sdkConfig7 === void 0 ? void 0 : (_this$sdkConfig7$disc = _this$sdkConfig7.discovery) === null || _this$sdkConfig7$disc === void 0 ? void 0 : _this$sdkConfig7$disc.country;
686
763
  this.mobiusHost = ((_this$webex$internal$ = this.webex.internal.services._serviceUrls) === null || _this$webex$internal$ === void 0 ? void 0 : _this$webex$internal$.mobius) || this.webex.internal.services.get(this.webex.internal.services._activeServices.mobius);
687
- _context10.next = 3;
764
+ _context11.next = 3;
688
765
  break;
689
766
  case 1:
690
767
  _Logger.default.log('Updating region and country through Region discovery', {
691
768
  file: _constants2.CALLING_CLIENT_FILE,
692
769
  method: _constants2.GET_MOBIUS_SERVERS_UTIL
693
770
  });
694
- _context10.next = 2;
771
+ _context11.next = 2;
695
772
  return this.getClientRegionInfo();
696
773
  case 2:
697
- regionInfo = _context10.sent;
774
+ regionInfo = _context11.sent;
698
775
  clientRegion = regionInfo.clientRegion;
699
776
  countryCode = regionInfo.countryCode;
700
777
  case 3:
701
778
  if (!(clientRegion && countryCode)) {
702
- _context10.next = 12;
779
+ _context11.next = 12;
703
780
  break;
704
781
  }
705
782
  _Logger.default.log("Found Region: ".concat(clientRegion, " and country: ").concat(countryCode, ", going to fetch Mobius server"), {
@@ -707,11 +784,11 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
707
784
  method: _constants2.GET_MOBIUS_SERVERS_UTIL
708
785
  });
709
786
  _iterator2 = _createForOfIteratorHelper(this.mobiusClusters);
710
- _context10.prev = 4;
787
+ _context11.prev = 4;
711
788
  _loop2 = /*#__PURE__*/_regenerator.default.mark(function _loop2() {
712
789
  var mobius, _response$headers3, _response$headers$tra2, _response$headers4, response, mobiusServers, mobiusUris, abort, _t5;
713
- return _regenerator.default.wrap(function (_context1) {
714
- while (1) switch (_context1.prev = _context1.next) {
790
+ return _regenerator.default.wrap(function (_context10) {
791
+ while (1) switch (_context10.prev = _context10.next) {
715
792
  case 0:
716
793
  mobius = _step2.value;
717
794
  if (mobius.host) {
@@ -719,8 +796,8 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
719
796
  } else {
720
797
  _this4.mobiusHost = mobius;
721
798
  }
722
- _context1.prev = 1;
723
- _context1.next = 2;
799
+ _context10.prev = 1;
800
+ _context10.next = 2;
724
801
  return _this4.webex.request({
725
802
  uri: "".concat(_this4.mobiusHost).concat(_constants2.URL_ENDPOINT, "?regionCode=").concat(clientRegion, "&countryCode=").concat(countryCode),
726
803
  method: _types3.HTTP_METHODS.GET,
@@ -728,89 +805,91 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
728
805
  service: _types3.ALLOWED_SERVICES.MOBIUS
729
806
  });
730
807
  case 2:
731
- response = _context1.sent;
808
+ response = _context10.sent;
732
809
  _Logger.default.log("Mobius Server found for the region. Response trackingId: ".concat(response === null || response === void 0 ? void 0 : (_response$headers3 = response.headers) === null || _response$headers3 === void 0 ? void 0 : _response$headers3.trackingid), {
733
810
  file: _constants2.CALLING_CLIENT_FILE,
734
811
  method: _constants2.GET_MOBIUS_SERVERS_UTIL
735
812
  });
736
813
  mobiusServers = response.body; // Metrics for mobius servers
737
- _this4.metricManager.submitMobiusServersMetric(_types4.METRIC_EVENT.MOBIUS_DISCOVERY, _types4.MOBIUS_SERVER_ACTION.MOBIUS_SERVERS, _types4.METRIC_TYPE.BEHAVIORAL, mobiusServers, (_response$headers$tra2 = response === null || response === void 0 ? void 0 : (_response$headers4 = response.headers) === null || _response$headers4 === void 0 ? void 0 : _response$headers4.trackingid) !== null && _response$headers$tra2 !== void 0 ? _response$headers$tra2 : '');
814
+ _this4.metricManager.submitMobiusServersMetric(_types5.METRIC_EVENT.MOBIUS_DISCOVERY, _types5.MOBIUS_SERVER_ACTION.MOBIUS_SERVERS, _types5.METRIC_TYPE.BEHAVIORAL, mobiusServers, (_response$headers$tra2 = response === null || response === void 0 ? void 0 : (_response$headers4 = response.headers) === null || _response$headers4 === void 0 ? void 0 : _response$headers4.trackingid) !== null && _response$headers$tra2 !== void 0 ? _response$headers$tra2 : '');
738
815
 
739
816
  /* update arrays of Mobius Uris. */
740
817
  mobiusUris = (0, _Utils.filterMobiusUris)(mobiusServers, _this4.mobiusHost);
741
818
  _this4.primaryMobiusUris = mobiusUris.primary;
742
819
  _this4.backupMobiusUris = mobiusUris.backup;
820
+ _this4.primaryWssMobiusUris = mobiusUris.primaryWss;
821
+ _this4.backupWssMobiusUris = mobiusUris.backupWss;
743
822
  _Logger.default.log("Final list of Mobius Servers, primary: ".concat(mobiusUris.primary, " and backup: ").concat(mobiusUris.backup), {
744
823
  file: _constants2.CALLING_CLIENT_FILE,
745
824
  method: _constants2.GET_MOBIUS_SERVERS_UTIL
746
825
  });
747
- return _context1.abrupt("return", 0);
826
+ return _context10.abrupt("return", 0);
748
827
  case 3:
749
- _context1.prev = 3;
750
- _t5 = _context1["catch"](1);
828
+ _context10.prev = 3;
829
+ _t5 = _context10["catch"](1);
751
830
  _Logger.default.error("Failed to get Mobius servers: ".concat((0, _stringify.default)(_t5)), {
752
831
  method: _constants2.METHODS.GET_MOBIUS_SERVERS,
753
832
  file: _constants2.CALLING_CLIENT_FILE
754
833
  });
755
834
 
756
835
  // eslint-disable-next-line no-await-in-loop
757
- _context1.next = 4;
836
+ _context10.next = 4;
758
837
  return (0, _Utils.handleCallingClientErrors)(_t5, function (clientError) {
759
838
  var _headers$trackingId2, _headers4;
760
- _this4.metricManager.submitRegistrationMetric(_types4.METRIC_EVENT.REGISTRATION_ERROR, _types4.REG_ACTION.REGISTER, _types4.METRIC_TYPE.BEHAVIORAL, _constants2.GET_MOBIUS_SERVERS_UTIL, 'UNKNOWN', (_headers$trackingId2 = (_headers4 = _t5.headers) === null || _headers4 === void 0 ? void 0 : _headers4.trackingId) !== null && _headers$trackingId2 !== void 0 ? _headers$trackingId2 : '', undefined, clientError);
839
+ _this4.metricManager.submitRegistrationMetric(_types5.METRIC_EVENT.REGISTRATION_ERROR, _types5.REG_ACTION.REGISTER, _types5.METRIC_TYPE.BEHAVIORAL, _constants2.GET_MOBIUS_SERVERS_UTIL, 'UNKNOWN', (_headers$trackingId2 = (_headers4 = _t5.headers) === null || _headers4 === void 0 ? void 0 : _headers4.trackingId) !== null && _headers$trackingId2 !== void 0 ? _headers$trackingId2 : '', undefined, clientError);
761
840
  _this4.emit(_types2.CALLING_CLIENT_EVENT_KEYS.ERROR, clientError);
762
841
  }, {
763
842
  method: _constants2.GET_MOBIUS_SERVERS_UTIL,
764
843
  file: _constants2.CALLING_CLIENT_FILE
765
844
  });
766
845
  case 4:
767
- abort = _context1.sent;
846
+ abort = _context10.sent;
768
847
  if (!abort) {
769
- _context1.next = 6;
848
+ _context10.next = 6;
770
849
  break;
771
850
  }
772
851
  useDefault = true;
773
852
  // eslint-disable-next-line no-await-in-loop
774
- _context1.next = 5;
853
+ _context10.next = 5;
775
854
  return (0, _Utils.uploadLogs)();
776
855
  case 5:
777
- return _context1.abrupt("return", 0);
856
+ return _context10.abrupt("return", 0);
778
857
  case 6:
779
858
  case "end":
780
- return _context1.stop();
859
+ return _context10.stop();
781
860
  }
782
861
  }, _loop2, null, [[1, 3]]);
783
862
  });
784
863
  _iterator2.s();
785
864
  case 5:
786
865
  if ((_step2 = _iterator2.n()).done) {
787
- _context10.next = 8;
866
+ _context11.next = 8;
788
867
  break;
789
868
  }
790
- return _context10.delegateYield(_loop2(), "t0", 6);
869
+ return _context11.delegateYield(_loop2(), "t0", 6);
791
870
  case 6:
792
- _ret = _context10.t0;
871
+ _ret = _context11.t0;
793
872
  if (!(_ret === 0)) {
794
- _context10.next = 7;
873
+ _context11.next = 7;
795
874
  break;
796
875
  }
797
- return _context10.abrupt("continue", 8);
876
+ return _context11.abrupt("continue", 8);
798
877
  case 7:
799
- _context10.next = 5;
878
+ _context11.next = 5;
800
879
  break;
801
880
  case 8:
802
- _context10.next = 10;
881
+ _context11.next = 10;
803
882
  break;
804
883
  case 9:
805
- _context10.prev = 9;
806
- _t6 = _context10["catch"](4);
884
+ _context11.prev = 9;
885
+ _t6 = _context11["catch"](4);
807
886
  _iterator2.e(_t6);
808
887
  case 10:
809
- _context10.prev = 10;
888
+ _context11.prev = 10;
810
889
  _iterator2.f();
811
- return _context10.finish(10);
890
+ return _context11.finish(10);
812
891
  case 11:
813
- _context10.next = 13;
892
+ _context11.next = 13;
814
893
  break;
815
894
  case 12:
816
895
  /* Setting this to true because region info is possibly undefined */
@@ -830,9 +909,9 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
830
909
  }
831
910
  case 14:
832
911
  case "end":
833
- return _context10.stop();
912
+ return _context11.stop();
834
913
  }
835
- }, _callee0, this, [[4, 9, 10, 11]]);
914
+ }, _callee1, this, [[4, 9, 10, 11]]);
836
915
  }));
837
916
  function getMobiusServers() {
838
917
  return _getMobiusServers.apply(this, arguments);
@@ -840,14 +919,149 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
840
919
  return getMobiusServers;
841
920
  }()
842
921
  /**
843
- * Registers a listener/handler for ALL_CALLS_CLEARED
844
- * event emitted by callManager when all the calls
845
- * present on sdk are cleaned up.
922
+ * Connects to the Mobius WebSocket using WSS URIs discovered during Mobius server discovery.
923
+ * Attempts primary WSS URIs first, then falls back to backup WSS URIs.
924
+ * If all attempts fail, logs a warning and continues without a socket connection.
846
925
  */
847
926
  )
927
+ }, {
928
+ key: "connectToMobiusSocket",
929
+ value: (function () {
930
+ var _connectToMobiusSocket = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10() {
931
+ var loggerContext, _iterator3, _step3, wssUri, _iterator4, _step4, _wssUri, _t7, _t8, _t9, _t0;
932
+ return _regenerator.default.wrap(function (_context12) {
933
+ while (1) switch (_context12.prev = _context12.next) {
934
+ case 0:
935
+ loggerContext = {
936
+ file: _constants2.CALLING_CLIENT_FILE,
937
+ method: _constants2.METHODS.CONNECT_TO_MOBIUS_SOCKET
938
+ };
939
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
940
+ if (!(!this.primaryWssMobiusUris.length && !this.backupWssMobiusUris.length)) {
941
+ _context12.next = 1;
942
+ break;
943
+ }
944
+ _Logger.default.warn('No WSS URIs available from Mobius discovery, skipping socket connection', loggerContext);
945
+ return _context12.abrupt("return");
946
+ case 1:
947
+ if (!this.primaryWssMobiusUris.length) {
948
+ _context12.next = 12;
949
+ break;
950
+ }
951
+ _Logger.default.log("Attempting Mobius socket connection using primary WSS URIs (".concat(this.primaryWssMobiusUris.length, " available)"), loggerContext);
952
+ _iterator3 = _createForOfIteratorHelper(this.primaryWssMobiusUris);
953
+ _context12.prev = 2;
954
+ _iterator3.s();
955
+ case 3:
956
+ if ((_step3 = _iterator3.n()).done) {
957
+ _context12.next = 8;
958
+ break;
959
+ }
960
+ wssUri = _step3.value;
961
+ _context12.prev = 4;
962
+ _Logger.default.log("Trying primary WSS URI: ".concat(wssUri), loggerContext);
963
+ // eslint-disable-next-line no-await-in-loop
964
+ _context12.next = 5;
965
+ return this.apiRequest.connectToMobiusSocket(wssUri);
966
+ case 5:
967
+ _Logger.default.log("Successfully connected to Mobius socket on primary WSS URI: ".concat(wssUri), loggerContext);
968
+ return _context12.abrupt("return");
969
+ case 6:
970
+ _context12.prev = 6;
971
+ _t7 = _context12["catch"](4);
972
+ _Logger.default.warn("Primary WSS URI connection failed for ".concat(wssUri, ": ").concat(_t7), loggerContext);
973
+ case 7:
974
+ _context12.next = 3;
975
+ break;
976
+ case 8:
977
+ _context12.next = 10;
978
+ break;
979
+ case 9:
980
+ _context12.prev = 9;
981
+ _t8 = _context12["catch"](2);
982
+ _iterator3.e(_t8);
983
+ case 10:
984
+ _context12.prev = 10;
985
+ _iterator3.f();
986
+ return _context12.finish(10);
987
+ case 11:
988
+ _Logger.default.warn('All primary WSS URI connection attempts failed', loggerContext);
989
+ _context12.next = 13;
990
+ break;
991
+ case 12:
992
+ _Logger.default.warn('No primary WSS URIs available, skipping to backup', loggerContext);
993
+ case 13:
994
+ if (!this.backupWssMobiusUris.length) {
995
+ _context12.next = 24;
996
+ break;
997
+ }
998
+ _Logger.default.log("Attempting Mobius socket connection using backup WSS URIs (".concat(this.backupWssMobiusUris.length, " available)"), loggerContext);
999
+ _iterator4 = _createForOfIteratorHelper(this.backupWssMobiusUris);
1000
+ _context12.prev = 14;
1001
+ _iterator4.s();
1002
+ case 15:
1003
+ if ((_step4 = _iterator4.n()).done) {
1004
+ _context12.next = 20;
1005
+ break;
1006
+ }
1007
+ _wssUri = _step4.value;
1008
+ _context12.prev = 16;
1009
+ _Logger.default.log("Trying backup WSS URI: ".concat(_wssUri), loggerContext);
1010
+ // eslint-disable-next-line no-await-in-loop
1011
+ _context12.next = 17;
1012
+ return this.apiRequest.connectToMobiusSocket(_wssUri);
1013
+ case 17:
1014
+ _Logger.default.log("Successfully connected to Mobius socket on backup WSS URI: ".concat(_wssUri), loggerContext);
1015
+ return _context12.abrupt("return");
1016
+ case 18:
1017
+ _context12.prev = 18;
1018
+ _t9 = _context12["catch"](16);
1019
+ _Logger.default.warn("Backup WSS URI connection failed for ".concat(_wssUri, ": ").concat(_t9), loggerContext);
1020
+ case 19:
1021
+ _context12.next = 15;
1022
+ break;
1023
+ case 20:
1024
+ _context12.next = 22;
1025
+ break;
1026
+ case 21:
1027
+ _context12.prev = 21;
1028
+ _t0 = _context12["catch"](14);
1029
+ _iterator4.e(_t0);
1030
+ case 22:
1031
+ _context12.prev = 22;
1032
+ _iterator4.f();
1033
+ return _context12.finish(22);
1034
+ case 23:
1035
+ _Logger.default.warn('All backup WSS URI connection attempts failed', loggerContext);
1036
+ _context12.next = 25;
1037
+ break;
1038
+ case 24:
1039
+ _Logger.default.warn('No backup WSS URIs available', loggerContext);
1040
+ case 25:
1041
+ // Throwing an error is not required here. Connection will be attempted again during registration if no connection is established.
1042
+ // We might remove this connection attempt logic during optimization since we are anyway going to try to connect to Mobius during
1043
+ // registration and without registration the connection will be closed automatically by the mobius server.
1044
+ _Logger.default.warn('All Mobius socket connection attempts exhausted for both primary and backup, continuing without socket', loggerContext);
1045
+ case 26:
1046
+ case "end":
1047
+ return _context12.stop();
1048
+ }
1049
+ }, _callee10, this, [[2, 9, 10, 11], [4, 6], [14, 21, 22, 23], [16, 18]]);
1050
+ }));
1051
+ function connectToMobiusSocket() {
1052
+ return _connectToMobiusSocket.apply(this, arguments);
1053
+ }
1054
+ return connectToMobiusSocket;
1055
+ }())
848
1056
  }, {
849
1057
  key: "registerCallsClearedListener",
850
- value: function registerCallsClearedListener() {
1058
+ value:
1059
+ /**
1060
+ * Registers a listener/handler for ALL_CALLS_CLEARED
1061
+ * event emitted by callManager when all the calls
1062
+ * present on sdk are cleaned up.
1063
+ */
1064
+ function registerCallsClearedListener() {
851
1065
  _Logger.default.info(_constants.METHOD_START_MESSAGE, {
852
1066
  file: _constants2.CALLING_CLIENT_FILE,
853
1067
  method: _constants2.METHODS.REGISTER_CALLS_CLEARED_LISTENER
@@ -883,25 +1097,25 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
883
1097
  method: _constants2.METHODS.REGISTER_SESSIONS_LISTENER
884
1098
  });
885
1099
  this.sdkConnector.registerListener(_types2.MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_INCLUSIVE, /*#__PURE__*/function () {
886
- var _ref6 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1(event) {
1100
+ var _ref7 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11(event) {
887
1101
  var sessionArr, i;
888
- return _regenerator.default.wrap(function (_context11) {
889
- while (1) switch (_context11.prev = _context11.next) {
1102
+ return _regenerator.default.wrap(function (_context13) {
1103
+ while (1) switch (_context13.prev = _context13.next) {
890
1104
  case 0:
891
1105
  if (!(event && event.data.userSessions.userSessions)) {
892
- _context11.next = 2;
1106
+ _context13.next = 2;
893
1107
  break;
894
1108
  }
895
1109
  sessionArr = event === null || event === void 0 ? void 0 : event.data.userSessions.userSessions;
896
1110
  if (!(sessionArr.length === 1)) {
897
- _context11.next = 1;
1111
+ _context13.next = 1;
898
1112
  break;
899
1113
  }
900
1114
  if (!(sessionArr[0].sessionType !== _types2.SessionType.WEBEX_CALLING)) {
901
- _context11.next = 1;
1115
+ _context13.next = 1;
902
1116
  break;
903
1117
  }
904
- return _context11.abrupt("return");
1118
+ return _context13.abrupt("return");
905
1119
  case 1:
906
1120
  for (i = 0; i < sessionArr.length; i += 1) {
907
1121
  if (sessionArr[i].sessionType !== _types2.SessionType.WEBEX_CALLING) {
@@ -911,12 +1125,12 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
911
1125
  _this5.emit(_types2.CALLING_CLIENT_EVENT_KEYS.USER_SESSION_INFO, event);
912
1126
  case 2:
913
1127
  case "end":
914
- return _context11.stop();
1128
+ return _context13.stop();
915
1129
  }
916
- }, _callee1);
1130
+ }, _callee11);
917
1131
  }));
918
- return function (_x) {
919
- return _ref6.apply(this, arguments);
1132
+ return function (_x2) {
1133
+ return _ref7.apply(this, arguments);
920
1134
  };
921
1135
  }());
922
1136
  }
@@ -928,23 +1142,23 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
928
1142
  }, {
929
1143
  key: "createLine",
930
1144
  value: (function () {
931
- var _createLine = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10() {
1145
+ var _createLine = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12() {
932
1146
  var _this$sdkConfig8;
933
1147
  var line;
934
- return _regenerator.default.wrap(function (_context12) {
935
- while (1) switch (_context12.prev = _context12.next) {
1148
+ return _regenerator.default.wrap(function (_context14) {
1149
+ while (1) switch (_context14.prev = _context14.next) {
936
1150
  case 0:
937
1151
  _Logger.default.info(_constants.METHOD_START_MESSAGE, {
938
1152
  file: _constants2.CALLING_CLIENT_FILE,
939
1153
  method: _constants2.METHODS.CREATE_LINE
940
1154
  });
941
- line = new _line.default(this.webex.internal.device.userId, this.webex.internal.device.url, this.mutex, this.primaryMobiusUris, this.backupMobiusUris, this.getLoggingLevel(), this.serviceData, (_this$sdkConfig8 = this.sdkConfig) === null || _this$sdkConfig8 === void 0 ? void 0 : _this$sdkConfig8.jwe);
1155
+ line = new _line.default(this.webex.internal.device.userId, this.webex.internal.device.url, this.mutex, this.apiRequest.isSocketEnabled() ? (0, _Utils.normalizeMobiusUris)(this.primaryWssMobiusUris) : this.primaryMobiusUris, this.apiRequest.isSocketEnabled() ? (0, _Utils.normalizeMobiusUris)(this.backupWssMobiusUris) : this.backupMobiusUris, this.getLoggingLevel(), this.serviceData, (_this$sdkConfig8 = this.sdkConfig) === null || _this$sdkConfig8 === void 0 ? void 0 : _this$sdkConfig8.jwe);
942
1156
  this.lineDict[line.lineId] = line;
943
1157
  case 1:
944
1158
  case "end":
945
- return _context12.stop();
1159
+ return _context14.stop();
946
1160
  }
947
- }, _callee10, this);
1161
+ }, _callee12, this);
948
1162
  }));
949
1163
  function createLine() {
950
1164
  return _createLine.apply(this, arguments);
@@ -968,14 +1182,14 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
968
1182
  }, {
969
1183
  key: "getDevices",
970
1184
  value: (function () {
971
- var _getDevices = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11(userId) {
972
- var userid, mobiusUrls, finalError, _iterator3, _step3, mobiusUrl, normalizedMobiusUrl, uri, _body$devices, response, body, _t7, _t8;
973
- return _regenerator.default.wrap(function (_context13) {
974
- while (1) switch (_context13.prev = _context13.next) {
1185
+ var _getDevices = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13(userId) {
1186
+ var userid, mobiusUrls, finalError, _iterator5, _step5, mobiusUrl, normalizedMobiusUrl, uri, _body$devices, response, body, _t1, _t10;
1187
+ return _regenerator.default.wrap(function (_context15) {
1188
+ while (1) switch (_context15.prev = _context15.next) {
975
1189
  case 0:
976
1190
  userid = userId || this.webex.internal.device.userId;
977
1191
  if (userid) {
978
- _context13.next = 1;
1192
+ _context15.next = 1;
979
1193
  break;
980
1194
  }
981
1195
  throw new Error('userId is required to fetch devices');
@@ -986,24 +1200,24 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
986
1200
  });
987
1201
  mobiusUrls = [].concat((0, _toConsumableArray2.default)(this.primaryMobiusUris), (0, _toConsumableArray2.default)(this.backupMobiusUris));
988
1202
  if (!(mobiusUrls.length === 0)) {
989
- _context13.next = 2;
1203
+ _context15.next = 2;
990
1204
  break;
991
1205
  }
992
1206
  throw new Error('Mobius URLs are not available');
993
1207
  case 2:
994
- _iterator3 = _createForOfIteratorHelper(mobiusUrls);
995
- _context13.prev = 3;
996
- _iterator3.s();
1208
+ _iterator5 = _createForOfIteratorHelper(mobiusUrls);
1209
+ _context15.prev = 3;
1210
+ _iterator5.s();
997
1211
  case 4:
998
- if ((_step3 = _iterator3.n()).done) {
999
- _context13.next = 10;
1212
+ if ((_step5 = _iterator5.n()).done) {
1213
+ _context15.next = 10;
1000
1214
  break;
1001
1215
  }
1002
- mobiusUrl = _step3.value;
1216
+ mobiusUrl = _step5.value;
1003
1217
  normalizedMobiusUrl = mobiusUrl.replace(/\/+$/, '/');
1004
1218
  uri = "".concat(normalizedMobiusUrl).concat(_constants2.DEVICES_ENDPOINT_RESOURCE, "?userid=").concat(encodeURIComponent(userid));
1005
- _context13.prev = 5;
1006
- _context13.next = 6;
1219
+ _context15.prev = 5;
1220
+ _context15.next = 6;
1007
1221
  return this.webex.request({
1008
1222
  uri: uri,
1009
1223
  method: _types3.HTTP_METHODS.GET,
@@ -1011,9 +1225,9 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
1011
1225
  headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, this.webex.internal.device.url), _constants2.SPARK_USER_AGENT, _constants2.CALLING_USER_AGENT)
1012
1226
  });
1013
1227
  case 6:
1014
- response = _context13.sent;
1228
+ response = _context15.sent;
1015
1229
  if (!(response.statusCode !== 200)) {
1016
- _context13.next = 7;
1230
+ _context15.next = 7;
1017
1231
  break;
1018
1232
  }
1019
1233
  throw new Error("API call failed with ".concat(response.statusCode));
@@ -1021,25 +1235,25 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
1021
1235
  body = response.body; // Hydrate registration deviceInfo for deregister/restore flows
1022
1236
  (0, _values.default)(this.lineDict)[0].registration.setDeviceInfo(body);
1023
1237
  (0, _values.default)(this.lineDict)[0].registration.setActiveMobiusUrl(normalizedMobiusUrl);
1024
- return _context13.abrupt("return", (_body$devices = body.devices) !== null && _body$devices !== void 0 ? _body$devices : []);
1238
+ return _context15.abrupt("return", (_body$devices = body.devices) !== null && _body$devices !== void 0 ? _body$devices : []);
1025
1239
  case 8:
1026
- _context13.prev = 8;
1027
- _t7 = _context13["catch"](5);
1028
- finalError = _t7;
1240
+ _context15.prev = 8;
1241
+ _t1 = _context15["catch"](5);
1242
+ finalError = _t1;
1029
1243
  case 9:
1030
- _context13.next = 4;
1244
+ _context15.next = 4;
1031
1245
  break;
1032
1246
  case 10:
1033
- _context13.next = 12;
1247
+ _context15.next = 12;
1034
1248
  break;
1035
1249
  case 11:
1036
- _context13.prev = 11;
1037
- _t8 = _context13["catch"](3);
1038
- _iterator3.e(_t8);
1250
+ _context15.prev = 11;
1251
+ _t10 = _context15["catch"](3);
1252
+ _iterator5.e(_t10);
1039
1253
  case 12:
1040
- _context13.prev = 12;
1041
- _iterator3.f();
1042
- return _context13.finish(12);
1254
+ _context15.prev = 12;
1255
+ _iterator5.f();
1256
+ return _context15.finish(12);
1043
1257
  case 13:
1044
1258
  _Logger.default.error("Failed to fetch devices for userId ".concat(userId, ": ").concat((0, _stringify.default)(finalError)), {
1045
1259
  file: _constants2.CALLING_CLIENT_FILE,
@@ -1048,11 +1262,11 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
1048
1262
  throw finalError;
1049
1263
  case 14:
1050
1264
  case "end":
1051
- return _context13.stop();
1265
+ return _context15.stop();
1052
1266
  }
1053
- }, _callee11, this, [[3, 11, 12, 13], [5, 8]]);
1267
+ }, _callee13, this, [[3, 11, 12, 13], [5, 8]]);
1054
1268
  }));
1055
- function getDevices(_x2) {
1269
+ function getDevices(_x3) {
1056
1270
  return _getDevices.apply(this, arguments);
1057
1271
  }
1058
1272
  return getDevices;
@@ -1105,27 +1319,27 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
1105
1319
  }, {
1106
1320
  key: "uploadLogs",
1107
1321
  value: (function () {
1108
- var _uploadLogs2 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12() {
1322
+ var _uploadLogs2 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14() {
1109
1323
  var result;
1110
- return _regenerator.default.wrap(function (_context14) {
1111
- while (1) switch (_context14.prev = _context14.next) {
1324
+ return _regenerator.default.wrap(function (_context16) {
1325
+ while (1) switch (_context16.prev = _context16.next) {
1112
1326
  case 0:
1113
- _context14.next = 1;
1327
+ _context16.next = 1;
1114
1328
  return (0, _Utils.uploadLogs)({}, true);
1115
1329
  case 1:
1116
- result = _context14.sent;
1330
+ result = _context16.sent;
1117
1331
  if (result) {
1118
- _context14.next = 2;
1332
+ _context16.next = 2;
1119
1333
  break;
1120
1334
  }
1121
1335
  throw new Error('Failed to upload logs: No response received.');
1122
1336
  case 2:
1123
- return _context14.abrupt("return", result);
1337
+ return _context16.abrupt("return", result);
1124
1338
  case 3:
1125
1339
  case "end":
1126
- return _context14.stop();
1340
+ return _context16.stop();
1127
1341
  }
1128
- }, _callee12);
1342
+ }, _callee14);
1129
1343
  }));
1130
1344
  function uploadLogs() {
1131
1345
  return _uploadLogs2.apply(this, arguments);
@@ -1140,24 +1354,24 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
1140
1354
  * @param config - Config to start the CallingClient with.
1141
1355
  */
1142
1356
  var createClient = exports.createClient = /*#__PURE__*/function () {
1143
- var _ref7 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13(webex, config) {
1357
+ var _ref8 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15(webex, config) {
1144
1358
  var callingClientInstance;
1145
- return _regenerator.default.wrap(function (_context15) {
1146
- while (1) switch (_context15.prev = _context15.next) {
1359
+ return _regenerator.default.wrap(function (_context17) {
1360
+ while (1) switch (_context17.prev = _context17.next) {
1147
1361
  case 0:
1148
1362
  callingClientInstance = new CallingClient(webex, config);
1149
- _context15.next = 1;
1363
+ _context17.next = 1;
1150
1364
  return callingClientInstance.init();
1151
1365
  case 1:
1152
- return _context15.abrupt("return", callingClientInstance);
1366
+ return _context17.abrupt("return", callingClientInstance);
1153
1367
  case 2:
1154
1368
  case "end":
1155
- return _context15.stop();
1369
+ return _context17.stop();
1156
1370
  }
1157
- }, _callee13);
1371
+ }, _callee15);
1158
1372
  }));
1159
- return function createClient(_x3, _x4) {
1160
- return _ref7.apply(this, arguments);
1373
+ return function createClient(_x4, _x5) {
1374
+ return _ref8.apply(this, arguments);
1161
1375
  };
1162
1376
  }();
1163
1377
  //# sourceMappingURL=CallingClient.js.map