@webex/calling 3.10.0 → 3.11.0

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 (221) hide show
  1. package/dist/module/CallHistory/CallHistory.js +20 -11
  2. package/dist/module/CallSettings/UcmBackendConnector.js +21 -8
  3. package/dist/module/CallSettings/WxCallBackendConnector.js +10 -15
  4. package/dist/module/CallingClient/CallingClient.js +83 -123
  5. package/dist/module/CallingClient/calling/call.js +73 -58
  6. package/dist/module/CallingClient/calling/callManager.js +7 -0
  7. package/dist/module/CallingClient/constants.js +3 -0
  8. package/dist/module/CallingClient/registration/register.js +85 -5
  9. package/dist/module/CallingClient/registration/webWorker.js +2 -2
  10. package/dist/module/CallingClient/registration/webWorkerStr.js +2 -2
  11. package/dist/module/Contacts/ContactsClient.js +19 -25
  12. package/dist/module/Events/impl/index.js +1 -1
  13. package/dist/module/Logger/index.js +2 -2
  14. package/dist/module/Voicemail/BroadworksBackendConnector.js +10 -18
  15. package/dist/module/Voicemail/UcmBackendConnector.js +7 -11
  16. package/dist/module/Voicemail/Voicemail.js +42 -68
  17. package/dist/module/Voicemail/WxCallBackendConnector.js +14 -28
  18. package/dist/module/common/Utils.js +31 -5
  19. package/dist/module/common/constants.js +2 -0
  20. package/dist/module/common/testUtil.js +1 -0
  21. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  22. package/dist/types/CallSettings/UcmBackendConnector.d.ts +1 -0
  23. package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
  24. package/dist/types/CallSettings/WxCallBackendConnector.d.ts.map +1 -1
  25. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  26. package/dist/types/CallingClient/calling/call.d.ts +4 -0
  27. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  28. package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
  29. package/dist/types/CallingClient/constants.d.ts +3 -0
  30. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  31. package/dist/types/CallingClient/registration/register.d.ts +4 -0
  32. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  33. package/dist/types/CallingClient/registration/types.d.ts +6 -0
  34. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  35. package/dist/types/CallingClient/registration/webWorkerStr.d.ts +1 -1
  36. package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -1
  37. package/dist/types/Contacts/ContactsClient.d.ts +1 -0
  38. package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
  39. package/dist/types/Logger/index.d.ts +1 -2
  40. package/dist/types/Logger/index.d.ts.map +1 -1
  41. package/dist/types/SDKConnector/types.d.ts +16 -0
  42. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  43. package/dist/types/Voicemail/BroadworksBackendConnector.d.ts.map +1 -1
  44. package/dist/types/Voicemail/UcmBackendConnector.d.ts.map +1 -1
  45. package/dist/types/Voicemail/Voicemail.d.ts.map +1 -1
  46. package/dist/types/Voicemail/WxCallBackendConnector.d.ts.map +1 -1
  47. package/dist/types/common/Utils.d.ts +1 -1
  48. package/dist/types/common/Utils.d.ts.map +1 -1
  49. package/dist/types/common/constants.d.ts +2 -0
  50. package/dist/types/common/constants.d.ts.map +1 -1
  51. package/dist/types/common/testUtil.d.ts +1 -0
  52. package/dist/types/common/testUtil.d.ts.map +1 -1
  53. package/package.json +4 -4
  54. package/dist/CallHistory/CallHistory.js +0 -584
  55. package/dist/CallHistory/CallHistory.js.map +0 -1
  56. package/dist/CallHistory/CallHistory.test.js +0 -813
  57. package/dist/CallHistory/CallHistory.test.js.map +0 -1
  58. package/dist/CallHistory/callHistoryFixtures.js +0 -650
  59. package/dist/CallHistory/callHistoryFixtures.js.map +0 -1
  60. package/dist/CallHistory/constants.js +0 -38
  61. package/dist/CallHistory/constants.js.map +0 -1
  62. package/dist/CallHistory/types.js +0 -7
  63. package/dist/CallHistory/types.js.map +0 -1
  64. package/dist/CallSettings/CallSettings.js +0 -312
  65. package/dist/CallSettings/CallSettings.js.map +0 -1
  66. package/dist/CallSettings/CallSettings.test.js +0 -122
  67. package/dist/CallSettings/CallSettings.test.js.map +0 -1
  68. package/dist/CallSettings/UcmBackendConnector.js +0 -261
  69. package/dist/CallSettings/UcmBackendConnector.js.map +0 -1
  70. package/dist/CallSettings/UcmBackendConnector.test.js +0 -321
  71. package/dist/CallSettings/UcmBackendConnector.test.js.map +0 -1
  72. package/dist/CallSettings/WxCallBackendConnector.js +0 -604
  73. package/dist/CallSettings/WxCallBackendConnector.js.map +0 -1
  74. package/dist/CallSettings/WxCallBackendConnector.test.js +0 -905
  75. package/dist/CallSettings/WxCallBackendConnector.test.js.map +0 -1
  76. package/dist/CallSettings/constants.js +0 -31
  77. package/dist/CallSettings/constants.js.map +0 -1
  78. package/dist/CallSettings/testFixtures.js +0 -68
  79. package/dist/CallSettings/testFixtures.js.map +0 -1
  80. package/dist/CallSettings/types.js +0 -7
  81. package/dist/CallSettings/types.js.map +0 -1
  82. package/dist/CallingClient/CallingClient.js +0 -1071
  83. package/dist/CallingClient/CallingClient.js.map +0 -1
  84. package/dist/CallingClient/CallingClient.test.js +0 -1289
  85. package/dist/CallingClient/CallingClient.test.js.map +0 -1
  86. package/dist/CallingClient/callRecordFixtures.js +0 -101
  87. package/dist/CallingClient/callRecordFixtures.js.map +0 -1
  88. package/dist/CallingClient/calling/CallerId/index.js +0 -276
  89. package/dist/CallingClient/calling/CallerId/index.js.map +0 -1
  90. package/dist/CallingClient/calling/CallerId/index.test.js +0 -275
  91. package/dist/CallingClient/calling/CallerId/index.test.js.map +0 -1
  92. package/dist/CallingClient/calling/CallerId/types.js +0 -7
  93. package/dist/CallingClient/calling/CallerId/types.js.map +0 -1
  94. package/dist/CallingClient/calling/call.js +0 -3444
  95. package/dist/CallingClient/calling/call.js.map +0 -1
  96. package/dist/CallingClient/calling/call.test.js +0 -3260
  97. package/dist/CallingClient/calling/call.test.js.map +0 -1
  98. package/dist/CallingClient/calling/callManager.js +0 -456
  99. package/dist/CallingClient/calling/callManager.js.map +0 -1
  100. package/dist/CallingClient/calling/callManager.test.js +0 -741
  101. package/dist/CallingClient/calling/callManager.test.js.map +0 -1
  102. package/dist/CallingClient/calling/index.js +0 -30
  103. package/dist/CallingClient/calling/index.js.map +0 -1
  104. package/dist/CallingClient/calling/types.js +0 -74
  105. package/dist/CallingClient/calling/types.js.map +0 -1
  106. package/dist/CallingClient/callingClientFixtures.js +0 -143
  107. package/dist/CallingClient/callingClientFixtures.js.map +0 -1
  108. package/dist/CallingClient/constants.js +0 -237
  109. package/dist/CallingClient/constants.js.map +0 -1
  110. package/dist/CallingClient/line/index.js +0 -349
  111. package/dist/CallingClient/line/index.js.map +0 -1
  112. package/dist/CallingClient/line/line.test.js +0 -327
  113. package/dist/CallingClient/line/line.test.js.map +0 -1
  114. package/dist/CallingClient/line/types.js +0 -21
  115. package/dist/CallingClient/line/types.js.map +0 -1
  116. package/dist/CallingClient/registration/index.js +0 -19
  117. package/dist/CallingClient/registration/index.js.map +0 -1
  118. package/dist/CallingClient/registration/register.js +0 -1538
  119. package/dist/CallingClient/registration/register.js.map +0 -1
  120. package/dist/CallingClient/registration/register.test.js +0 -1537
  121. package/dist/CallingClient/registration/register.test.js.map +0 -1
  122. package/dist/CallingClient/registration/registerFixtures.js +0 -36
  123. package/dist/CallingClient/registration/registerFixtures.js.map +0 -1
  124. package/dist/CallingClient/registration/types.js +0 -7
  125. package/dist/CallingClient/registration/types.js.map +0 -1
  126. package/dist/CallingClient/registration/webWorker.js +0 -130
  127. package/dist/CallingClient/registration/webWorker.js.map +0 -1
  128. package/dist/CallingClient/registration/webWorker.test.js +0 -303
  129. package/dist/CallingClient/registration/webWorker.test.js.map +0 -1
  130. package/dist/CallingClient/registration/webWorkerStr.js +0 -15
  131. package/dist/CallingClient/registration/webWorkerStr.js.map +0 -1
  132. package/dist/CallingClient/types.js +0 -7
  133. package/dist/CallingClient/types.js.map +0 -1
  134. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +0 -142
  135. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +0 -1
  136. package/dist/Contacts/ContactsClient.js +0 -1215
  137. package/dist/Contacts/ContactsClient.js.map +0 -1
  138. package/dist/Contacts/ContactsClient.test.js +0 -1003
  139. package/dist/Contacts/ContactsClient.test.js.map +0 -1
  140. package/dist/Contacts/constants.js +0 -40
  141. package/dist/Contacts/constants.js.map +0 -1
  142. package/dist/Contacts/contactFixtures.js +0 -430
  143. package/dist/Contacts/contactFixtures.js.map +0 -1
  144. package/dist/Contacts/types.js +0 -43
  145. package/dist/Contacts/types.js.map +0 -1
  146. package/dist/Errors/catalog/CallError.js +0 -92
  147. package/dist/Errors/catalog/CallError.js.map +0 -1
  148. package/dist/Errors/catalog/CallingDeviceError.js +0 -86
  149. package/dist/Errors/catalog/CallingDeviceError.js.map +0 -1
  150. package/dist/Errors/catalog/ExtendedError.js +0 -44
  151. package/dist/Errors/catalog/ExtendedError.js.map +0 -1
  152. package/dist/Errors/catalog/LineError.js +0 -88
  153. package/dist/Errors/catalog/LineError.js.map +0 -1
  154. package/dist/Errors/index.js +0 -28
  155. package/dist/Errors/index.js.map +0 -1
  156. package/dist/Errors/types.js +0 -59
  157. package/dist/Errors/types.js.map +0 -1
  158. package/dist/Events/impl/index.js +0 -81
  159. package/dist/Events/impl/index.js.map +0 -1
  160. package/dist/Events/types.js +0 -107
  161. package/dist/Events/types.js.map +0 -1
  162. package/dist/Logger/index.js +0 -228
  163. package/dist/Logger/index.js.map +0 -1
  164. package/dist/Logger/index.test.js +0 -87
  165. package/dist/Logger/index.test.js.map +0 -1
  166. package/dist/Logger/types.js +0 -34
  167. package/dist/Logger/types.js.map +0 -1
  168. package/dist/Metrics/index.js +0 -535
  169. package/dist/Metrics/index.js.map +0 -1
  170. package/dist/Metrics/index.test.js +0 -463
  171. package/dist/Metrics/index.test.js.map +0 -1
  172. package/dist/Metrics/types.js +0 -64
  173. package/dist/Metrics/types.js.map +0 -1
  174. package/dist/SDKConnector/index.js +0 -103
  175. package/dist/SDKConnector/index.js.map +0 -1
  176. package/dist/SDKConnector/index.test.js +0 -9
  177. package/dist/SDKConnector/index.test.js.map +0 -1
  178. package/dist/SDKConnector/types.js +0 -7
  179. package/dist/SDKConnector/types.js.map +0 -1
  180. package/dist/SDKConnector/utils.js +0 -39
  181. package/dist/SDKConnector/utils.js.map +0 -1
  182. package/dist/SDKConnector/utils.test.js +0 -9
  183. package/dist/SDKConnector/utils.test.js.map +0 -1
  184. package/dist/Voicemail/BroadworksBackendConnector.js +0 -707
  185. package/dist/Voicemail/BroadworksBackendConnector.js.map +0 -1
  186. package/dist/Voicemail/BroadworksBackendConnector.test.js +0 -812
  187. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +0 -1
  188. package/dist/Voicemail/UcmBackendConnector.js +0 -632
  189. package/dist/Voicemail/UcmBackendConnector.js.map +0 -1
  190. package/dist/Voicemail/UcmBackendConnector.test.js +0 -738
  191. package/dist/Voicemail/UcmBackendConnector.test.js.map +0 -1
  192. package/dist/Voicemail/Voicemail.js +0 -500
  193. package/dist/Voicemail/Voicemail.js.map +0 -1
  194. package/dist/Voicemail/Voicemail.test.js +0 -391
  195. package/dist/Voicemail/Voicemail.test.js.map +0 -1
  196. package/dist/Voicemail/WxCallBackendConnector.js +0 -671
  197. package/dist/Voicemail/WxCallBackendConnector.js.map +0 -1
  198. package/dist/Voicemail/WxCallBackendConnector.test.js +0 -1199
  199. package/dist/Voicemail/WxCallBackendConnector.test.js.map +0 -1
  200. package/dist/Voicemail/constants.js +0 -61
  201. package/dist/Voicemail/constants.js.map +0 -1
  202. package/dist/Voicemail/types.js +0 -7
  203. package/dist/Voicemail/types.js.map +0 -1
  204. package/dist/Voicemail/voicemailFixture.js +0 -524
  205. package/dist/Voicemail/voicemailFixture.js.map +0 -1
  206. package/dist/api.js +0 -157
  207. package/dist/api.js.map +0 -1
  208. package/dist/common/Utils.js +0 -1451
  209. package/dist/common/Utils.js.map +0 -1
  210. package/dist/common/Utils.test.js +0 -1744
  211. package/dist/common/Utils.test.js.map +0 -1
  212. package/dist/common/constants.js +0 -60
  213. package/dist/common/constants.js.map +0 -1
  214. package/dist/common/index.js +0 -19
  215. package/dist/common/index.js.map +0 -1
  216. package/dist/common/testUtil.js +0 -982
  217. package/dist/common/testUtil.js.map +0 -1
  218. package/dist/common/types.js +0 -75
  219. package/dist/common/types.js.map +0 -1
  220. package/dist/index.js +0 -321
  221. package/dist/index.js.map +0 -1
