@webex/calling 3.12.0-task-refactor.1 → 3.12.0-webex-services-ready.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/dist/CallHistory/CallHistory.js +68 -51
  2. package/dist/CallHistory/CallHistory.js.map +1 -1
  3. package/dist/CallRecording/CallRecording.js +160 -0
  4. package/dist/CallRecording/CallRecording.js.map +1 -0
  5. package/dist/CallRecording/CallRecording.test.js +257 -0
  6. package/dist/CallRecording/CallRecording.test.js.map +1 -0
  7. package/dist/CallRecording/WxcCallRecordingConnector.js +577 -0
  8. package/dist/CallRecording/WxcCallRecordingConnector.js.map +1 -0
  9. package/dist/CallRecording/WxcCallRecordingConnector.test.js +652 -0
  10. package/dist/CallRecording/WxcCallRecordingConnector.test.js.map +1 -0
  11. package/dist/CallRecording/callRecordingFixtures.js +235 -0
  12. package/dist/CallRecording/callRecordingFixtures.js.map +1 -0
  13. package/dist/CallRecording/constants.js +50 -0
  14. package/dist/CallRecording/constants.js.map +1 -0
  15. package/dist/CallRecording/types.js +137 -0
  16. package/dist/CallRecording/types.js.map +1 -0
  17. package/dist/CallRecording/utils.js +42 -0
  18. package/dist/CallRecording/utils.js.map +1 -0
  19. package/dist/CallRecording/utils.test.js +97 -0
  20. package/dist/CallRecording/utils.test.js.map +1 -0
  21. package/dist/CallingClient/CallingClient.js +520 -193
  22. package/dist/CallingClient/CallingClient.js.map +1 -1
  23. package/dist/CallingClient/CallingClient.test.js +607 -133
  24. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  25. package/dist/CallingClient/calling/call.js +599 -454
  26. package/dist/CallingClient/calling/call.js.map +1 -1
  27. package/dist/CallingClient/calling/call.test.js +834 -443
  28. package/dist/CallingClient/calling/call.test.js.map +1 -1
  29. package/dist/CallingClient/calling/callManager.js +88 -31
  30. package/dist/CallingClient/calling/callManager.js.map +1 -1
  31. package/dist/CallingClient/calling/callManager.test.js +123 -0
  32. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  33. package/dist/CallingClient/calling/types.js +2 -0
  34. package/dist/CallingClient/calling/types.js.map +1 -1
  35. package/dist/CallingClient/constants.js +30 -3
  36. package/dist/CallingClient/constants.js.map +1 -1
  37. package/dist/CallingClient/line/index.js +4 -1
  38. package/dist/CallingClient/line/index.js.map +1 -1
  39. package/dist/CallingClient/line/line.test.js +16 -1
  40. package/dist/CallingClient/line/line.test.js.map +1 -1
  41. package/dist/CallingClient/registration/register.js +740 -407
  42. package/dist/CallingClient/registration/register.js.map +1 -1
  43. package/dist/CallingClient/registration/register.test.js +380 -58
  44. package/dist/CallingClient/registration/register.test.js.map +1 -1
  45. package/dist/CallingClient/registration/types.js.map +1 -1
  46. package/dist/CallingClient/registration/webWorker.js +41 -104
  47. package/dist/CallingClient/registration/webWorker.js.map +1 -1
  48. package/dist/CallingClient/registration/webWorker.test.js +39 -153
  49. package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
  50. package/dist/CallingClient/registration/webWorkerStr.js +1 -1
  51. package/dist/CallingClient/registration/webWorkerStr.js.map +1 -1
  52. package/dist/CallingClient/types.js.map +1 -1
  53. package/dist/CallingClient/utils/constants.js +58 -0
  54. package/dist/CallingClient/utils/constants.js.map +1 -0
  55. package/dist/CallingClient/utils/index.js +63 -0
  56. package/dist/CallingClient/utils/index.js.map +1 -0
  57. package/dist/CallingClient/utils/mobiusSocketMapper.js +122 -0
  58. package/dist/CallingClient/utils/mobiusSocketMapper.js.map +1 -0
  59. package/dist/CallingClient/utils/mobiusSocketMapper.test.js +221 -0
  60. package/dist/CallingClient/utils/mobiusSocketMapper.test.js.map +1 -0
  61. package/dist/CallingClient/utils/request.js +435 -0
  62. package/dist/CallingClient/utils/request.js.map +1 -0
  63. package/dist/CallingClient/utils/request.test.js +999 -0
  64. package/dist/CallingClient/utils/request.test.js.map +1 -0
  65. package/dist/CallingClient/utils/types.js +7 -0
  66. package/dist/CallingClient/utils/types.js.map +1 -0
  67. package/dist/CallingClient/utils/wsFeatureFlag.js +70 -0
  68. package/dist/CallingClient/utils/wsFeatureFlag.js.map +1 -0
  69. package/dist/CallingClient/utils/wsFeatureFlag.test.js +139 -0
  70. package/dist/CallingClient/utils/wsFeatureFlag.test.js.map +1 -0
  71. package/dist/Contacts/ContactsClient.js +13 -11
  72. package/dist/Contacts/ContactsClient.js.map +1 -1
  73. package/dist/Contacts/ContactsClient.test.js +3 -8
  74. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  75. package/dist/Events/types.js +38 -11
  76. package/dist/Events/types.js.map +1 -1
  77. package/dist/Metrics/index.js +63 -2
  78. package/dist/Metrics/index.js.map +1 -1
  79. package/dist/Metrics/index.test.js +357 -1
  80. package/dist/Metrics/index.test.js.map +1 -1
  81. package/dist/Metrics/types.js +19 -1
  82. package/dist/Metrics/types.js.map +1 -1
  83. package/dist/SDKConnector/types.js.map +1 -1
  84. package/dist/api.js +56 -0
  85. package/dist/api.js.map +1 -1
  86. package/dist/common/Utils.js +161 -53
  87. package/dist/common/Utils.js.map +1 -1
  88. package/dist/common/Utils.test.js +207 -46
  89. package/dist/common/Utils.test.js.map +1 -1
  90. package/dist/common/testUtil.js +10 -5
  91. package/dist/common/testUtil.js.map +1 -1
  92. package/dist/common/types.js +3 -0
  93. package/dist/common/types.js.map +1 -1
  94. package/dist/index.js +165 -40
  95. package/dist/index.js.map +1 -1
  96. package/dist/mobius-socket/config.js +24 -0
  97. package/dist/mobius-socket/config.js.map +1 -0
  98. package/dist/mobius-socket/errors.js +143 -0
  99. package/dist/mobius-socket/errors.js.map +1 -0
  100. package/dist/mobius-socket/errors.test.js +20 -0
  101. package/dist/mobius-socket/errors.test.js.map +1 -0
  102. package/dist/mobius-socket/index.js +57 -0
  103. package/dist/mobius-socket/index.js.map +1 -0
  104. package/dist/mobius-socket/mobius-socket-events.test.js +492 -0
  105. package/dist/mobius-socket/mobius-socket-events.test.js.map +1 -0
  106. package/dist/mobius-socket/mobius-socket.js +849 -0
  107. package/dist/mobius-socket/mobius-socket.js.map +1 -0
  108. package/dist/mobius-socket/mobius-socket.test.js +1898 -0
  109. package/dist/mobius-socket/mobius-socket.test.js.map +1 -0
  110. package/dist/mobius-socket/socket/constants.js +55 -0
  111. package/dist/mobius-socket/socket/constants.js.map +1 -0
  112. package/dist/mobius-socket/socket/index.js +15 -0
  113. package/dist/mobius-socket/socket/index.js.map +1 -0
  114. package/dist/mobius-socket/socket/socket-base.js +604 -0
  115. package/dist/mobius-socket/socket/socket-base.js.map +1 -0
  116. package/dist/mobius-socket/socket/socket.js +19 -0
  117. package/dist/mobius-socket/socket/socket.js.map +1 -0
  118. package/dist/mobius-socket/socket/socket.shim.js +26 -0
  119. package/dist/mobius-socket/socket/socket.shim.js.map +1 -0
  120. package/dist/mobius-socket/socket/types.js +7 -0
  121. package/dist/mobius-socket/socket/types.js.map +1 -0
  122. package/dist/mobius-socket/socket.test.js +727 -0
  123. package/dist/mobius-socket/socket.test.js.map +1 -0
  124. package/dist/mobius-socket/test/mocha-helpers.js +23 -0
  125. package/dist/mobius-socket/test/mocha-helpers.js.map +1 -0
  126. package/dist/mobius-socket/test/promise-tick.js +28 -0
  127. package/dist/mobius-socket/test/promise-tick.js.map +1 -0
  128. package/dist/mobius-socket/types.js +7 -0
  129. package/dist/mobius-socket/types.js.map +1 -0
  130. package/dist/module/CallHistory/CallHistory.js +28 -17
  131. package/dist/module/CallRecording/CallRecording.js +56 -0
  132. package/dist/module/CallRecording/WxcCallRecordingConnector.js +257 -0
  133. package/dist/module/CallRecording/callRecordingFixtures.js +201 -0
  134. package/dist/module/CallRecording/constants.js +28 -0
  135. package/dist/module/CallRecording/types.js +19 -0
  136. package/dist/module/CallRecording/utils.js +14 -0
  137. package/dist/module/CallingClient/CallingClient.js +166 -8
  138. package/dist/module/CallingClient/calling/call.js +181 -64
  139. package/dist/module/CallingClient/calling/callManager.js +46 -7
  140. package/dist/module/CallingClient/calling/types.js +2 -0
  141. package/dist/module/CallingClient/constants.js +26 -0
  142. package/dist/module/CallingClient/line/index.js +2 -2
  143. package/dist/module/CallingClient/registration/register.js +247 -63
  144. package/dist/module/CallingClient/registration/webWorker.js +42 -61
  145. package/dist/module/CallingClient/registration/webWorkerStr.js +47 -82
  146. package/dist/module/CallingClient/utils/constants.js +36 -0
  147. package/dist/module/CallingClient/utils/index.js +5 -0
  148. package/dist/module/CallingClient/utils/mobiusSocketMapper.js +72 -0
  149. package/dist/module/CallingClient/utils/request.js +211 -0
  150. package/dist/module/CallingClient/utils/types.js +1 -0
  151. package/dist/module/CallingClient/utils/wsFeatureFlag.js +41 -0
  152. package/dist/module/Contacts/ContactsClient.js +1 -1
  153. package/dist/module/Events/types.js +23 -10
  154. package/dist/module/Metrics/index.js +48 -1
  155. package/dist/module/Metrics/types.js +18 -0
  156. package/dist/module/api.js +3 -2
  157. package/dist/module/common/Utils.js +65 -18
  158. package/dist/module/common/testUtil.js +6 -1
  159. package/dist/module/common/types.js +3 -0
  160. package/dist/module/index.js +7 -3
  161. package/dist/module/mobius-socket/config.js +15 -0
  162. package/dist/module/mobius-socket/errors.js +58 -0
  163. package/dist/module/mobius-socket/index.js +24 -0
  164. package/dist/module/mobius-socket/mobius-socket.js +593 -0
  165. package/dist/module/mobius-socket/socket/constants.js +26 -0
  166. package/dist/module/mobius-socket/socket/index.js +4 -0
  167. package/dist/module/mobius-socket/socket/socket-base.js +368 -0
  168. package/dist/module/mobius-socket/socket/socket.js +9 -0
  169. package/dist/module/mobius-socket/socket/socket.shim.js +12 -0
  170. package/dist/module/mobius-socket/socket/types.js +1 -0
  171. package/dist/module/mobius-socket/types.js +1 -0
  172. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  173. package/dist/types/CallRecording/CallRecording.d.ts +18 -0
  174. package/dist/types/CallRecording/CallRecording.d.ts.map +1 -0
  175. package/dist/types/CallRecording/WxcCallRecordingConnector.d.ts +23 -0
  176. package/dist/types/CallRecording/WxcCallRecordingConnector.d.ts.map +1 -0
  177. package/dist/types/CallRecording/callRecordingFixtures.d.ts +61 -0
  178. package/dist/types/CallRecording/callRecordingFixtures.d.ts.map +1 -0
  179. package/dist/types/CallRecording/constants.d.ts +29 -0
  180. package/dist/types/CallRecording/constants.d.ts.map +1 -0
  181. package/dist/types/CallRecording/types.d.ts +176 -0
  182. package/dist/types/CallRecording/types.d.ts.map +1 -0
  183. package/dist/types/CallRecording/utils.d.ts +3 -0
  184. package/dist/types/CallRecording/utils.d.ts.map +1 -0
  185. package/dist/types/CallingClient/CallingClient.d.ts +10 -1
  186. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  187. package/dist/types/CallingClient/calling/call.d.ts +12 -0
  188. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  189. package/dist/types/CallingClient/calling/callManager.d.ts +4 -2
  190. package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
  191. package/dist/types/CallingClient/calling/types.d.ts +34 -9
  192. package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
  193. package/dist/types/CallingClient/constants.d.ts +26 -0
  194. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  195. package/dist/types/CallingClient/line/index.d.ts +1 -1
  196. package/dist/types/CallingClient/line/index.d.ts.map +1 -1
  197. package/dist/types/CallingClient/registration/register.d.ts +9 -2
  198. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  199. package/dist/types/CallingClient/registration/types.d.ts +6 -3
  200. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  201. package/dist/types/CallingClient/registration/webWorker.d.ts.map +1 -1
  202. package/dist/types/CallingClient/registration/webWorkerStr.d.ts +1 -1
  203. package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -1
  204. package/dist/types/CallingClient/types.d.ts +3 -1
  205. package/dist/types/CallingClient/types.d.ts.map +1 -1
  206. package/dist/types/CallingClient/utils/constants.d.ts +35 -0
  207. package/dist/types/CallingClient/utils/constants.d.ts.map +1 -0
  208. package/dist/types/CallingClient/utils/index.d.ts +6 -0
  209. package/dist/types/CallingClient/utils/index.d.ts.map +1 -0
  210. package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts +5 -0
  211. package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts.map +1 -0
  212. package/dist/types/CallingClient/utils/request.d.ts +28 -0
  213. package/dist/types/CallingClient/utils/request.d.ts.map +1 -0
  214. package/dist/types/CallingClient/utils/types.d.ts +34 -0
  215. package/dist/types/CallingClient/utils/types.d.ts.map +1 -0
  216. package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts +4 -0
  217. package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts.map +1 -0
  218. package/dist/types/Events/types.d.ts +79 -15
  219. package/dist/types/Events/types.d.ts.map +1 -1
  220. package/dist/types/Metrics/index.d.ts.map +1 -1
  221. package/dist/types/Metrics/types.d.ts +19 -2
  222. package/dist/types/Metrics/types.d.ts.map +1 -1
  223. package/dist/types/SDKConnector/types.d.ts +39 -12
  224. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  225. package/dist/types/api.d.ts +6 -4
  226. package/dist/types/api.d.ts.map +1 -1
  227. package/dist/types/common/Utils.d.ts +11 -3
  228. package/dist/types/common/Utils.d.ts.map +1 -1
  229. package/dist/types/common/testUtil.d.ts +5 -1
  230. package/dist/types/common/testUtil.d.ts.map +1 -1
  231. package/dist/types/common/types.d.ts +9 -1
  232. package/dist/types/common/types.d.ts.map +1 -1
  233. package/dist/types/index.d.ts +8 -3
  234. package/dist/types/index.d.ts.map +1 -1
  235. package/dist/types/mobius-socket/config.d.ts +17 -0
  236. package/dist/types/mobius-socket/config.d.ts.map +1 -0
  237. package/dist/types/mobius-socket/errors.d.ts +32 -0
  238. package/dist/types/mobius-socket/errors.d.ts.map +1 -0
  239. package/dist/types/mobius-socket/index.d.ts +14 -0
  240. package/dist/types/mobius-socket/index.d.ts.map +1 -0
  241. package/dist/types/mobius-socket/mobius-socket.d.ts +48 -0
  242. package/dist/types/mobius-socket/mobius-socket.d.ts.map +1 -0
  243. package/dist/types/mobius-socket/socket/constants.d.ts +27 -0
  244. package/dist/types/mobius-socket/socket/constants.d.ts.map +1 -0
  245. package/dist/types/mobius-socket/socket/index.d.ts +5 -0
  246. package/dist/types/mobius-socket/socket/index.d.ts.map +1 -0
  247. package/dist/types/mobius-socket/socket/socket-base.d.ts +43 -0
  248. package/dist/types/mobius-socket/socket/socket-base.d.ts.map +1 -0
  249. package/dist/types/mobius-socket/socket/socket.d.ts +6 -0
  250. package/dist/types/mobius-socket/socket/socket.d.ts.map +1 -0
  251. package/dist/types/mobius-socket/socket/socket.shim.d.ts +6 -0
  252. package/dist/types/mobius-socket/socket/socket.shim.d.ts.map +1 -0
  253. package/dist/types/mobius-socket/socket/types.d.ts +61 -0
  254. package/dist/types/mobius-socket/socket/types.d.ts.map +1 -0
  255. package/dist/types/mobius-socket/types.d.ts +21 -0
  256. package/dist/types/mobius-socket/types.d.ts.map +1 -0
  257. package/package.json +20 -5
  258. package/src/mobius-socket/socket/socket.shim.ts +22 -0
  259. package/src/mobius-socket/socket/socket.ts +14 -0
@@ -18,6 +18,7 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regene
18
18
  var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
19
19
  var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
20
20
  var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
21
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/toConsumableArray"));
21
22
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
22
23
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
23
24
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
@@ -34,14 +35,16 @@ var _SDKConnector = _interopRequireDefault(require("../SDKConnector"));
34
35
  var _impl = require("../Events/impl");
35
36
  var _types2 = require("../Events/types");
36
37
  var _types3 = require("../common/types");
38
+ var _types4 = require("./calling/types");
37
39
  var _Logger = _interopRequireDefault(require("../Logger"));
38
40
  var _callManager = require("./calling/callManager");
39
41
  var _constants2 = require("./constants");
40
42
  var _line = _interopRequireDefault(require("./line"));
41
- var _types4 = require("../Metrics/types");
43
+ var _types5 = require("../Metrics/types");
42
44
  var _Metrics = require("../Metrics");
43
45
  var _windowsChromiumIceWarmupUtils = _interopRequireDefault(require("./windowsChromiumIceWarmupUtils"));
44
- 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 _t7 in e) "default" !== _t7 && {}.hasOwnProperty.call(e, _t7) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t7)) && (i.get || i.set) ? o(f, _t7, i) : f[_t7] = e[_t7]); 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 _t1 in e) "default" !== _t1 && {}.hasOwnProperty.call(e, _t1) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t1)) && (i.get || i.set) ? o(f, _t1, i) : f[_t1] = e[_t1]); return f; })(e, t); }
45
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; } } }; }
46
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; } }
47
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; }
@@ -72,12 +75,16 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
72
75
  (0, _defineProperty2.default)(_this, "callManager", void 0);