@@ -1,1071 +0,0 @@
1
- "use strict";
2
-
3
- var _typeof = require("@babel/runtime-corejs2/helpers/typeof");
4
- var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
5
- var _Array$from = require("@babel/runtime-corejs2/core-js/array/from");
6
- var _Symbol = require("@babel/runtime-corejs2/core-js/symbol");
7
- var _Symbol$iterator = require("@babel/runtime-corejs2/core-js/symbol/iterator");
8
- var _Array$isArray = require("@babel/runtime-corejs2/core-js/array/is-array");
9
- var _WeakMap = require("@babel/runtime-corejs2/core-js/weak-map");
10
- var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
11
- var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
12
- var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
13
- _Object$defineProperty(exports, "__esModule", {
14
- value: true
15
- });
16
- exports.createClient = exports.CallingClient = void 0;
17
- var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
18
- var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
19
- var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
20
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
21
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
22
- var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
23
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
24
- var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
25
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
26
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
27
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
28
- var Media = _interopRequireWildcard(require("@webex/internal-media-core"));
29
- var _asyncMutex = require("async-mutex");
30
- var _constants = require("../common/constants");
31
- var _Utils = require("../common/Utils");
32
- var _types = require("../Logger/types");
33
- var _SDKConnector = _interopRequireDefault(require("../SDKConnector"));
34
- var _impl = require("../Events/impl");
35
- var _types2 = require("../Events/types");
36
- var _types3 = require("../common/types");
37
- var _Logger = _interopRequireDefault(require("../Logger"));
38
- var _callManager = require("./calling/callManager");
39
- var _constants2 = require("./constants");
40
- var _line = _interopRequireDefault(require("./line"));
41
- var _types4 = require("../Metrics/types");
42
- var _Metrics = require("../Metrics");
43
- 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 _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
45
- 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
- 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
- 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; }
48
- function _createSuper(t) { var r = _isNativeReflectConstruct(); return function () { var e, o = (0, _getPrototypeOf2.default)(t); if (r) { var s = (0, _getPrototypeOf2.default)(this).constructor; e = _Reflect$construct(o, arguments, s); } else e = o.apply(this, arguments); return (0, _possibleConstructorReturn2.default)(this, e); }; }
49
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* eslint-disable no-underscore-dangle */ /* eslint-disable valid-jsdoc */ /* eslint-disable @typescript-eslint/no-shadow */
50
- /**
51
- * The `CallingClient` module provides a set of APIs for line registration and calling functionalities within the SDK.
52
- *
53
- * The following code snippet demonstrates how to create an instance of `CallingClient` using a `webex` instance and `callingConfig`:
54
- *
55
- * @example
56
- * ```javascript
57
- * const callingClient = createClient(webex, callingConfig);
58
- * ```
59
- */
60
- var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
61
- (0, _inherits2.default)(CallingClient, _Eventing);
62
- var _super = _createSuper(CallingClient);
63
- /**
64
- * @ignore
65
- */
66
- function CallingClient(webex, config) {
67
- var _this$sdkConfig, _this$sdkConfig$servi, _this$sdkConfig2, _this$sdkConfig2$logg;
68
- var _this;
69
- (0, _classCallCheck2.default)(this, CallingClient);
70
- _this = _super.call(this);
71
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sdkConnector", void 0);
72
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "webex", void 0);
73
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mutex", void 0);
74
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "callManager", void 0);
75
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "metricManager", void 0);
76
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sdkConfig", void 0);
77
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "primaryMobiusUris", void 0);
78
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "backupMobiusUris", void 0);
79
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mobiusClusters", void 0);
80
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mobiusHost", void 0);
81
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mediaEngine", void 0);
82
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "lineDict", {});
83
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isNetworkDown", false);
84
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "networkDownTimestamp", '');
85
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "networkUpTimestamp", '');
86
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mercuryDownTimestamp", '');
87
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mercuryUpTimestamp", '');
88
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleNetworkOffline", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
89
- var line;
90
- return _regenerator.default.wrap(function _callee$(_context) {
91
- while (1) switch (_context.prev = _context.next) {
92
- case 0:
93
- _this.networkDownTimestamp = new Date().toISOString();
94
- _context.next = 3;
95
- return _this.checkNetworkReachability();
96
- case 3:
97
- _this.isNetworkDown = !_context.sent;
98
- _Logger.default.warn("Network has gone down, wait for it to come back up", {
99
- file: _constants2.CALLING_CLIENT_FILE,
100
- method: _constants2.METHODS.NETWORK_OFFLINE
101
- });
102
- if (_this.isNetworkDown) {
103
- line = (0, _values.default)(_this.lineDict)[0];
104
- line.registration.clearKeepaliveTimer();
105
- }
106
- case 6:
107
- case "end":
108
- return _context.stop();
109
- }
110
- }, _callee);
111
- })));
112
- // Wondering if we should keep this for timestamp recording purpose
113
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleNetworkOnline", function () {
114
- _Logger.default.info(_constants.METHOD_START_MESSAGE, {
115
- file: _constants2.CALLING_CLIENT_FILE,
116
- method: _constants2.METHODS.NETWORK_ONLINE
117
- });
118
- _this.networkUpTimestamp = new Date().toISOString();
119
- });
120
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleMercuryOffline", function () {
121
- _Logger.default.warn("Mercury down, waiting for connection to be up", {
122
- file: _constants2.CALLING_CLIENT_FILE,
123
- method: _constants2.METHODS.MERCURY_OFFLINE
124
- });
125
- _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);
127
- });
128
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleMercuryOnline", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
129
- var callCheckInterval;
130
- return _regenerator.default.wrap(function _callee3$(_context3) {
131
- while (1) switch (_context3.prev = _context3.next) {
132
- case 0:
133
- _Logger.default.info(_constants.METHOD_START_MESSAGE, {
134
- file: _constants2.CALLING_CLIENT_FILE,
135
- method: _constants2.METHODS.MERCURY_ONLINE
136
- });
137
- _this.mercuryUpTimestamp = new Date().toISOString();
138
- if (!_this.isNetworkDown) {
139
- _context3.next = 10;
140
- break;
141
- }
142
- callCheckInterval = setInterval(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
143
- var line;
144
- return _regenerator.default.wrap(function _callee2$(_context2) {
145
- while (1) switch (_context2.prev = _context2.next) {
146
- case 0:
147
- if ((0, _keys.default)(_this.callManager.getActiveCalls()).length) {
148
- _context2.next = 10;
149
- break;
150
- }
151
- clearInterval(callCheckInterval);
152
- line = (0, _values.default)(_this.lineDict)[0];
153
- if (!(line.getStatus() !== _types3.RegistrationStatus.IDLE)) {
154
- _context2.next = 9;
155
- break;
156
- }
157
- _context2.next = 6;
158
- return line.registration.handleConnectionRestoration(_this.isNetworkDown);
159
- case 6:
160
- _this.isNetworkDown = _context2.sent;
161
- _context2.next = 10;
162
- break;
163
- case 9:
164
- _this.isNetworkDown = false;
165
- case 10:
166
- case "end":
167
- return _context2.stop();
168
- }
169
- }, _callee2);
170
- })), _constants2.NETWORK_FLAP_TIMEOUT);
171
- if (!(0, _keys.default)(_this.callManager.getActiveCalls()).length) {
172
- _context3.next = 7;
173
- break;
174
- }
175
- _context3.next = 7;
176
- return _this.checkCallStatus();
177
- case 7:
178
- _this.metricManager.submitConnectionMetrics(_types4.METRIC_EVENT.CONNECTION_ERROR, _types4.CONNECTION_ACTION.NETWORK_FLAP, _types4.METRIC_TYPE.BEHAVIORAL, _this.networkDownTimestamp, _this.networkUpTimestamp);
179
- _context3.next = 14;
180
- break;
181
- case 10:
182
- if (!(0, _keys.default)(_this.callManager.getActiveCalls()).length) {
183
- _context3.next = 13;
184
- break;
185
- }
186
- _context3.next = 13;
187
- return _this.checkCallStatus();
188
- case 13:
189
- _this.metricManager.submitConnectionMetrics(_types4.METRIC_EVENT.CONNECTION_ERROR, _types4.CONNECTION_ACTION.MERCURY_UP, _types4.METRIC_TYPE.BEHAVIORAL, _this.mercuryDownTimestamp, _this.mercuryUpTimestamp);
190
- case 14:
191
- case "end":
192
- return _context3.stop();
193
- }
194
- }, _callee3);
195
- })));
196
- /**
197
- * Handler registered for ALL_CALLS_CLEARED event emitted by callManager.
198
- *
199
- * If re-register attempt was deferred earlier due to active call(s), then it
200
- * will be attempted here on receiving a notification from callManager that all
201
- * calls are cleaned up.
202
- */
203
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "callsClearedHandler", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
204
- var registration;
205
- return _regenerator.default.wrap(function _callee5$(_context5) {
206
- while (1) switch (_context5.prev = _context5.next) {
207
- case 0:
208
- _Logger.default.info(_constants.METHOD_START_MESSAGE, {
209
- file: _constants2.CALLING_CLIENT_FILE,
210
- method: _constants2.METHODS.CALLS_CLEARED_HANDLER
211
- });
212
- // this is a temporary logic to get registration obj
213
- // it will change once we have proper lineId and multiple lines as well
214
- registration = (0, _values.default)(_this.lineDict)[0].registration;
215
- if (registration.isDeviceRegistered()) {
216
- _context5.next = 5;
217
- break;
218
- }
219
- _context5.next = 5;
220
- return _this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
221
- return _regenerator.default.wrap(function _callee4$(_context4) {
222
- while (1) switch (_context4.prev = _context4.next) {
223
- case 0:
224
- if (!registration.isReconnectPending()) {
225
- _context4.next = 4;
226
- break;
227
- }
228
- _Logger.default.info('All calls cleared, reconnecting', {
229
- file: _constants2.CALLING_CLIENT_FILE,
230
- method: _constants2.CALLS_CLEARED_HANDLER_UTIL
231
- });
232
- _context4.next = 4;
233
- return registration.reconnectOnFailure(_constants2.CALLS_CLEARED_HANDLER_UTIL);
234
- case 4:
235
- case "end":
236
- return _context4.stop();
237
- }
238
- }, _callee4);
239
- })));
240
- case 5:
241
- case "end":
242
- return _context5.stop();
243
- }
244
- }, _callee5);
245
- })));
246
- _this.sdkConnector = _SDKConnector.default;
247
- if (!_this.sdkConnector.getWebex()) {
248
- var _config$logger;
249
- _SDKConnector.default.setWebex(webex);
250
- if (config !== null && config !== void 0 && (_config$logger = config.logger) !== null && _config$logger !== void 0 && _config$logger.level && webex.logger.config) {
251
- webex.logger.config.level = config.logger.level; // override the webex logger level
252
- }
253
- _Logger.default.setWebexLogger(webex.logger);
254
- }
255
- _this.mutex = new _asyncMutex.Mutex();
256
- _this.webex = _this.sdkConnector.getWebex();
257
- _this.sdkConfig = config;
258
- 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 : {
259
- indicator: _types3.ServiceIndicator.CALLING,
260
- domain: ''
261
- };
262
- 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;
263
- _Logger.default.setLogger(logLevel, _constants2.CALLING_CLIENT_FILE);
264
- (0, _Utils.validateServiceData)(serviceData);
265
- _this.callManager = (0, _callManager.getCallManager)(_this.webex, serviceData.indicator);
266
- _this.metricManager = (0, _Metrics.getMetricManager)(_this.webex, serviceData.indicator);
267
- _this.mediaEngine = Media;
268
- var adaptedLogger = {
269
- log: function log() {
270
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
271
- args[_key] = arguments[_key];
272
- }
273
- return webex.logger.log(args.join(' : '));
274
- },
275
- error: function error() {
276
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
277
- args[_key2] = arguments[_key2];
278
- }
279
- return webex.logger.error(args.join(' : '));
280
- },
281
- warn: function warn() {
282
- for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
283
- args[_key3] = arguments[_key3];
284
- }
285
- return webex.logger.warn(args.join(' : '));
286
- },
287
- info: function info() {
288
- for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
289
- args[_key4] = arguments[_key4];
290
- }
291
- return webex.logger.info(args.join(' : '));
292
- },
293
- trace: function trace() {
294
- for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
295
- args[_key5] = arguments[_key5];
296
- }
297
- return webex.logger.trace(args.join(' : '));
298
- },
299
- debug: function debug() {
300
- for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
301
- args[_key6] = arguments[_key6];
302
- }
303
- return webex.logger.debug(args.join(' : '));
304
- }
305
- };
306
- _this.mediaEngine.setLogger(adaptedLogger);
307
- _this.primaryMobiusUris = [];
308
- _this.backupMobiusUris = [];
309
- var mobiusServiceHost = '';
310
- try {
311
- mobiusServiceHost = new URL(_this.webex.internal.services._serviceUrls.mobius).host;
312
- } catch (error) {
313
- _Logger.default.warn("Failed to parse mobius service URL", {
314
- file: _constants2.CALLING_CLIENT_FILE,
315
- method: _this.constructor.name
316
- });
317
- }
318
-
319
- // TODO: This is a temp fix - https://jira-eng-sjc12.cisco.com/jira/browse/CAI-6809
320
- if (_this.webex.internal.services._hostCatalog) {
321
- _this.mobiusClusters = mobiusServiceHost && _this.webex.internal.services._hostCatalog[mobiusServiceHost] || _this.webex.internal.services._hostCatalog[_constants2.MOBIUS_US_PROD] || _this.webex.internal.services._hostCatalog[_constants2.MOBIUS_EU_PROD] || _this.webex.internal.services._hostCatalog[_constants2.MOBIUS_US_INT] || _this.webex.internal.services._hostCatalog[_constants2.MOBIUS_EU_INT];
322
- } else {
323
- // @ts-ignore
324
- var mobiusObject = _this.webex.internal.services._services.find(
325
- // @ts-ignore
326
- function (item) {
327
- return item.serviceName === 'mobius';
328
- });
329
- _this.mobiusClusters = [mobiusObject.serviceUrls[0].baseUrl];
330
- }
331
- _this.mobiusHost = '';
332
- _this.registerSessionsListener();
333
- _this.registerCallsClearedListener();
334
- return _this;
335
- }
336
-
337
- /**
338
- * Initializes the `CallingClient` by performing the following steps:
339
- *
340
- * 1. Retrieves list of servers.
341
- * 2. Creates a line.
342
- * 3. Sets up network change detection.
343
- *
344
- * This method should be called once to initialize the `callingClient`.
345
- *
346
- * @returns A promise that resolves when the initialization is complete.
347
- * @ignore
348
- */
349
- (0, _createClass2.default)(CallingClient, [{
350
- key: "init",
351
- value: (function () {
352
- var _init = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6() {
353
- var _window, _window$navigator;
354
- var ua;
355
- return _regenerator.default.wrap(function _callee6$(_context6) {
356
- while (1) switch (_context6.prev = _context6.next) {
357
- case 0:
358
- if (!(typeof window !== 'undefined' && (_window = window) !== null && _window !== void 0 && (_window$navigator = _window.navigator) !== null && _window$navigator !== void 0 && _window$navigator.userAgent)) {
359
- _context6.next = 13;
360
- break;
361
- }
362
- ua = window.navigator.userAgent;
363
- if (!ua.toLowerCase().includes('windows')) {
364
- _context6.next = 13;
365
- break;
366
- }
367
- _Logger.default.info('Starting ICE warmup for Windows Chromium based browser', {
368
- file: _constants2.CALLING_CLIENT_FILE,
369
- method: 'init'
370
- });
371
- _context6.prev = 4;
372
- _context6.next = 7;
373
- return (0, _windowsChromiumIceWarmupUtils.default)({
374
- iceServers: [],
375
- timeoutMs: 1000
376
- });
377
- case 7:
378
- _Logger.default.info("ICE warmup completed", {
379
- file: _constants2.CALLING_CLIENT_FILE,
380
- method: 'init'
381
- });
382
- _context6.next = 13;
383
- break;
384
- case 10:
385
- _context6.prev = 10;
386
- _context6.t0 = _context6["catch"](4);
387
- _Logger.default.warn("ICE warmup failed: ".concat(_context6.t0), {
388
- file: _constants2.CALLING_CLIENT_FILE,
389
- method: 'init'
390
- });
391
- case 13:
392
- _context6.next = 15;
393
- return this.getMobiusServers();
394
- case 15:
395
- _context6.next = 17;
396
- return this.createLine();
397
- case 17:
398
- this.setupNetworkEventListeners();
399
- case 18:
400
- case "end":
401
- return _context6.stop();
402
- }
403
- }, _callee6, this, [[4, 10]]);
404
- }));
405
- function init() {
406
- return _init.apply(this, arguments);
407
- }
408
- return init;
409
- }()
410
- /**
411
- * Ping a reliable external endpoint with a short timeout to infer connectivity.
412
- */
413
- )
414
- }, {
415
- key: "checkNetworkReachability",
416
- value: (function () {
417
- var _checkNetworkReachability = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7() {
418
- var controller, timeoutId;
419
- return _regenerator.default.wrap(function _callee7$(_context7) {
420
- while (1) switch (_context7.prev = _context7.next) {
421
- case 0:
422
- _context7.prev = 0;
423
- controller = new AbortController();
424
- timeoutId = setTimeout(function () {
425
- return controller.abort();
426
- }, 3000); // Using a common connectivity check endpoint that returns 204 with minimal payload.
427
- // no-cors mode yields an opaque response but a successful fetch implies reachability.
428
- _context7.next = 5;
429
- return fetch('https://www.google.com/generate_204', {
430
- method: 'GET',
431
- cache: 'no-cache',
432
- mode: 'no-cors',
433
- signal: controller.signal
434
- });
435
- case 5:
436
- clearTimeout(timeoutId);
437
- return _context7.abrupt("return", true);
438
- case 9:
439
- _context7.prev = 9;
440
- _context7.t0 = _context7["catch"](0);
441
- _Logger.default.warn("Network connectivity probe failed: ".concat(_context7.t0), {
442
- file: _constants2.CALLING_CLIENT_FILE,
443
- method: 'pingExternal'
444
- });
445
- return _context7.abrupt("return", false);
446
- case 13:
447
- case "end":
448
- return _context7.stop();
449
- }
450
- }, _callee7, null, [[0, 9]]);
451
- }));
452
- function checkNetworkReachability() {
453
- return _checkNetworkReachability.apply(this, arguments);
454
- }
455
- return checkNetworkReachability;
456
- }())
457
- }, {
458
- key: "checkCallStatus",
459
- value: function () {
460
- var _checkCallStatus = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8() {
461
- var loggerContext, calls, _iterator, _step, _loop;
462
- return _regenerator.default.wrap(function _callee8$(_context9) {
463
- while (1) switch (_context9.prev = _context9.next) {
464
- case 0:
465
- loggerContext = {
466
- file: _constants2.CALLING_CLIENT_FILE,
467
- method: 'checkCallStatus'
468
- };
469
- calls = (0, _values.default)(this.callManager.getActiveCalls());
470
- _iterator = _createForOfIteratorHelper(calls);
471
- _context9.prev = 3;
472
- _loop = /*#__PURE__*/_regenerator.default.mark(function _loop() {
473
- var call;
474
- return _regenerator.default.wrap(function _loop$(_context8) {
475
- while (1) switch (_context8.prev = _context8.next) {
476
- case 0:
477
- call = _step.value;
478
- call.postStatus().then(function () {
479
- _Logger.default.info("Call is active", loggerContext);
480
- /*
481
- * Media Renegotiation Possibility if call keepalive succeeds,
482
- * for cases like WebRTC disconnect and media inactivity.
483
- */
484
- }).catch(function (err) {
485
- _Logger.default.warn("Call Keepalive failed: ".concat(err), loggerContext);
486
- call.sendCallStateMachineEvt({
487
- type: 'E_SEND_CALL_DISCONNECT'
488
- });
489
- });
490
- case 2:
491
- case "end":
492
- return _context8.stop();
493
- }
494
- }, _loop);
495
- });
496
- _iterator.s();
497
- case 6:
498
- if ((_step = _iterator.n()).done) {
499
- _context9.next = 10;
500
- break;
501
- }
502
- return _context9.delegateYield(_loop(), "t0", 8);
503
- case 8:
504
- _context9.next = 6;
505
- break;
506
- case 10:
507
- _context9.next = 15;
508
- break;
509
- case 12:
510
- _context9.prev = 12;
511
- _context9.t1 = _context9["catch"](3);
512
- _iterator.e(_context9.t1);
513
- case 15:
514
- _context9.prev = 15;
515
- _iterator.f();
516
- return _context9.finish(15);
517
- case 18:
518
- case "end":
519
- return _context9.stop();
520
- }
521
- }, _callee8, this, [[3, 12, 15, 18]]);
522
- }));
523
- function checkCallStatus() {
524
- return _checkCallStatus.apply(this, arguments);
525
- }
526
- return checkCallStatus;
527
- }()
528
- }, {
529
- key: "setupNetworkEventListeners",
530
- value: function setupNetworkEventListeners() {
531
- var _this2 = this;
532
- if (typeof window !== 'undefined' && window.addEventListener) {
533
- window.addEventListener('online', this.handleNetworkOnline);
534
- window.addEventListener('offline', this.handleNetworkOffline);
535
- }
536
- this.webex.internal.mercury.on('offline', function () {
537
- _this2.handleMercuryOffline();
538
- });
539
- this.webex.internal.mercury.on('online', function () {
540
- _this2.handleMercuryOnline();
541
- });
542
- }
543
-
544
- /**
545
- * Fetches countryCode and region of the client.
546
- */
547
- }, {
548
- key: "getClientRegionInfo",
549
- value: (function () {
550
- var _getClientRegionInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9() {
551
- var _this3 = this;
552
- var abort, regionInfo, _iterator2, _step2, _loop2, _ret;
553
- return _regenerator.default.wrap(function _callee9$(_context1) {
554
- while (1) switch (_context1.prev = _context1.next) {
555
- case 0:
556
- _Logger.default.info(_constants.METHOD_START_MESSAGE, {
557
- file: _constants2.CALLING_CLIENT_FILE,
558
- method: _constants2.METHODS.GET_CLIENT_REGION_INFO
559
- });
560
- regionInfo = {};
561
- _iterator2 = _createForOfIteratorHelper(this.mobiusClusters);
562
- _context1.prev = 3;
563
- _loop2 = /*#__PURE__*/_regenerator.default.mark(function _loop2() {
564
- var mobius, _temp$headers, _response$headers, _response$headers2, _response$headers$tra, _response$headers3, temp, myIP, response, clientRegionInfo, extendedError;
565
- return _regenerator.default.wrap(function _loop2$(_context0) {
566
- while (1) switch (_context0.prev = _context0.next) {
567
- case 0:
568
- mobius = _step2.value;
569
- if (mobius.host) {
570
- _this3.mobiusHost = "https://".concat(mobius.host).concat(_constants2.API_V1);
571
- } else {
572
- _this3.mobiusHost = mobius;
573
- }
574
- _context0.prev = 2;
575
- _context0.next = 5;
576
- return _this3.webex.request({
577
- uri: "".concat(_this3.mobiusHost).concat(_constants2.URL_ENDPOINT).concat(_constants2.IP_ENDPOINT),
578
- method: _types3.HTTP_METHODS.GET,
579
- headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, _this3.webex.internal.device.url), _constants2.SPARK_USER_AGENT, _constants2.CALLING_USER_AGENT),
580
- service: _types3.ALLOWED_SERVICES.MOBIUS
581
- });
582
- case 5:
583
- temp = _context0.sent;
584
- _Logger.default.log("Response trackingId: ".concat(temp === null || temp === void 0 ? void 0 : (_temp$headers = temp.headers) === null || _temp$headers === void 0 ? void 0 : _temp$headers.trackingid), {
585
- file: _constants2.CALLING_CLIENT_FILE,
586
- method: _constants2.METHODS.GET_CLIENT_REGION_INFO
587
- });
588
- myIP = temp.body.ipv4; // eslint-disable-next-line no-await-in-loop
589
- _context0.next = 10;
590
- return _this3.webex.request({
591
- uri: "".concat(_constants2.DISCOVERY_URL, "/").concat(myIP),
592
- method: _types3.HTTP_METHODS.GET,
593
- addAuthHeader: false,
594
- headers: (0, _defineProperty2.default)({}, _constants2.SPARK_USER_AGENT, null)
595
- });
596
- case 10:
597
- response = _context0.sent;
598
- _Logger.default.log("Response trackingId: ".concat(response === null || response === void 0 ? void 0 : (_response$headers = response.headers) === null || _response$headers === void 0 ? void 0 : _response$headers.trackingid), {
599
- file: _constants2.CALLING_CLIENT_FILE,
600
- method: _constants2.METHODS.GET_CLIENT_REGION_INFO
601
- });
602
- clientRegionInfo = response.body;
603
- regionInfo.clientRegion = clientRegionInfo !== null && clientRegionInfo !== void 0 && clientRegionInfo.clientRegion ? clientRegionInfo.clientRegion : '';
604
- regionInfo.countryCode = clientRegionInfo !== null && clientRegionInfo !== void 0 && clientRegionInfo.countryCode ? clientRegionInfo.countryCode : '';
605
- _Logger.default.log("Successfully fetched Client region info: ".concat(regionInfo.clientRegion, ", countryCode: ").concat(regionInfo.countryCode, ", and response trackingid: ").concat(response === null || response === void 0 ? void 0 : (_response$headers2 = response.headers) === null || _response$headers2 === void 0 ? void 0 : _response$headers2.trackingid), {
606
- file: _constants2.CALLING_CLIENT_FILE,
607
- method: _constants2.METHODS.GET_CLIENT_REGION_INFO
608
- });
609
-
610
- // Metrics for region info - trying clusters in loop
611
- _this3.metricManager.submitRegionInfoMetric(_types4.METRIC_EVENT.MOBIUS_DISCOVERY, _types4.MOBIUS_SERVER_ACTION.REGION_INFO, _types4.METRIC_TYPE.BEHAVIORAL, _this3.mobiusHost, clientRegionInfo.clientRegion, clientRegionInfo.countryCode, (_response$headers$tra = response === null || response === void 0 ? void 0 : (_response$headers3 = response.headers) === null || _response$headers3 === void 0 ? void 0 : _response$headers3.trackingid) !== null && _response$headers$tra !== void 0 ? _response$headers$tra : '');
612
- return _context0.abrupt("return", 0);
613
- case 20:
614
- _context0.prev = 20;
615
- _context0.t0 = _context0["catch"](2);
616
- extendedError = new Error("Failed to get client region info: ".concat(_context0.t0));
617
- _Logger.default.error(extendedError, {
618
- method: _constants2.METHODS.GET_CLIENT_REGION_INFO,
619
- file: _constants2.CALLING_CLIENT_FILE
620
- });
621
-
622
- // eslint-disable-next-line no-await-in-loop
623
- _context0.next = 26;
624
- return (0, _Utils.handleCallingClientErrors)(_context0.t0, function (clientError) {
625
- var _headers$trackingId, _headers3;
626
- _this3.metricManager.submitRegistrationMetric(_types4.METRIC_EVENT.REGISTRATION_ERROR, _types4.REG_ACTION.REGISTER, _types4.METRIC_TYPE.BEHAVIORAL, _constants2.GET_MOBIUS_SERVERS_UTIL, 'UNKNOWN', (_headers$trackingId = (_headers3 = _context0.t0.headers) === null || _headers3 === void 0 ? void 0 : _headers3.trackingId) !== null && _headers$trackingId !== void 0 ? _headers$trackingId : '', undefined, clientError);
627
- _this3.emit(_types2.CALLING_CLIENT_EVENT_KEYS.ERROR, clientError);
628
- }, {
629
- method: _constants2.GET_MOBIUS_SERVERS_UTIL,
630
- file: _constants2.CALLING_CLIENT_FILE
631
- });
632
- case 26:
633
- abort = _context0.sent;
634
- regionInfo.clientRegion = '';
635
- regionInfo.countryCode = '';
636
- if (!abort) {
637
- _context0.next = 33;
638
- break;
639
- }
640
- _context0.next = 32;
641
- return (0, _Utils.uploadLogs)();
642
- case 32:
643
- return _context0.abrupt("return", {
644
- v: regionInfo
645
- });
646
- case 33:
647
- case "end":
648
- return _context0.stop();
649
- }
650
- }, _loop2, null, [[2, 20]]);
651
- });
652
- _iterator2.s();
653
- case 6:
654
- if ((_step2 = _iterator2.n()).done) {
655
- _context1.next = 15;
656
- break;
657
- }
658
- return _context1.delegateYield(_loop2(), "t0", 8);
659
- case 8:
660
- _ret = _context1.t0;
661
- if (!(_ret === 0)) {
662
- _context1.next = 11;
663
- break;
664
- }
665
- return _context1.abrupt("break", 15);
666
- case 11:
667
- if (!_ret) {
668
- _context1.next = 13;
669
- break;
670
- }
671
- return _context1.abrupt("return", _ret.v);
672
- case 13:
673
- _context1.next = 6;
674
- break;
675
- case 15:
676
- _context1.next = 20;
677
- break;
678
- case 17:
679
- _context1.prev = 17;
680
- _context1.t1 = _context1["catch"](3);
681
- _iterator2.e(_context1.t1);
682
- case 20:
683
- _context1.prev = 20;
684
- _iterator2.f();
685
- return _context1.finish(20);
686
- case 23:
687
- return _context1.abrupt("return", regionInfo);
688
- case 24:
689
- case "end":
690
- return _context1.stop();
691
- }
692
- }, _callee9, this, [[3, 17, 20, 23]]);
693
- }));
694
- function getClientRegionInfo() {
695
- return _getClientRegionInfo.apply(this, arguments);
696
- }
697
- return getClientRegionInfo;
698
- }()
699
- /**
700
- * Local method for finding the mobius servers.
701
- */
702
- )
703
- }, {
704
- key: "getMobiusServers",
705
- value: (function () {
706
- var _getMobiusServers = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0() {
707
- var _this$sdkConfig3,
708
- _this$sdkConfig3$disc,
709
- _this$sdkConfig4,
710
- _this$sdkConfig4$disc,
711
- _this4 = this;
712
- var useDefault, clientRegion, countryCode, _this$sdkConfig5, _this$sdkConfig5$disc, _this$sdkConfig6, _this$sdkConfig6$disc, regionInfo, _response$headers4, _response$headers$tra2, _response$headers5, response, mobiusServers, mobiusUris, extendedError, abort;
713
- return _regenerator.default.wrap(function _callee0$(_context10) {
714
- while (1) switch (_context10.prev = _context10.next) {
715
- case 0:
716
- _Logger.default.info(_constants.METHOD_START_MESSAGE, {
717
- file: _constants2.CALLING_CLIENT_FILE,
718
- method: _constants2.METHODS.GET_MOBIUS_SERVERS
719
- });
720
- /* Following operations are performed in a synchronous way ->
721
- 1. Get RegionInfo
722
- 2. Get Mobius Server with that RegionInfo
723
- 3. Check whether Mobius server was found without any error
724
- 4. If there is error , we don't need to send registration
725
- 5. Otherwise send registration
726
- */
727
- useDefault = false;
728
- 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)) {
729
- _context10.next = 9;
730
- break;
731
- }
732
- _Logger.default.log('Updating region and country from the SDK config', {
733
- file: _constants2.CALLING_CLIENT_FILE,
734
- method: _constants2.GET_MOBIUS_SERVERS_UTIL
735
- });
736
- 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;
737
- 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;
738
- this.mobiusHost = this.webex.internal.services._serviceUrls.mobius;
739
- _context10.next = 15;
740
- break;
741
- case 9:
742
- _Logger.default.log('Updating region and country through Region discovery', {
743
- file: _constants2.CALLING_CLIENT_FILE,
744
- method: _constants2.GET_MOBIUS_SERVERS_UTIL
745
- });
746
- _context10.next = 12;
747
- return this.getClientRegionInfo();
748
- case 12:
749
- regionInfo = _context10.sent;
750
- clientRegion = regionInfo.clientRegion;
751
- countryCode = regionInfo.countryCode;
752
- case 15:
753
- if (!(clientRegion && countryCode)) {
754
- _context10.next = 43;
755
- break;
756
- }
757
- _Logger.default.log("Found Region: ".concat(clientRegion, " and country: ").concat(countryCode, ", going to fetch Mobius server"), {
758
- file: _constants2.CALLING_CLIENT_FILE,
759
- method: _constants2.GET_MOBIUS_SERVERS_UTIL
760
- });
761
- _context10.prev = 17;
762
- _context10.next = 20;
763
- return this.webex.request({
764
- uri: "".concat(this.mobiusHost).concat(_constants2.URL_ENDPOINT, "?regionCode=").concat(clientRegion, "&countryCode=").concat(countryCode),
765
- method: _types3.HTTP_METHODS.GET,
766
- headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, this.webex.internal.device.url), _constants2.SPARK_USER_AGENT, _constants2.CALLING_USER_AGENT),
767
- service: _types3.ALLOWED_SERVICES.MOBIUS
768
- });
769
- case 20:
770
- response = _context10.sent;
771
- _Logger.default.log("Mobius Server found for the region. Response trackingId: ".concat(response === null || response === void 0 ? void 0 : (_response$headers4 = response.headers) === null || _response$headers4 === void 0 ? void 0 : _response$headers4.trackingid), {
772
- file: _constants2.CALLING_CLIENT_FILE,
773
- method: _constants2.GET_MOBIUS_SERVERS_UTIL
774
- });
775
- mobiusServers = response.body; // Metrics for mobius servers
776
- this.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$headers5 = response.headers) === null || _response$headers5 === void 0 ? void 0 : _response$headers5.trackingid) !== null && _response$headers$tra2 !== void 0 ? _response$headers$tra2 : '');
777
-
778
- /* update arrays of Mobius Uris. */
779
- mobiusUris = (0, _Utils.filterMobiusUris)(mobiusServers, this.mobiusHost);
780
- this.primaryMobiusUris = mobiusUris.primary;
781
- this.backupMobiusUris = mobiusUris.backup;
782
- _Logger.default.log("Final list of Mobius Servers, primary: ".concat(mobiusUris.primary, " and backup: ").concat(mobiusUris.backup), {
783
- file: _constants2.CALLING_CLIENT_FILE,
784
- method: _constants2.GET_MOBIUS_SERVERS_UTIL
785
- });
786
- _context10.next = 41;
787
- break;
788
- case 30:
789
- _context10.prev = 30;
790
- _context10.t0 = _context10["catch"](17);
791
- extendedError = new Error("Failed to get Mobius servers: ".concat(_context10.t0));
792
- _Logger.default.error(extendedError, {
793
- method: _constants2.METHODS.GET_MOBIUS_SERVERS,
794
- file: _constants2.CALLING_CLIENT_FILE
795
- });
796
- _context10.next = 36;
797
- return (0, _Utils.handleCallingClientErrors)(_context10.t0, function (clientError) {
798
- var _headers$trackingId2, _headers5;
799
- _this4.metricManager.submitRegistrationMetric(_types4.METRIC_EVENT.REGISTRATION_ERROR, _types4.REG_ACTION.REGISTER, _types4.METRIC_TYPE.BEHAVIORAL, _constants2.GET_MOBIUS_SERVERS_UTIL, 'UNKNOWN', (_headers$trackingId2 = (_headers5 = _context10.t0.headers) === null || _headers5 === void 0 ? void 0 : _headers5.trackingId) !== null && _headers$trackingId2 !== void 0 ? _headers$trackingId2 : '', undefined, clientError);
800
- _this4.emit(_types2.CALLING_CLIENT_EVENT_KEYS.ERROR, clientError);
801
- }, {
802
- method: _constants2.GET_MOBIUS_SERVERS_UTIL,
803
- file: _constants2.CALLING_CLIENT_FILE
804
- });
805
- case 36:
806
- abort = _context10.sent;
807
- if (!abort) {
808
- _context10.next = 40;
809
- break;
810
- }
811
- _context10.next = 40;
812
- return (0, _Utils.uploadLogs)();
813
- case 40:
814
- useDefault = true;
815
- case 41:
816
- _context10.next = 44;
817
- break;
818
- case 43:
819
- /* Setting this to true because region info is possibly undefined */
820
- useDefault = true;
821
- case 44:
822
- /* Use a default URL if Mobius discovery fails either because of region info failure
823
- * or because the discovered Mobius couldn't be reached
824
- */
825
-
826
- if (useDefault) {
827
- _Logger.default.warn("Couldn't resolve the region and country code. Defaulting to the catalog entries to discover mobius servers", {
828
- file: _constants2.CALLING_CLIENT_FILE,
829
- method: _constants2.GET_MOBIUS_SERVERS_UTIL
830
- });
831
- this.mobiusHost = "https://".concat(this.mobiusClusters[0].host).concat(_constants2.API_V1);
832
- this.primaryMobiusUris = ["".concat(this.mobiusHost).concat(_constants2.URL_ENDPOINT)];
833
- }
834
- case 45:
835
- case "end":
836
- return _context10.stop();
837
- }
838
- }, _callee0, this, [[17, 30]]);
839
- }));
840
- function getMobiusServers() {
841
- return _getMobiusServers.apply(this, arguments);
842
- }
843
- return getMobiusServers;
844
- }()
845
- /**
846
- * Registers a listener/handler for ALL_CALLS_CLEARED
847
- * event emitted by callManager when all the calls
848
- * present on sdk are cleaned up.
849
- */
850
- )
851
- }, {
852
- key: "registerCallsClearedListener",
853
- value: function registerCallsClearedListener() {
854
- _Logger.default.info(_constants.METHOD_START_MESSAGE, {
855
- file: _constants2.CALLING_CLIENT_FILE,
856
- method: _constants2.METHODS.REGISTER_CALLS_CLEARED_LISTENER
857
- });
858
- this.callManager.on(_types2.CALLING_CLIENT_EVENT_KEYS.ALL_CALLS_CLEARED, this.callsClearedHandler);
859
- }
860
- }, {
861
- key: "getLoggingLevel",
862
- value:
863
- /**
864
- * To get the current log Level.
865
- * @ignore
866
- */
867
- function getLoggingLevel() {
868
- return _Logger.default.getLogLevel();
869
- }
870
-
871
- /**
872
- * To return the `sdkConnector` instance that was used during sdk initialisation.
873
- * @ignore
874
- */
875
- }, {
876
- key: "getSDKConnector",
877
- value: function getSDKConnector() {
878
- return this.sdkConnector;
879
- }
880
- }, {
881
- key: "registerSessionsListener",
882
- value: function registerSessionsListener() {
883
- var _this5 = this;
884
- _Logger.default.info(_constants.METHOD_START_MESSAGE, {
885
- file: _constants2.CALLING_CLIENT_FILE,
886
- method: _constants2.METHODS.REGISTER_SESSIONS_LISTENER
887
- });
888
- this.sdkConnector.registerListener(_types2.MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_INCLUSIVE, /*#__PURE__*/function () {
889
- var _ref6 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1(event) {
890
- var sessionArr, i;
891
- return _regenerator.default.wrap(function _callee1$(_context11) {
892
- while (1) switch (_context11.prev = _context11.next) {
893
- case 0:
894
- if (!(event && event.data.userSessions.userSessions)) {
895
- _context11.next = 7;
896
- break;
897
- }
898
- sessionArr = event === null || event === void 0 ? void 0 : event.data.userSessions.userSessions;
899
- if (!(sessionArr.length === 1)) {
900
- _context11.next = 5;
901
- break;
902
- }
903
- if (!(sessionArr[0].sessionType !== _types2.SessionType.WEBEX_CALLING)) {
904
- _context11.next = 5;
905
- break;
906
- }
907
- return _context11.abrupt("return");
908
- case 5:
909
- for (i = 0; i < sessionArr.length; i += 1) {
910
- if (sessionArr[i].sessionType !== _types2.SessionType.WEBEX_CALLING) {
911
- sessionArr.splice(i, 1);
912
- }
913
- }
914
- _this5.emit(_types2.CALLING_CLIENT_EVENT_KEYS.USER_SESSION_INFO, event);
915
- case 7:
916
- case "end":
917
- return _context11.stop();
918
- }
919
- }, _callee1);
920
- }));
921
- return function (_x) {
922
- return _ref6.apply(this, arguments);
923
- };
924
- }());
925
- }
926
-
927
- /**
928
- * Creates line object inside calling client per user
929
- * NOTE: currently multiple lines are not supported
930
- */
931
- }, {
932
- key: "createLine",
933
- value: (function () {
934
- var _createLine = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10() {
935
- var _this$sdkConfig7, _this$sdkConfig8;
936
- var line;
937
- return _regenerator.default.wrap(function _callee10$(_context12) {
938
- while (1) switch (_context12.prev = _context12.next) {
939
- case 0:
940
- _Logger.default.info(_constants.METHOD_START_MESSAGE, {
941
- file: _constants2.CALLING_CLIENT_FILE,
942
- method: _constants2.METHODS.CREATE_LINE
943
- });
944
- 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);
945
- this.lineDict[line.lineId] = line;
946
- case 3:
947
- case "end":
948
- return _context12.stop();
949
- }
950
- }, _callee10, this);
951
- }));
952
- function createLine() {
953
- return _createLine.apply(this, arguments);
954
- }
955
- return createLine;
956
- }()
957
- /**
958
- * Retrieves details of all the Line objects belonging to a User
959
- * NOTE: currently multiple lines are not supported
960
- */
961
- )
962
- }, {
963
- key: "getLines",
964
- value: function getLines() {
965
- return this.lineDict;
966
- }
967
-
968
- /**
969
- * Retrieves call objects for all the active calls present in the client
970
- */
971
- }, {
972
- key: "getActiveCalls",
973
- value: function getActiveCalls() {
974
- var activeCalls = {};
975
- var calls = this.callManager.getActiveCalls();
976
- (0, _keys.default)(calls).forEach(function (correlationId) {
977
- var call = calls[correlationId];
978
- if (!activeCalls[call.lineId]) {
979
- activeCalls[call.lineId] = [];
980
- }
981
- activeCalls[call.lineId].push(call);
982
- });
983
- return activeCalls;
984
- }
985
-
986
- /**
987
- * Retrieves call object for the connected call in the client
988
- */
989
- }, {
990
- key: "getConnectedCall",
991
- value: function getConnectedCall() {
992
- var connectCall;
993
- var calls = this.callManager.getActiveCalls();
994
- (0, _keys.default)(calls).forEach(function (correlationId) {
995
- if (calls[correlationId].isConnected() && !calls[correlationId].isHeld()) {
996
- connectCall = calls[correlationId];
997
- }
998
- });
999
- return connectCall;
1000
- }
1001
-
1002
- /**
1003
- * Uploads logs to help troubleshoot SDK issues.
1004
- *
1005
- * This method collects the current SDK logs including network requests, WebSocket
1006
- * messages, and client-side events, then securely submits them to Webex's diagnostics
1007
- * service. The returned tracking ID, feedbackID can be provided to Webex support for faster
1008
- * issue resolution.
1009
- * @returns Promise<UploadLogsResponse>
1010
- * @throws Error
1011
- */
1012
- }, {
1013
- key: "uploadLogs",
1014
- value: (function () {
1015
- var _uploadLogs2 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11() {
1016
- var result;
1017
- return _regenerator.default.wrap(function _callee11$(_context13) {
1018
- while (1) switch (_context13.prev = _context13.next) {
1019
- case 0:
1020
- _context13.next = 2;
1021
- return (0, _Utils.uploadLogs)({}, true);
1022
- case 2:
1023
- result = _context13.sent;
1024
- if (result) {
1025
- _context13.next = 5;
1026
- break;
1027
- }
1028
- throw new Error('Failed to upload logs: No response received.');
1029
- case 5:
1030
- return _context13.abrupt("return", result);
1031
- case 6:
1032
- case "end":
1033
- return _context13.stop();
1034
- }
1035
- }, _callee11);
1036
- }));
1037
- function uploadLogs() {
1038
- return _uploadLogs2.apply(this, arguments);
1039
- }
1040
- return uploadLogs;
1041
- }())
1042
- }]);
1043
- return CallingClient;
1044
- }(_impl.Eventing);
1045
- /**
1046
- * Create the `CallingClient` instance using the `webex` object and callingSdk `config`
1047
- * @param webex - A webex instance.
1048
- * @param config - Config to start the CallingClient with.
1049
- */
1050
- var createClient = exports.createClient = /*#__PURE__*/function () {
1051
- var _ref7 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12(webex, config) {
1052
- var callingClientInstance;
1053
- return _regenerator.default.wrap(function _callee12$(_context14) {
1054
- while (1) switch (_context14.prev = _context14.next) {
1055
- case 0:
1056
- callingClientInstance = new CallingClient(webex, config);
1057
- _context14.next = 3;
1058
- return callingClientInstance.init();
1059
- case 3:
1060
- return _context14.abrupt("return", callingClientInstance);
1061
- case 4:
1062
- case "end":
1063
- return _context14.stop();
1064
- }
1065
- }, _callee12);
1066
- }));
1067
- return function createClient(_x2, _x3) {
1068
- return _ref7.apply(this, arguments);
1069
- };
1070
- }();
1071
- //# sourceMappingURL=CallingClient.js.map