73
76
  (0, _defineProperty2.default)(_this, "metricManager", void 0);
74
77
  (0, _defineProperty2.default)(_this, "sdkConfig", void 0);
78
+ (0, _defineProperty2.default)(_this, "serviceData", void 0);
75
79
  (0, _defineProperty2.default)(_this, "primaryMobiusUris", void 0);
76
80
  (0, _defineProperty2.default)(_this, "backupMobiusUris", void 0);
81
+ (0, _defineProperty2.default)(_this, "primaryWssMobiusUris", void 0);
82
+ (0, _defineProperty2.default)(_this, "backupWssMobiusUris", void 0);
77
83
  (0, _defineProperty2.default)(_this, "mobiusClusters", void 0);
78
84
  (0, _defineProperty2.default)(_this, "mobiusHost", void 0);
79
85
  (0, _defineProperty2.default)(_this, "mediaEngine", void 0);
80
86
  (0, _defineProperty2.default)(_this, "lineDict", {});
87
+ (0, _defineProperty2.default)(_this, "apiRequest", void 0);
81
88
  (0, _defineProperty2.default)(_this, "isNetworkDown", false);
82
89
  (0, _defineProperty2.default)(_this, "networkDownTimestamp", '');
83
90
  (0, _defineProperty2.default)(_this, "networkUpTimestamp", '');
@@ -121,7 +128,7 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
121
128
  method: _constants2.METHODS.MERCURY_OFFLINE
122
129
  });
123
130
  _this.mercuryDownTimestamp = new Date().toISOString();
124
- _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);
125
132
  });
126
133
  (0, _defineProperty2.default)(_this, "handleMercuryOnline", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
127
134
  var callCheckInterval;
@@ -173,7 +180,7 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
173
180
  _context3.next = 1;
174
181
  return _this.checkCallStatus();
175
182
  case 1:
176
- _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);
177
184
  _context3.next = 4;
178
185
  break;
179
186
  case 2:
@@ -184,13 +191,63 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
184
191
  _context3.next = 3;
185
192
  return _this.checkCallStatus();
186
193
  case 3:
187
- _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);
188
195
  case 4:
189
196
  case "end":
190
197
  return _context3.stop();
191
198
  }
192
199
  }, _callee3);
193
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
+ }());
194
251
  /**
195
252
  * Handler registered for ALL_CALLS_CLEARED event emitted by callManager.
196
253
  *
@@ -198,10 +255,10 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
198
255
  * will be attempted here on receiving a notification from callManager that all
199
256
  * calls are cleaned up.
200
257
  */
201
- (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() {
202
259
  var registration;
203
- return _regenerator.default.wrap(function (_context5) {
204
- while (1) switch (_context5.prev = _context5.next) {
260
+ return _regenerator.default.wrap(function (_context6) {
261
+ while (1) switch (_context6.prev = _context6.next) {
205
262
  case 0:
206
263
  _Logger.default.info(_constants.METHOD_START_MESSAGE, {
207
264
  file: _constants2.CALLING_CLIENT_FILE,
@@ -211,35 +268,35 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
211
268
  // it will change once we have proper lineId and multiple lines as well
212
269
  registration = (0, _values.default)(_this.lineDict)[0].registration;
213
270
  if (registration.isDeviceRegistered()) {
214
- _context5.next = 1;
271
+ _context6.next = 1;
215
272
  break;
216
273
  }
217
- _context5.next = 1;
218
- return _this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
219
- return _regenerator.default.wrap(function (_context4) {
220
- 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) {
221
278
  case 0:
222
279
  if (!registration.isReconnectPending()) {
223
- _context4.next = 1;
280
+ _context5.next = 1;
224
281
  break;
225
282
  }
226
283
  _Logger.default.info('All calls cleared, reconnecting', {
227
284
  file: _constants2.CALLING_CLIENT_FILE,
228
285
  method: _constants2.CALLS_CLEARED_HANDLER_UTIL
229
286
  });
230
- _context4.next = 1;
287
+ _context5.next = 1;
231
288
  return registration.reconnectOnFailure(_constants2.CALLS_CLEARED_HANDLER_UTIL);
232
289
  case 1:
233
290
  case "end":
234
- return _context4.stop();
291
+ return _context5.stop();
235
292
  }
236
- }, _callee4);
293
+ }, _callee5);
237
294
  })));
238
295
  case 1:
239
296
  case "end":
240
- return _context5.stop();
297
+ return _context6.stop();
241
298
  }
242
- }, _callee5);
299
+ }, _callee6);
243
300
  })));
244
301
  _this.sdkConnector = _SDKConnector.default;
245
302
  if (!_this.sdkConnector.getWebex()) {
@@ -253,15 +310,15 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
253
310
  _this.mutex = new _asyncMutex.Mutex();
254
311
  _this.webex = _this.sdkConnector.getWebex();
255
312
  _this.sdkConfig = config;
256
- var serviceData = (_this$sdkConfig = _this.sdkConfig) !== null && _this$sdkConfig !== void 0 && (_this$sdkConfig$servi = _this$sdkConfig.serviceData) !== null && _this$sdkConfig$servi !== void 0 && _this$sdkConfig$servi.indicator ? _this.sdkConfig.serviceData : {
313
+ _this.serviceData = (_this$sdkConfig = _this.sdkConfig) !== null && _this$sdkConfig !== void 0 && (_this$sdkConfig$servi = _this$sdkConfig.serviceData) !== null && _this$sdkConfig$servi !== void 0 && _this$sdkConfig$servi.indicator ? _this.sdkConfig.serviceData : {
257
314
  indicator: _types3.ServiceIndicator.CALLING,
258
315
  domain: ''
259
316
  };
260
317
  var logLevel = (_this$sdkConfig2 = _this.sdkConfig) !== null && _this$sdkConfig2 !== void 0 && (_this$sdkConfig2$logg = _this$sdkConfig2.logger) !== null && _this$sdkConfig2$logg !== void 0 && _this$sdkConfig2$logg.level ? _this.sdkConfig.logger.level : _types.LOGGER.ERROR;
261
318
  _Logger.default.setLogger(logLevel, _constants2.CALLING_CLIENT_FILE);
262
- (0, _Utils.validateServiceData)(serviceData);
263
- _this.callManager = (0, _callManager.getCallManager)(_this.webex, serviceData.indicator);
264
- _this.metricManager = (0, _Metrics.getMetricManager)(_this.webex, serviceData.indicator);
319
+ (0, _Utils.validateServiceData)(_this.serviceData);
320
+ _this.callManager = (0, _callManager.getCallManager)(_this.webex, _this.serviceData.indicator);
321
+ _this.metricManager = (0, _Metrics.getMetricManager)(_this.webex, _this.serviceData.indicator);
265
322
  _this.mediaEngine = Media;
266
323
  var adaptedLogger = {
267
324
  log: function log() {
@@ -304,8 +361,13 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
304
361
  _this.mediaEngine.setLogger(adaptedLogger);
305
362
  _this.primaryMobiusUris = [];
306
363
  _this.backupMobiusUris = [];
364
+ _this.primaryWssMobiusUris = [];
365
+ _this.backupWssMobiusUris = [];
307
366
  _this.mobiusClusters = _this.webex.internal.services.getMobiusClusters();
308
367
  _this.mobiusHost = '';
368
+ _this.apiRequest = _request.APIRequest.getInstance({
369
+ webex: _this.webex
370
+ });
309
371
  _this.registerSessionsListener();
310
372
  _this.registerCallsClearedListener();
311
373
  return _this;
@@ -327,27 +389,36 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
327
389
  return (0, _createClass2.default)(CallingClient, [{
328
390
  key: "init",
329
391
  value: (function () {
330
- var _init = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6() {
331
- var _window, _window$navigator;
332
- var ua, _t;
333
- return _regenerator.default.wrap(function (_context6) {
334
- while (1) switch (_context6.prev = _context6.next) {
392
+ var _init = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7() {
393
+ var _window,
394
+ _window$navigator,
395
+ _this2 = this;
396
+ var loggerContext, ua, _this$sdkConfig3, rtmsDomain, _t;
397
+ return _regenerator.default.wrap(function (_context7) {
398
+ while (1) switch (_context7.prev = _context7.next) {
335
399
  case 0:
400
+ loggerContext = {
401
+ file: _constants2.CALLING_CLIENT_FILE,
402
+ method: _constants2.METHODS.INIT
403
+ };
404
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
405
+
406
+ // Only for Windows Chromium based browsers we need to do the ICE warmup
336
407
  if (!(typeof window !== 'undefined' && (_window = window) !== null && _window !== void 0 && (_window$navigator = _window.navigator) !== null && _window$navigator !== void 0 && _window$navigator.userAgent)) {
337
- _context6.next = 4;
408
+ _context7.next = 4;
338
409
  break;
339
410
  }
340
411
  ua = window.navigator.userAgent;
341
412
  if (!ua.toLowerCase().includes('windows')) {
342
- _context6.next = 4;
413
+ _context7.next = 4;
343
414
  break;
344
415
  }
345
416
  _Logger.default.info('Starting ICE warmup for Windows Chromium based browser', {
346
417
  file: _constants2.CALLING_CLIENT_FILE,
347
418
  method: 'init'
348
419
  });
349
- _context6.prev = 1;
350
- _context6.next = 2;
420
+ _context7.prev = 1;
421
+ _context7.next = 2;
351
422
  return (0, _windowsChromiumIceWarmupUtils.default)({
352
423
  iceServers: [],
353
424
  timeoutMs: 1000
@@ -357,28 +428,62 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
357
428
  file: _constants2.CALLING_CLIENT_FILE,
358
429
  method: 'init'
359
430
  });
360
- _context6.next = 4;
431
+ _context7.next = 4;
361
432
  break;
362
433
  case 3:
363
- _context6.prev = 3;
364
- _t = _context6["catch"](1);
434
+ _context7.prev = 3;
435
+ _t = _context7["catch"](1);
365
436
  _Logger.default.warn("ICE warmup failed: ".concat(_t), {
366
437
  file: _constants2.CALLING_CLIENT_FILE,
367
438
  method: 'init'
368
439
  });
369
440
  case 4:
370
- _context6.next = 5;
441
+ _context7.next = 5;
371
442
  return this.getMobiusServers();
372
443
  case 5:
373
- _context6.next = 6;
374
- return this.createLine();
444
+ if (!this.apiRequest.isSocketEnabled()) {
445
+ _context7.next = 7;
446
+ break;
447
+ }
448
+ this.apiRequest.registerMobiusSocketConnectionListener({
449
+ onConnected: function onConnected() {
450
+ return _this2.emit(_types2.CALLING_CLIENT_EVENT_KEYS.MOBIUS_SOCKET_CONNECTED);
451
+ },
452
+ onDisconnected: function onDisconnected(reason) {
453
+ return _this2.emit(_types2.CALLING_CLIENT_EVENT_KEYS.MOBIUS_SOCKET_DISCONNECTED, {
454
+ reason: reason
455
+ });
456
+ }
457
+ });
458
+ _context7.next = 6;
459
+ return this.connectToMobiusSocket();
375
460
  case 6:
376
- this.setupNetworkEventListeners();
461
+ this.apiRequest.registerMobiusSocketListener(this.handleMobiusAsyncEvent);
377
462
  case 7:
463
+ // Auto-fetch RTMS domain from service catalog for contact-center flows
464
+ if (this.serviceData.indicator === _types3.ServiceIndicator.CONTACT_CENTER && !this.serviceData.domain) {
465
+ rtmsDomain = this.getRTMSDomain();
466
+ this.serviceData.domain = rtmsDomain;
467
+ if ((_this$sdkConfig3 = this.sdkConfig) !== null && _this$sdkConfig3 !== void 0 && _this$sdkConfig3.serviceData) {
468
+ this.sdkConfig.serviceData.domain = this.serviceData.domain;
469
+ }
470
+ }
471
+ if ((0, _Utils.isValidServiceDomain)(this.serviceData)) {
472
+ _context7.next = 8;
473
+ break;
474
+ }
475
+ throw new Error('Invalid service domain.');
476
+ case 8:
477
+ _context7.next = 9;
478
+ return this.createLine();
479
+ case 9:
480
+ this.setupNetworkEventListeners();
481
+ _Logger.default.log('CallingClient initialization complete', loggerContext);
482
+ case 10:
378
483
  case "end":
379
- return _context6.stop();
484
+ return _context7.stop();
380
485
  }
381
- }, _callee6, this, [[1, 3]]);
486
+ }, _callee7, this, [[1, 3]]);
382
487
  }));
383
488
  function init() {
384
489
  return _init.apply(this, arguments);
@@ -386,24 +491,53 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
386
491
  return init;
387
492
  }()
388
493
  /**
389
- * Ping a reliable external endpoint with a short timeout to infer connectivity.
494
+ * Retrieves the RTMS domain from the service catalog for contact-center flows.
495
+ *
496
+ * @returns The RTMS domain from catalog when available.
390
497
  */
391
498
  )
499
+ }, {
500
+ key: "getRTMSDomain",
501
+ value: function getRTMSDomain() {
502
+ _Logger.default.info('Fetching RTMS domain from service catalog', {
503
+ file: _constants2.CALLING_CLIENT_FILE,
504
+ method: _constants2.METHODS.GET_RTMS_DOMAIN
505
+ });
506
+ try {
507
+ var rtmsURL = this.webex.internal.services.get(_constants2.WCC_CALLING_RTMS_DOMAIN);
508
+ var url = new URL(rtmsURL);
509
+ _Logger.default.info("RTMS domain resolved from catalog: ".concat(url.hostname), {
510
+ file: _constants2.CALLING_CLIENT_FILE,
511
+ method: _constants2.METHODS.GET_RTMS_DOMAIN
512
+ });
513
+ return url.hostname;
514
+ } catch (error) {
515
+ _Logger.default.warn("Failed to fetch RTMS domain from service catalog: ".concat(error), {
516
+ file: _constants2.CALLING_CLIENT_FILE,
517
+ method: _constants2.METHODS.GET_RTMS_DOMAIN
518
+ });
519
+ return '';
520
+ }
521
+ }
522
+
523
+ /**
524
+ * Ping a reliable external endpoint with a short timeout to infer connectivity.
525
+ */
392
526
  }, {
393
527
  key: "checkNetworkReachability",
394
528
  value: (function () {
395
- var _checkNetworkReachability = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7() {
529
+ var _checkNetworkReachability = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8() {
396
530
  var controller, timeoutId, _t2;
397
- return _regenerator.default.wrap(function (_context7) {
398
- while (1) switch (_context7.prev = _context7.next) {
531
+ return _regenerator.default.wrap(function (_context8) {
532
+ while (1) switch (_context8.prev = _context8.next) {
399
533
  case 0:
400
- _context7.prev = 0;
534
+ _context8.prev = 0;
401
535
  controller = new AbortController();
402
536
  timeoutId = setTimeout(function () {
403
537
  return controller.abort();
404
538
  }, 3000); // Using a common connectivity check endpoint that returns 204 with minimal payload.
405
539
  // no-cors mode yields an opaque response but a successful fetch implies reachability.
406
- _context7.next = 1;
540
+ _context8.next = 1;
407
541
  return fetch('https://www.google.com/generate_204', {
408
542
  method: 'GET',
409
543
  cache: 'no-cache',
@@ -412,20 +546,20 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
412
546
  });
413
547
  case 1:
414
548
  clearTimeout(timeoutId);
415
- return _context7.abrupt("return", true);
549
+ return _context8.abrupt("return", true);
416
550
  case 2:
417
- _context7.prev = 2;
418
- _t2 = _context7["catch"](0);
551
+ _context8.prev = 2;
552
+ _t2 = _context8["catch"](0);
419
553
  _Logger.default.warn("Network connectivity probe failed: ".concat(_t2), {
420
554
  file: _constants2.CALLING_CLIENT_FILE,
421
555
  method: 'pingExternal'
422
556
  });
423
- return _context7.abrupt("return", false);
557
+ return _context8.abrupt("return", false);
424
558
  case 3:
425
559
  case "end":
426
- return _context7.stop();
560
+ return _context8.stop();
427
561
  }
428
- }, _callee7, null, [[0, 2]]);
562
+ }, _callee8, null, [[0, 2]]);
429
563
  }));
430
564
  function checkNetworkReachability() {
431
565
  return _checkNetworkReachability.apply(this, arguments);
@@ -435,10 +569,10 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
435
569
  }, {
436
570
  key: "checkCallStatus",
437
571
  value: function () {
438
- var _checkCallStatus = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8() {
572
+ var _checkCallStatus = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9() {
439
573
  var loggerContext, calls, _iterator, _step, _loop, _t3;
440
- return _regenerator.default.wrap(function (_context9) {
441
- while (1) switch (_context9.prev = _context9.next) {
574
+ return _regenerator.default.wrap(function (_context0) {
575
+ while (1) switch (_context0.prev = _context0.next) {
442
576
  case 0:
443
577
  loggerContext = {
444
578
  file: _constants2.CALLING_CLIENT_FILE,
@@ -446,11 +580,11 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
446
580
  };
447
581
  calls = (0, _values.default)(this.callManager.getActiveCalls());
448
582
  _iterator = _createForOfIteratorHelper(calls);
449
- _context9.prev = 1;
583
+ _context0.prev = 1;
450
584
  _loop = /*#__PURE__*/_regenerator.default.mark(function _loop() {
451
585
  var call;
452
- return _regenerator.default.wrap(function (_context8) {
453
- while (1) switch (_context8.prev = _context8.next) {
586
+ return _regenerator.default.wrap(function (_context9) {
587
+ while (1) switch (_context9.prev = _context9.next) {
454
588
  case 0:
455
589
  call = _step.value;
456
590
  call.postStatus().then(function () {
@@ -467,36 +601,36 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
467
601
  });
468
602
  case 1:
469
603
  case "end":
470
- return _context8.stop();
604
+ return _context9.stop();
471
605
  }
472
606
  }, _loop);
473
607
  });
474
608
  _iterator.s();
475
609
  case 2:
476
610
  if ((_step = _iterator.n()).done) {
477
- _context9.next = 4;
611
+ _context0.next = 4;
478
612
  break;
479
613
  }
480
- return _context9.delegateYield(_loop(), "t0", 3);
614
+ return _context0.delegateYield(_loop(), "t0", 3);
481
615
  case 3:
482
- _context9.next = 2;
616
+ _context0.next = 2;
483
617
  break;
484
618
  case 4:
485
- _context9.next = 6;
619
+ _context0.next = 6;
486
620
  break;
487
621
  case 5:
488
- _context9.prev = 5;
489
- _t3 = _context9["catch"](1);
622
+ _context0.prev = 5;
623
+ _t3 = _context0["catch"](1);
490
624
  _iterator.e(_t3);
491
625
  case 6:
492
- _context9.prev = 6;
626
+ _context0.prev = 6;
493
627
  _iterator.f();
494
- return _context9.finish(6);
628
+ return _context0.finish(6);
495
629
  case 7:
496
630
  case "end":
497
- return _context9.stop();
631
+ return _context0.stop();
498
632
  }
499
- }, _callee8, this, [[1, 5, 6, 7]]);
633
+ }, _callee9, this, [[1, 5, 6, 7]]);
500
634
  }));
501
635
  function checkCallStatus() {
502
636
  return _checkCallStatus.apply(this, arguments);
@@ -506,16 +640,16 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
506
640
  }, {
507
641
  key: "setupNetworkEventListeners",
508
642
  value: function setupNetworkEventListeners() {
509
- var _this2 = this;
643
+ var _this3 = this;
510
644
  if (typeof window !== 'undefined' && window.addEventListener) {
511
645
  window.addEventListener('online', this.handleNetworkOnline);
512
646
  window.addEventListener('offline', this.handleNetworkOffline);
513
647
  }
514
648
  this.webex.internal.mercury.on('offline', function () {
515
- _this2.handleMercuryOffline();
649
+ _this3.handleMercuryOffline();
516
650
  });
517
651
  this.webex.internal.mercury.on('online', function () {
518
- _this2.handleMercuryOnline();
652
+ _this3.handleMercuryOnline();
519
653
  });
520
654
  }
521
655
 
@@ -525,19 +659,19 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
525
659
  }, {
526
660
  key: "getClientRegionInfo",
527
661
  value: (function () {
528
- var _getClientRegionInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9() {
529
- var _this3 = this;
662
+ var _getClientRegionInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0() {
663
+ var _this4 = this;
530
664
  var abort, regionInfo, _response$headers, _response$headers$tra, _response$headers2, response, clientRegionInfo, _t4;
531
- return _regenerator.default.wrap(function (_context0) {
532
- while (1) switch (_context0.prev = _context0.next) {
665
+ return _regenerator.default.wrap(function (_context1) {
666
+ while (1) switch (_context1.prev = _context1.next) {
533
667
  case 0:
534
668
  _Logger.default.info(_constants.METHOD_START_MESSAGE, {
535
669
  file: _constants2.CALLING_CLIENT_FILE,
536
670
  method: _constants2.METHODS.GET_CLIENT_REGION_INFO
537
671
  });
538
672
  regionInfo = {};
539
- _context0.prev = 1;
540
- _context0.next = 2;
673
+ _context1.prev = 1;
674
+ _context1.next = 2;
541
675
  return this.webex.request({
542
676
  uri: "".concat(_constants2.DISCOVERY_URL),
543
677
  method: _types3.HTTP_METHODS.GET,
@@ -545,7 +679,7 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
545
679
  headers: (0, _defineProperty2.default)({}, _constants2.SPARK_USER_AGENT, null)
546
680
  });
547
681
  case 2:
548
- response = _context0.sent;
682
+ response = _context1.sent;
549
683
  clientRegionInfo = response.body;
550
684
  regionInfo.clientRegion = (clientRegionInfo === null || clientRegionInfo === void 0 ? void 0 : clientRegionInfo.clientRegion) || '';
551
685
  regionInfo.countryCode = (clientRegionInfo === null || clientRegionInfo === void 0 ? void 0 : clientRegionInfo.countryCode) || '';
@@ -553,46 +687,46 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
553
687
  file: _constants2.CALLING_CLIENT_FILE,
554
688
  method: _constants2.METHODS.GET_CLIENT_REGION_INFO
555
689
  });
556
- 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 : '');
557
- _context0.next = 6;
690
+ 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 : '');
691
+ _context1.next = 6;
558
692
  break;
559
693
  case 3:
560
- _context0.prev = 3;
561
- _t4 = _context0["catch"](1);
694
+ _context1.prev = 3;
695
+ _t4 = _context1["catch"](1);
562
696
  _Logger.default.error("Failed to get client region info: ".concat((0, _stringify.default)(_t4)), {
563
697
  method: _constants2.METHODS.GET_CLIENT_REGION_INFO,
564
698
  file: _constants2.CALLING_CLIENT_FILE
565
699
  });
566
700
 
567
701
  // eslint-disable-next-line no-await-in-loop
568
- _context0.next = 4;
702
+ _context1.next = 4;
569
703
  return (0, _Utils.handleCallingClientErrors)(_t4, function (clientError) {
570
704
  var _headers$trackingId, _headers2;
571
- _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);
572
- _this3.emit(_types2.CALLING_CLIENT_EVENT_KEYS.ERROR, clientError);
705
+ _this4.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);
706
+ _this4.emit(_types2.CALLING_CLIENT_EVENT_KEYS.ERROR, clientError);
573
707
  }, {
574
708
  method: _constants2.GET_MOBIUS_SERVERS_UTIL,
575
709
  file: _constants2.CALLING_CLIENT_FILE
576
710
  });
577
711
  case 4:
578
- abort = _context0.sent;
712
+ abort = _context1.sent;
579
713
  regionInfo.clientRegion = '';
580
714
  regionInfo.countryCode = '';
581
715
  if (!abort) {
582
- _context0.next = 6;
716
+ _context1.next = 6;
583
717
  break;
584
718
  }
585
- _context0.next = 5;
719
+ _context1.next = 5;
586
720
  return (0, _Utils.uploadLogs)();
587
721
  case 5:
588
- return _context0.abrupt("return", regionInfo);
722
+ return _context1.abrupt("return", regionInfo);
589
723
  case 6:
590
- return _context0.abrupt("return", regionInfo);
724
+ return _context1.abrupt("return", regionInfo);
591
725
  case 7:
592
726
  case "end":
593
- return _context0.stop();
727
+ return _context1.stop();
594
728
  }
595
- }, _callee9, this, [[1, 3]]);
729
+ }, _callee0, this, [[1, 3]]);
596
730
  }));
597
731
  function getClientRegionInfo() {
598
732
  return _getClientRegionInfo.apply(this, arguments);
@@ -606,15 +740,15 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
606
740
  }, {
607
741
  key: "getMobiusServers",
608
742
  value: (function () {
609
- var _getMobiusServers = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0() {
610
- var _this$sdkConfig3,
611
- _this$sdkConfig3$disc,
612
- _this$sdkConfig4,
743
+ var _getMobiusServers = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1() {
744
+ var _this$sdkConfig4,
613
745
  _this$sdkConfig4$disc,
614
- _this4 = this;
615
- var useDefault, clientRegion, countryCode, _this$sdkConfig5, _this$sdkConfig5$disc, _this$sdkConfig6, _this$sdkConfig6$disc, _this$webex$internal$, regionInfo, _iterator2, _step2, _loop2, _ret, _t6;
616
- return _regenerator.default.wrap(function (_context10) {
617
- while (1) switch (_context10.prev = _context10.next) {
746
+ _this$sdkConfig5,
747
+ _this$sdkConfig5$disc,
748
+ _this5 = this;
749
+ var useDefault, clientRegion, countryCode, _this$sdkConfig6, _this$sdkConfig6$disc, _this$sdkConfig7, _this$sdkConfig7$disc, _this$webex$internal$, regionInfo, _iterator2, _step2, _loop2, _ret, _t6;
750
+ return _regenerator.default.wrap(function (_context11) {
751
+ while (1) switch (_context11.prev = _context11.next) {
618
752
  case 0:
619
753
  _Logger.default.info(_constants.METHOD_START_MESSAGE, {
620
754
  file: _constants2.CALLING_CLIENT_FILE,
@@ -628,33 +762,33 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
628
762
  5. Otherwise send registration
629
763
  */
630
764
  useDefault = false;
631
- if (!((_this$sdkConfig3 = this.sdkConfig) !== null && _this$sdkConfig3 !== void 0 && (_this$sdkConfig3$disc = _this$sdkConfig3.discovery) !== null && _this$sdkConfig3$disc !== void 0 && _this$sdkConfig3$disc.country && (_this$sdkConfig4 = this.sdkConfig) !== null && _this$sdkConfig4 !== void 0 && (_this$sdkConfig4$disc = _this$sdkConfig4.discovery) !== null && _this$sdkConfig4$disc !== void 0 && _this$sdkConfig4$disc.region)) {
632
- _context10.next = 1;
765
+ 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)) {
766
+ _context11.next = 1;
633
767
  break;
634
768
  }
635
769
  _Logger.default.log('Updating region and country from the SDK config', {
636
770
  file: _constants2.CALLING_CLIENT_FILE,
637
771
  method: _constants2.GET_MOBIUS_SERVERS_UTIL
638
772
  });
639
- clientRegion = (_this$sdkConfig5 = this.sdkConfig) === null || _this$sdkConfig5 === void 0 ? void 0 : (_this$sdkConfig5$disc = _this$sdkConfig5.discovery) === null || _this$sdkConfig5$disc === void 0 ? void 0 : _this$sdkConfig5$disc.region;
640
- countryCode = (_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.country;
773
+ 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;
774
+ 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;
641
775
  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);
642
- _context10.next = 3;
776
+ _context11.next = 3;
643
777
  break;
644
778
  case 1:
645
779
  _Logger.default.log('Updating region and country through Region discovery', {
646
780
  file: _constants2.CALLING_CLIENT_FILE,
647
781
  method: _constants2.GET_MOBIUS_SERVERS_UTIL
648
782
  });
649
- _context10.next = 2;
783
+ _context11.next = 2;
650
784
  return this.getClientRegionInfo();
651
785
  case 2:
652
- regionInfo = _context10.sent;
786
+ regionInfo = _context11.sent;
653
787
  clientRegion = regionInfo.clientRegion;
654
788
  countryCode = regionInfo.countryCode;
655
789
  case 3:
656
790
  if (!(clientRegion && countryCode)) {
657
- _context10.next = 12;
791
+ _context11.next = 12;
658
792
  break;
659
793
  }
660
794
  _Logger.default.log("Found Region: ".concat(clientRegion, " and country: ").concat(countryCode, ", going to fetch Mobius server"), {
@@ -662,110 +796,112 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
662
796
  method: _constants2.GET_MOBIUS_SERVERS_UTIL
663
797
  });
664
798
  _iterator2 = _createForOfIteratorHelper(this.mobiusClusters);
665
- _context10.prev = 4;
799
+ _context11.prev = 4;
666
800
  _loop2 = /*#__PURE__*/_regenerator.default.mark(function _loop2() {
667
801
  var mobius, _response$headers3, _response$headers$tra2, _response$headers4, response, mobiusServers, mobiusUris, abort, _t5;
668
- return _regenerator.default.wrap(function (_context1) {
669
- while (1) switch (_context1.prev = _context1.next) {
802
+ return _regenerator.default.wrap(function (_context10) {
803
+ while (1) switch (_context10.prev = _context10.next) {
670
804
  case 0:
671
805
  mobius = _step2.value;
672
806
  if (mobius.host) {
673
- _this4.mobiusHost = "https://".concat(mobius.host).concat(_constants2.API_V1);
807
+ _this5.mobiusHost = "https://".concat(mobius.host).concat(_constants2.API_V1);
674
808
  } else {
675
- _this4.mobiusHost = mobius;
809
+ _this5.mobiusHost = mobius;
676
810
  }
677
- _context1.prev = 1;
678
- _context1.next = 2;
679
- return _this4.webex.request({
680
- uri: "".concat(_this4.mobiusHost).concat(_constants2.URL_ENDPOINT, "?regionCode=").concat(clientRegion, "&countryCode=").concat(countryCode),
811
+ _context10.prev = 1;
812
+ _context10.next = 2;
813
+ return _this5.webex.request({
814
+ uri: "".concat(_this5.mobiusHost).concat(_constants2.URL_ENDPOINT, "?regionCode=").concat(clientRegion, "&countryCode=").concat(countryCode),
681
815
  method: _types3.HTTP_METHODS.GET,
682
- headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, _this4.webex.internal.device.url), _constants2.SPARK_USER_AGENT, _constants2.CALLING_USER_AGENT),
816
+ headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, _this5.webex.internal.device.url), _constants2.SPARK_USER_AGENT, _constants2.CALLING_USER_AGENT),
683
817
  service: _types3.ALLOWED_SERVICES.MOBIUS
684
818
  });
685
819
  case 2:
686
- response = _context1.sent;
820
+ response = _context10.sent;
687
821
  _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), {
688
822
  file: _constants2.CALLING_CLIENT_FILE,
689
823
  method: _constants2.GET_MOBIUS_SERVERS_UTIL
690
824
  });
691
825
  mobiusServers = response.body; // Metrics for mobius servers
692
- _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 : '');
826
+ _this5.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 : '');
693
827
 
694
828
  /* update arrays of Mobius Uris. */
695
- mobiusUris = (0, _Utils.filterMobiusUris)(mobiusServers, _this4.mobiusHost);
696
- _this4.primaryMobiusUris = mobiusUris.primary;
697
- _this4.backupMobiusUris = mobiusUris.backup;
829
+ mobiusUris = (0, _Utils.filterMobiusUris)(mobiusServers, _this5.mobiusHost);
830
+ _this5.primaryMobiusUris = mobiusUris.primary;
831
+ _this5.backupMobiusUris = mobiusUris.backup;
832
+ _this5.primaryWssMobiusUris = mobiusUris.primaryWss;
833
+ _this5.backupWssMobiusUris = mobiusUris.backupWss;
698
834
  _Logger.default.log("Final list of Mobius Servers, primary: ".concat(mobiusUris.primary, " and backup: ").concat(mobiusUris.backup), {
699
835
  file: _constants2.CALLING_CLIENT_FILE,
700
836
  method: _constants2.GET_MOBIUS_SERVERS_UTIL
701
837
  });
702
- return _context1.abrupt("return", 0);
838
+ return _context10.abrupt("return", 0);
703
839
  case 3:
704
- _context1.prev = 3;
705
- _t5 = _context1["catch"](1);
840
+ _context10.prev = 3;
841
+ _t5 = _context10["catch"](1);
706
842
  _Logger.default.error("Failed to get Mobius servers: ".concat((0, _stringify.default)(_t5)), {
707
843
  method: _constants2.METHODS.GET_MOBIUS_SERVERS,
708
844
  file: _constants2.CALLING_CLIENT_FILE
709
845
  });
710
846
 
711
847
  // eslint-disable-next-line no-await-in-loop
712
- _context1.next = 4;
848
+ _context10.next = 4;
713
849
  return (0, _Utils.handleCallingClientErrors)(_t5, function (clientError) {
714
850
  var _headers$trackingId2, _headers4;
715
- _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);
716
- _this4.emit(_types2.CALLING_CLIENT_EVENT_KEYS.ERROR, clientError);
851
+ _this5.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);
852
+ _this5.emit(_types2.CALLING_CLIENT_EVENT_KEYS.ERROR, clientError);
717
853
  }, {
718
854
  method: _constants2.GET_MOBIUS_SERVERS_UTIL,
719
855
  file: _constants2.CALLING_CLIENT_FILE
720
856
  });
721
857
  case 4:
722
- abort = _context1.sent;
858
+ abort = _context10.sent;
723
859
  if (!abort) {
724
- _context1.next = 6;
860
+ _context10.next = 6;
725
861
  break;
726
862
  }
727
863
  useDefault = true;
728
864
  // eslint-disable-next-line no-await-in-loop
729
- _context1.next = 5;
865
+ _context10.next = 5;
730
866
  return (0, _Utils.uploadLogs)();
731
867
  case 5:
732
- return _context1.abrupt("return", 0);
868
+ return _context10.abrupt("return", 0);
733
869
  case 6:
734
870
  case "end":
735
- return _context1.stop();
871
+ return _context10.stop();
736
872
  }
737
873
  }, _loop2, null, [[1, 3]]);
738
874
  });
739
875
  _iterator2.s();
740
876
  case 5:
741
877
  if ((_step2 = _iterator2.n()).done) {
742
- _context10.next = 8;
878
+ _context11.next = 8;
743
879
  break;
744
880
  }
745
- return _context10.delegateYield(_loop2(), "t0", 6);
881
+ return _context11.delegateYield(_loop2(), "t0", 6);
746
882
  case 6:
747
- _ret = _context10.t0;
883
+ _ret = _context11.t0;
748
884
  if (!(_ret === 0)) {
749
- _context10.next = 7;
885
+ _context11.next = 7;
750
886
  break;
751
887
  }
752
- return _context10.abrupt("continue", 8);
888
+ return _context11.abrupt("continue", 8);
753
889
  case 7:
754
- _context10.next = 5;
890
+ _context11.next = 5;
755
891
  break;
756
892
  case 8:
757
- _context10.next = 10;
893
+ _context11.next = 10;
758
894
  break;
759
895
  case 9:
760
- _context10.prev = 9;
761
- _t6 = _context10["catch"](4);
896
+ _context11.prev = 9;
897
+ _t6 = _context11["catch"](4);
762
898
  _iterator2.e(_t6);
763
899
  case 10:
764
- _context10.prev = 10;
900
+ _context11.prev = 10;
765
901
  _iterator2.f();
766
- return _context10.finish(10);
902
+ return _context11.finish(10);
767
903
  case 11:
768
- _context10.next = 13;
904
+ _context11.next = 13;
769
905
  break;
770
906
  case 12:
771
907
  /* Setting this to true because region info is possibly undefined */
@@ -785,9 +921,9 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
785
921
  }
786
922
  case 14:
787
923
  case "end":
788
- return _context10.stop();
924
+ return _context11.stop();
789
925
  }
790
- }, _callee0, this, [[4, 9, 10, 11]]);
926
+ }, _callee1, this, [[4, 9, 10, 11]]);
791
927
  }));
792
928
  function getMobiusServers() {
793
929
  return _getMobiusServers.apply(this, arguments);
@@ -795,14 +931,90 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
795
931
  return getMobiusServers;
796
932
  }()
797
933
  /**
798
- * Registers a listener/handler for ALL_CALLS_CLEARED
799
- * event emitted by callManager when all the calls
800
- * present on sdk are cleaned up.
934
+ * Connects to the Mobius WebSocket using WSS URIs discovered during Mobius server discovery.
935
+ * Attempts primary WSS URIs first, then falls back to backup WSS URIs.
936
+ * If all attempts fail, logs a warning and continues without a socket connection.
801
937
  */
802
938
  )
939
+ }, {
940
+ key: "connectToMobiusSocket",
941
+ value: (function () {
942
+ var _connectToMobiusSocket = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10() {
943
+ var loggerContext, _iterator3, _step3, wssUri, _t7, _t8;
944
+ return _regenerator.default.wrap(function (_context12) {
945
+ while (1) switch (_context12.prev = _context12.next) {
946
+ case 0:
947
+ loggerContext = {
948
+ file: _constants2.CALLING_CLIENT_FILE,
949
+ method: _constants2.METHODS.CONNECT_TO_MOBIUS_SOCKET
950
+ };
951
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, loggerContext);
952
+ if (this.primaryWssMobiusUris.length) {
953
+ _context12.next = 1;
954
+ break;
955
+ }
956
+ _Logger.default.warn('No WSS URIs available from Mobius discovery for primary, skipping socket connection', loggerContext);
957
+ return _context12.abrupt("return");
958
+ case 1:
959
+ // Attempt to establish the socket connection with mobius if primary wss urls are present
960
+ // If wss url is not present for primary/backup, registration will be attempted with http even when feature flag is enabled for mobius socket
961
+ _iterator3 = _createForOfIteratorHelper(this.primaryWssMobiusUris);
962
+ _context12.prev = 2;
963
+ _iterator3.s();
964
+ case 3:
965
+ if ((_step3 = _iterator3.n()).done) {
966
+ _context12.next = 8;
967
+ break;
968
+ }
969
+ wssUri = _step3.value;
970
+ _context12.prev = 4;
971
+ _Logger.default.log("Trying primary WSS URI: ".concat(wssUri), loggerContext);
972
+ // eslint-disable-next-line no-await-in-loop
973
+ _context12.next = 5;
974
+ return this.apiRequest.connectToMobiusSocket(wssUri);
975
+ case 5:
976
+ _Logger.default.log("Successfully connected to Mobius socket on primary WSS URI: ".concat(wssUri), loggerContext);
977
+ return _context12.abrupt("return");
978
+ case 6:
979
+ _context12.prev = 6;
980
+ _t7 = _context12["catch"](4);
981
+ _Logger.default.warn("Primary WSS URI connection failed for ".concat(wssUri, ": ").concat(_t7), loggerContext);
982
+ case 7:
983
+ _context12.next = 3;
984
+ break;
985
+ case 8:
986
+ _context12.next = 10;
987
+ break;
988
+ case 9:
989
+ _context12.prev = 9;
990
+ _t8 = _context12["catch"](2);
991
+ _iterator3.e(_t8);
992
+ case 10:
993
+ _context12.prev = 10;
994
+ _iterator3.f();
995
+ return _context12.finish(10);
996
+ case 11:
997
+ _Logger.default.warn('All primary WSS URI connection attempts failed', loggerContext);
998
+ case 12:
999
+ case "end":
1000
+ return _context12.stop();
1001
+ }
1002
+ }, _callee10, this, [[2, 9, 10, 11], [4, 6]]);
1003
+ }));
1004
+ function connectToMobiusSocket() {
1005
+ return _connectToMobiusSocket.apply(this, arguments);
1006
+ }
1007
+ return connectToMobiusSocket;
1008
+ }())
803
1009
  }, {
804
1010
  key: "registerCallsClearedListener",
805
- value: function registerCallsClearedListener() {
1011
+ value:
1012
+ /**
1013
+ * Registers a listener/handler for ALL_CALLS_CLEARED
1014
+ * event emitted by callManager when all the calls
1015
+ * present on sdk are cleaned up.
1016
+ */
1017
+ function registerCallsClearedListener() {
806
1018
  _Logger.default.info(_constants.METHOD_START_MESSAGE, {
807
1019
  file: _constants2.CALLING_CLIENT_FILE,
808
1020
  method: _constants2.METHODS.REGISTER_CALLS_CLEARED_LISTENER
@@ -832,46 +1044,46 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
832
1044
  }, {
833
1045
  key: "registerSessionsListener",
834
1046
  value: function registerSessionsListener() {
835
- var _this5 = this;
1047
+ var _this6 = this;
836
1048
  _Logger.default.info(_constants.METHOD_START_MESSAGE, {
837
1049
  file: _constants2.CALLING_CLIENT_FILE,
838
1050
  method: _constants2.METHODS.REGISTER_SESSIONS_LISTENER
839
1051
  });
840
1052
  this.sdkConnector.registerListener(_types2.MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_INCLUSIVE, /*#__PURE__*/function () {
841
- var _ref6 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1(event) {
1053
+ var _ref7 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11(event) {
842
1054
  var sessionArr, i;
843
- return _regenerator.default.wrap(function (_context11) {
844
- while (1) switch (_context11.prev = _context11.next) {
1055
+ return _regenerator.default.wrap(function (_context13) {
1056
+ while (1) switch (_context13.prev = _context13.next) {
845
1057
  case 0:
846
1058
  if (!(event && event.data.userSessions.userSessions)) {
847
- _context11.next = 2;
1059
+ _context13.next = 2;
848
1060
  break;
849
1061
  }
850
1062
  sessionArr = event === null || event === void 0 ? void 0 : event.data.userSessions.userSessions;
851
1063
  if (!(sessionArr.length === 1)) {
852
- _context11.next = 1;
1064
+ _context13.next = 1;
853
1065
  break;
854
1066
  }
855
1067
  if (!(sessionArr[0].sessionType !== _types2.SessionType.WEBEX_CALLING)) {
856
- _context11.next = 1;
1068
+ _context13.next = 1;
857
1069
  break;
858
1070
  }
859
- return _context11.abrupt("return");
1071
+ return _context13.abrupt("return");
860
1072
  case 1:
861
1073
  for (i = 0; i < sessionArr.length; i += 1) {
862
1074
  if (sessionArr[i].sessionType !== _types2.SessionType.WEBEX_CALLING) {
863
1075
  sessionArr.splice(i, 1);
864
1076
  }
865
1077
  }
866
- _this5.emit(_types2.CALLING_CLIENT_EVENT_KEYS.USER_SESSION_INFO, event);
1078
+ _this6.emit(_types2.CALLING_CLIENT_EVENT_KEYS.USER_SESSION_INFO, event);
867
1079
  case 2:
868
1080
  case "end":
869
- return _context11.stop();
1081
+ return _context13.stop();
870
1082
  }
871
- }, _callee1);
1083
+ }, _callee11);
872
1084
  }));
873
- return function (_x) {
874
- return _ref6.apply(this, arguments);
1085
+ return function (_x2) {
1086
+ return _ref7.apply(this, arguments);
875
1087
  };
876
1088
  }());
877
1089
  }
@@ -883,23 +1095,29 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
883
1095
  }, {
884
1096
  key: "createLine",
885
1097
  value: (function () {
886
- var _createLine = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10() {
887
- var _this$sdkConfig7, _this$sdkConfig8;
888
- var line;
889
- return _regenerator.default.wrap(function (_context12) {
890
- while (1) switch (_context12.prev = _context12.next) {
1098
+ var _createLine = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12() {
1099
+ var _this$sdkConfig8;
1100
+ var socketEnabled, primaryUris, backupUris, line;
1101
+ return _regenerator.default.wrap(function (_context14) {
1102
+ while (1) switch (_context14.prev = _context14.next) {
891
1103
  case 0:
892
1104
  _Logger.default.info(_constants.METHOD_START_MESSAGE, {
893
1105
  file: _constants2.CALLING_CLIENT_FILE,
894
1106
  method: _constants2.METHODS.CREATE_LINE
895
1107
  });
896
- line = new _line.default(this.webex.internal.device.userId, this.webex.internal.device.url, this.mutex, this.primaryMobiusUris, this.backupMobiusUris, this.getLoggingLevel(), (_this$sdkConfig7 = this.sdkConfig) === null || _this$sdkConfig7 === void 0 ? void 0 : _this$sdkConfig7.serviceData, (_this$sdkConfig8 = this.sdkConfig) === null || _this$sdkConfig8 === void 0 ? void 0 : _this$sdkConfig8.jwe);
1108
+ // When the Mobius socket is enabled, fall back to the HTTP URIs per group when that
1109
+ // group has no WSS URL, so registration is still attempted (primary and backup are
1110
+ // resolved independently). When the socket is disabled, always use the HTTP URIs.
1111
+ socketEnabled = this.apiRequest.isSocketEnabled();
1112
+ primaryUris = socketEnabled && this.primaryWssMobiusUris.length ? (0, _Utils.normalizeMobiusUris)(this.primaryWssMobiusUris) : this.primaryMobiusUris;
1113
+ backupUris = socketEnabled && this.backupWssMobiusUris.length ? (0, _Utils.normalizeMobiusUris)(this.backupWssMobiusUris) : this.backupMobiusUris;
1114
+ line = new _line.default(this.webex.internal.device.userId, this.webex.internal.device.url, this.mutex, primaryUris, backupUris, this.getLoggingLevel(), this.serviceData, (_this$sdkConfig8 = this.sdkConfig) === null || _this$sdkConfig8 === void 0 ? void 0 : _this$sdkConfig8.jwe);
897
1115
  this.lineDict[line.lineId] = line;
898
1116
  case 1:
899
1117
  case "end":
900
- return _context12.stop();
1118
+ return _context14.stop();
901
1119
  }
902
- }, _callee10, this);
1120
+ }, _callee12, this);
903
1121
  }));
904
1122
  function createLine() {
905
1123
  return _createLine.apply(this, arguments);
@@ -917,9 +1135,105 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
917
1135
  return this.lineDict;
918
1136
  }
919
1137
 
1138
+ /**
1139
+ * Fetches the list of devices for a given user from Mobius.
1140
+ */
1141
+ }, {
1142
+ key: "getDevices",
1143
+ value: (function () {
1144
+ var _getDevices = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13(userId) {
1145
+ var userid, mobiusUrls, finalError, _iterator4, _step4, mobiusUrl, normalizedMobiusUrl, uri, _body$devices, response, body, _t9, _t0;
1146
+ return _regenerator.default.wrap(function (_context15) {
1147
+ while (1) switch (_context15.prev = _context15.next) {
1148
+ case 0:
1149
+ userid = userId || this.webex.internal.device.userId;
1150
+ if (userid) {
1151
+ _context15.next = 1;
1152
+ break;
1153
+ }
1154
+ throw new Error('userId is required to fetch devices');
1155
+ case 1:
1156
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, {
1157
+ file: _constants2.CALLING_CLIENT_FILE,
1158
+ method: _constants2.METHODS.GET_DEVICES
1159
+ });
1160
+ mobiusUrls = [].concat((0, _toConsumableArray2.default)(this.primaryMobiusUris), (0, _toConsumableArray2.default)(this.backupMobiusUris));
1161
+ if (!(mobiusUrls.length === 0)) {
1162
+ _context15.next = 2;
1163
+ break;
1164
+ }
1165
+ throw new Error('Mobius URLs are not available');
1166
+ case 2:
1167
+ _iterator4 = _createForOfIteratorHelper(mobiusUrls);
1168
+ _context15.prev = 3;
1169
+ _iterator4.s();
1170
+ case 4:
1171
+ if ((_step4 = _iterator4.n()).done) {
1172
+ _context15.next = 10;
1173
+ break;
1174
+ }
1175
+ mobiusUrl = _step4.value;
1176
+ normalizedMobiusUrl = mobiusUrl.replace(/\/+$/, '/');
1177
+ uri = "".concat(normalizedMobiusUrl).concat(_constants2.DEVICES_ENDPOINT_RESOURCE, "?userid=").concat(encodeURIComponent(userid));
1178
+ _context15.prev = 5;
1179
+ _context15.next = 6;
1180
+ return this.webex.request({
1181
+ uri: uri,
1182
+ method: _types3.HTTP_METHODS.GET,
1183
+ service: _types3.ALLOWED_SERVICES.MOBIUS,
1184
+ headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, this.webex.internal.device.url), _constants2.SPARK_USER_AGENT, _constants2.CALLING_USER_AGENT)
1185
+ });
1186
+ case 6:
1187
+ response = _context15.sent;
1188
+ if (!(response.statusCode !== 200)) {
1189
+ _context15.next = 7;
1190
+ break;
1191
+ }
1192
+ throw new Error("API call failed with ".concat(response.statusCode));
1193
+ case 7:
1194
+ body = response.body; // Hydrate registration deviceInfo for deregister/restore flows
1195
+ (0, _values.default)(this.lineDict)[0].registration.setDeviceInfo(body);
1196
+ (0, _values.default)(this.lineDict)[0].registration.setActiveMobiusUrl(normalizedMobiusUrl);
1197
+ return _context15.abrupt("return", (_body$devices = body.devices) !== null && _body$devices !== void 0 ? _body$devices : []);
1198
+ case 8:
1199
+ _context15.prev = 8;
1200
+ _t9 = _context15["catch"](5);
1201
+ finalError = _t9;
1202
+ case 9:
1203
+ _context15.next = 4;
1204
+ break;
1205
+ case 10:
1206
+ _context15.next = 12;
1207
+ break;
1208
+ case 11:
1209
+ _context15.prev = 11;
1210
+ _t0 = _context15["catch"](3);
1211
+ _iterator4.e(_t0);
1212
+ case 12:
1213
+ _context15.prev = 12;
1214
+ _iterator4.f();
1215
+ return _context15.finish(12);
1216
+ case 13:
1217
+ _Logger.default.error("Failed to fetch devices for userId ".concat(userId, ": ").concat((0, _stringify.default)(finalError)), {
1218
+ file: _constants2.CALLING_CLIENT_FILE,
1219
+ method: _constants2.METHODS.GET_DEVICES
1220
+ });
1221
+ throw finalError;
1222
+ case 14:
1223
+ case "end":
1224
+ return _context15.stop();
1225
+ }
1226
+ }, _callee13, this, [[3, 11, 12, 13], [5, 8]]);
1227
+ }));
1228
+ function getDevices(_x3) {
1229
+ return _getDevices.apply(this, arguments);
1230
+ }
1231
+ return getDevices;
1232
+ }()
920
1233
  /**
921
1234
  * Retrieves call objects for all the active calls present in the client
922
1235
  */
1236
+ )
923
1237
  }, {
924
1238
  key: "getActiveCalls",
925
1239
  value: function getActiveCalls() {
@@ -951,6 +1265,19 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
951
1265
  return connectCall;
952
1266
  }
953
1267
 
1268
+ /**
1269
+ * Indicates whether the Mobius WebSocket transport is currently connected.
1270
+ *
1271
+ * The `MOBIUS_SOCKET_CONNECTED` event is emitted during `init()`, so consumers that
1272
+ * subscribe afterwards may miss it; this lets them reconcile the current state. Returns
1273
+ * `false` when the WebSocket transport is not enabled.
1274
+ */
1275
+ }, {
1276
+ key: "isMobiusSocketConnected",
1277
+ value: function isMobiusSocketConnected() {
1278
+ return this.apiRequest.isSocketEnabled() && this.apiRequest.isSocketConnected();
1279
+ }
1280
+
954
1281
  /**
955
1282
  * Uploads logs to help troubleshoot SDK issues.
956
1283
  *
@@ -964,27 +1291,27 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
964
1291
  }, {
965
1292
  key: "uploadLogs",
966
1293
  value: (function () {
967
- var _uploadLogs2 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11() {
1294
+ var _uploadLogs2 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14() {
968
1295
  var result;
969
- return _regenerator.default.wrap(function (_context13) {
970
- while (1) switch (_context13.prev = _context13.next) {
1296
+ return _regenerator.default.wrap(function (_context16) {
1297
+ while (1) switch (_context16.prev = _context16.next) {
971
1298
  case 0:
972
- _context13.next = 1;
1299
+ _context16.next = 1;
973
1300
  return (0, _Utils.uploadLogs)({}, true);
974
1301
  case 1:
975
- result = _context13.sent;
1302
+ result = _context16.sent;
976
1303
  if (result) {
977
- _context13.next = 2;
1304
+ _context16.next = 2;
978
1305
  break;
979
1306
  }
980
1307
  throw new Error('Failed to upload logs: No response received.');
981
1308
  case 2:
982
- return _context13.abrupt("return", result);
1309
+ return _context16.abrupt("return", result);
983
1310
  case 3:
984
1311
  case "end":
985
- return _context13.stop();
1312
+ return _context16.stop();
986
1313
  }
987
- }, _callee11);
1314
+ }, _callee14);
988
1315
  }));
989
1316
  function uploadLogs() {
990
1317
  return _uploadLogs2.apply(this, arguments);
@@ -999,24 +1326,24 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
999
1326
  * @param config - Config to start the CallingClient with.
1000
1327
  */
1001
1328
  var createClient = exports.createClient = /*#__PURE__*/function () {
1002
- var _ref7 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12(webex, config) {
1329
+ var _ref8 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15(webex, config) {
1003
1330
  var callingClientInstance;
1004
- return _regenerator.default.wrap(function (_context14) {
1005
- while (1) switch (_context14.prev = _context14.next) {
1331
+ return _regenerator.default.wrap(function (_context17) {
1332
+ while (1) switch (_context17.prev = _context17.next) {
1006
1333
  case 0:
1007
1334
  callingClientInstance = new CallingClient(webex, config);
1008
- _context14.next = 1;
1335
+ _context17.next = 1;
1009
1336
  return callingClientInstance.init();
1010
1337
  case 1:
1011
- return _context14.abrupt("return", callingClientInstance);
1338
+ return _context17.abrupt("return", callingClientInstance);
1012
1339
  case 2:
1013
1340
  case "end":
1014
- return _context14.stop();
1341
+ return _context17.stop();
1015
1342
  }
1016
- }, _callee12);
1343
+ }, _callee15);
1017
1344
  }));
1018
- return function createClient(_x2, _x3) {
1019
- return _ref7.apply(this, arguments);
1345
+ return function createClient(_x4, _x5) {
1346
+ return _ref8.apply(this, arguments);
1020
1347
  };
1021
1348
  }();
1022
1349
  //# sourceMappingURL=CallingClient.js.map