@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,456 +0,0 @@
1
- "use strict";
2
-
3
- var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
4
- var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
5
- var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
- _Object$defineProperty(exports, "__esModule", {
7
- value: true
8
- });
9
- exports.getCallManager = exports.CallManager = void 0;
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
11
- var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
13
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
15
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
17
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
19
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
20
- var _constants = require("../../common/constants");
21
- var _constants2 = require("../constants");
22
- var _types = require("../../Events/types");
23
- var _impl = require("../../Events/impl");
24
- var _SDKConnector = _interopRequireDefault(require("../../SDKConnector"));
25
- var _types2 = require("../../common/types");
26
- var _types3 = require("./types");
27
- var _call3 = require("./call");
28
- var _Logger = _interopRequireDefault(require("../../Logger"));
29
- 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); }; }
30
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* eslint-disable dot-notation */ /* eslint-disable valid-jsdoc */
31
- var callManager;
32
-
33
- /**
34
- *
35
- */
36
- var CallManager = exports.CallManager = /*#__PURE__*/function (_Eventing) {
37
- (0, _inherits2.default)(CallManager, _Eventing);
38
- var _super = _createSuper(CallManager);
39
- /**
40
- * @param webex -.
41
- * @param indicator - Service Indicator.
42
- */
43
- function CallManager(webex, indicator) {
44
- var _this;
45
- (0, _classCallCheck2.default)(this, CallManager);
46
- _this = _super.call(this);
47
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sdkConnector", void 0);
48
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "webex", void 0);
49
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "callCollection", void 0);
50
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "activeMobiusUrl", void 0);
51
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "serviceIndicator", void 0);
52
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "lineDict", void 0);
53
- /**
54
- * @param direction -.
55
- * @param deviceId -.
56
- * @param destination -.
57
- */
58
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "createCall", function (direction, deviceId, lineId, destination) {
59
- _Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with ").concat(direction, ", ").concat(deviceId, " and ").concat(lineId), {
60
- file: _constants2.CALL_MANAGER_FILE,
61
- method: _constants2.METHODS.CREATE_CALL
62
- });
63
- _Logger.default.log('Creating call object', {});
64
- var newCall = (0, _call3.createCall)(_this.activeMobiusUrl, _this.webex, direction, deviceId, lineId, function (correlationId) {
65
- delete _this.callCollection[correlationId];
66
- var activeCalls = (0, _keys.default)(_this.getActiveCalls()).length;
67
- _Logger.default.info("DELETE:: Deleted corelationId: ".concat(newCall.getCorrelationId(), " from CallManager, Number of call records :- ").concat(activeCalls), {});
68
- if (activeCalls === 0) {
69
- /* Notify CallingClient when all calls are cleared. */
70
- _this.emit(_types.CALLING_CLIENT_EVENT_KEYS.ALL_CALLS_CLEARED);
71
- _Logger.default.log('All calls have been cleared', {
72
- file: _constants2.CALL_MANAGER_FILE,
73
- method: _constants2.METHODS.CREATE_CALL
74
- });
75
- }
76
- }, _this.serviceIndicator, destination);
77
- _this.callCollection[newCall.getCorrelationId()] = newCall;
78
- _Logger.default.log("New call created with correlationId: ".concat(newCall.getCorrelationId()), {});
79
- _Logger.default.info("ADD:: Added corelationId: ".concat(newCall.getCorrelationId(), " to CallManager , Number of call records now:- ").concat((0, _keys.default)(_this.getActiveCalls()).length), {});
80
- return newCall;
81
- });
82
- /**
83
- * @param correlationId -.
84
- */
85
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getCall", function (correlationId) {
86
- return _this.callCollection[correlationId];
87
- });
88
- /**
89
- *
90
- */
91
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getActiveCalls", function () {
92
- return _this.callCollection;
93
- });
94
- _this.sdkConnector = _SDKConnector.default;
95
- _this.serviceIndicator = indicator;
96
- if (!_this.sdkConnector.getWebex()) {
97
- _SDKConnector.default.setWebex(webex);
98
- }
99
- _this.lineDict = {};
100
- _this.webex = _this.sdkConnector.getWebex();
101
- _this.callCollection = {};
102
- _this.activeMobiusUrl = '';
103
- _this.listenForWsEvents();
104
- return _this;
105
- }
106
- (0, _createClass2.default)(CallManager, [{
107
- key: "updateActiveMobius",
108
- value:
109
- /**
110
- * Update Active Mobius Url.
111
- *
112
- * @param url - Mobius Url.
113
- */
114
- function updateActiveMobius(url) {
115
- this.activeMobiusUrl = url;
116
- _Logger.default.log("Successfully updated active Mobius URL to: ".concat(url), {
117
- file: _constants2.CALL_MANAGER_FILE,
118
- method: _constants2.METHODS.UPDATE_ACTIVE_MOBIUS
119
- });
120
- }
121
-
122
- /**
123
- * A listener for Mobius events.
124
- */
125
- }, {
126
- key: "listenForWsEvents",
127
- value: function listenForWsEvents() {
128
- var _this2 = this;
129
- this.sdkConnector.registerListener('event:mobius', /*#__PURE__*/function () {
130
- var _ref = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(event) {
131
- return _regenerator.default.wrap(function _callee$(_context) {
132
- while (1) switch (_context.prev = _context.next) {
133
- case 0:
134
- _this2.dequeueWsEvents(event);
135
- case 1:
136
- case "end":
137
- return _context.stop();
138
- }
139
- }, _callee);
140
- }));
141
- return function (_x) {
142
- return _ref.apply(this, arguments);
143
- };
144
- }());
145
- _Logger.default.info('Successfully registered listener for Mobius events', {
146
- file: _constants2.CALL_MANAGER_FILE,
147
- method: _constants2.METHODS.REGISTER_SESSIONS_LISTENER
148
- });
149
- }
150
-
151
- /**
152
- * This a Queue where Mobius Events are reported by the underlying Mercury
153
- * Connection. We handle the events in the order they are posted here. New call
154
- * Objects are generated from here.
155
- *
156
- * @param event - Mobius Events.
157
- */
158
- }, {
159
- key: "dequeueWsEvents",
160
- value: function dequeueWsEvents(event) {
161
- var _this3 = this;
162
- _Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with event ").concat(event), {
163
- file: _constants2.CALL_MANAGER_FILE,
164
- method: _constants2.METHODS.DEQUEUE_WS_EVENTS
165
- });
166
- var mobiusEvent = event;
167
- var _mobiusEvent$data = mobiusEvent.data,
168
- callId = _mobiusEvent$data.callId,
169
- correlationId = _mobiusEvent$data.correlationId;
170
- switch (mobiusEvent.data.eventType) {
171
- case _types3.MobiusEventType.CALL_SETUP:
172
- {
173
- _Logger.default.log("Received call Setup message for call: ".concat(callId), {
174
- file: _constants2.CALL_MANAGER_FILE,
175
- method: _constants2.METHODS.DEQUEUE_WS_EVENTS
176
- });
177
- /* Check whether MidCall or not */
178
- if (mobiusEvent.data.midCallService) {
179
- mobiusEvent.data.midCallService.forEach(function (midCallEvent) {
180
- var call = _this3.getCall(correlationId);
181
- if (call) {
182
- call.handleMidCallEvent(midCallEvent);
183
- } else {
184
- _Logger.default.info("Dropping midcall event of type: ".concat(midCallEvent.eventType, " as it doesn't match with any existing call"), {
185
- file: _constants2.CALL_MANAGER_FILE,
186
- method: _constants2.METHODS.DEQUEUE_WS_EVENTS
187
- });
188
- }
189
- });
190
- return;
191
- }
192
- /* Check if the Call.Media was processed before Call.Setup.
193
- * In that case , the Call Object is already created while processing
194
- * Media message.
195
- */
196
-
197
- var newId = (0, _keys.default)(this.callCollection).find(function (id) {
198
- return _this3.callCollection[id].getCallId() === callId;
199
- });
200
- var newCall;
201
- if (!newId) {
202
- /* This means it's a new call ...
203
- * Create an incoming call object and add to our records
204
- */
205
- var lineId = this.getLineId(mobiusEvent.data.deviceId);
206
- newCall = this.createCall(_types2.CallDirection.INBOUND, mobiusEvent.data.deviceId, lineId, {});
207
- _Logger.default.log("New incoming call created with correlationId from Call Setup message: ".concat(newCall.getCorrelationId()), {
208
- file: _constants2.CALL_MANAGER_FILE,
209
- method: _constants2.METHODS.DEQUEUE_WS_EVENTS
210
- });
211
- newCall.setCallId(callId);
212
- if (mobiusEvent.data.broadworksCorrelationInfo) {
213
- _Logger.default.info("Found broadworksCorrelationInfo: ".concat(mobiusEvent.data.broadworksCorrelationInfo), {
214
- file: _constants2.CALL_MANAGER_FILE,
215
- method: _constants2.METHODS.DEQUEUE_WS_EVENTS
216
- });
217
- newCall.setBroadworksCorrelationInfo(mobiusEvent.data.broadworksCorrelationInfo);
218
- }
219
- } else {
220
- _Logger.default.info("Found the call Object with a matching callId: ".concat(callId, " from our records with correlationId: ").concat(newId), {
221
- file: _constants2.CALL_MANAGER_FILE,
222
- method: _constants2.METHODS.DEQUEUE_WS_EVENTS
223
- });
224
- newCall = this.getCall(newId);
225
- }
226
- if (mobiusEvent.data.callerId) {
227
- _Logger.default.info('Processing Caller-Id data', {
228
- file: _constants2.CALL_MANAGER_FILE,
229
- method: _constants2.METHODS.DEQUEUE_WS_EVENTS
230
- });
231
- newCall.startCallerIdResolution(mobiusEvent.data.callerId);
232
- }
233
- /* Signal Line */
234
-
235
- this.emit(_types.LINE_EVENT_KEYS.INCOMING_CALL, newCall);
236
- newCall.sendCallStateMachineEvt({
237
- type: 'E_RECV_CALL_SETUP',
238
- data: mobiusEvent.data
239
- });
240
- break;
241
- }
242
- case _types3.MobiusEventType.CALL_PROGRESS:
243
- {
244
- _Logger.default.log("Received call progress mobiusEvent for call: ".concat(correlationId), {
245
- file: _constants2.CALL_MANAGER_FILE,
246
- method: _constants2.METHODS.DEQUEUE_WS_EVENTS
247
- });
248
- var call = this.getCall(correlationId);
249
- call.sendCallStateMachineEvt({
250
- type: 'E_RECV_CALL_PROGRESS',
251
- data: mobiusEvent.data
252
- });
253
- break;
254
- }
255
- case _types3.MobiusEventType.CALL_MEDIA:
256
- {
257
- _Logger.default.log("Received call media mobiusEvent for call: ".concat(correlationId), {
258
- file: _constants2.CALL_MANAGER_FILE,
259
- method: _constants2.METHODS.DEQUEUE_WS_EVENTS
260
- });
261
- var activeCall;
262
- if (correlationId) {
263
- /* The Call.Media message had correlation id (Except the first message) */
264
- activeCall = this.getCall(correlationId);
265
- } else {
266
- /* This is possibly the first Media message for the call.
267
- * We should scan our record to see if we can find a call with
268
- * this callId.
269
- */
270
-
271
- var _newId = (0, _keys.default)(this.callCollection).find(function (id) {
272
- return _this3.callCollection[id].getCallId() === callId;
273
- });
274
- if (_newId) {
275
- /* Call.Media arrived after Call.Setup but the correlationId was Null. */
276
-
277
- _Logger.default.info("Found the call Object with a matching callId: ".concat(callId, " from our records with correlationId: ").concat(_newId), {
278
- file: _constants2.CALL_MANAGER_FILE,
279
- method: _constants2.METHODS.DEQUEUE_WS_EVENTS
280
- });
281
- activeCall = this.getCall(_newId);
282
- } else {
283
- /* If Call.Media arrived before Call.Setup , we create the Call Object here */
284
-
285
- var _lineId = this.getLineId(mobiusEvent.data.deviceId);
286
- activeCall = this.createCall(_types2.CallDirection.INBOUND, mobiusEvent.data.deviceId, _lineId, {});
287
- _Logger.default.log("New incoming call created with correlationId from ROAP Message: ".concat(activeCall.getCorrelationId()), {
288
- file: _constants2.CALL_MANAGER_FILE,
289
- method: _constants2.METHODS.DEQUEUE_WS_EVENTS
290
- });
291
- activeCall.setCallId(callId);
292
- }
293
- }
294
- if (activeCall) {
295
- var _mobiusEvent$data$mes, _mobiusEvent$data$mes2, _mobiusEvent$data$mes3, _mobiusEvent$data$mes4, _mobiusEvent$data$mes5;
296
- /* Only Handle if the call is present */
297
-
298
- _Logger.default.info("SDP from mobius ".concat((_mobiusEvent$data$mes = mobiusEvent.data.message) === null || _mobiusEvent$data$mes === void 0 ? void 0 : _mobiusEvent$data$mes.sdp), {
299
- file: _constants2.CALL_MANAGER_FILE,
300
- method: _constants2.METHODS.DEQUEUE_WS_EVENTS
301
- });
302
- _Logger.default.log("ROAP message from mobius with type: ".concat((_mobiusEvent$data$mes2 = mobiusEvent.data.message) === null || _mobiusEvent$data$mes2 === void 0 ? void 0 : _mobiusEvent$data$mes2.messageType, ", seq: ").concat((_mobiusEvent$data$mes3 = mobiusEvent.data.message) === null || _mobiusEvent$data$mes3 === void 0 ? void 0 : _mobiusEvent$data$mes3.seq, " , version: ").concat((_mobiusEvent$data$mes4 = mobiusEvent.data.message) === null || _mobiusEvent$data$mes4 === void 0 ? void 0 : _mobiusEvent$data$mes4.version), {
303
- file: _constants2.CALL_MANAGER_FILE,
304
- method: _constants2.METHODS.DEQUEUE_WS_EVENTS
305
- });
306
- var mediaState = (_mobiusEvent$data$mes5 = mobiusEvent.data.message) === null || _mobiusEvent$data$mes5 === void 0 ? void 0 : _mobiusEvent$data$mes5.messageType;
307
- switch (mediaState) {
308
- case _types3.MediaState.OFFER:
309
- {
310
- _Logger.default.log('Received OFFER', {
311
- file: _constants2.CALL_MANAGER_FILE,
312
- method: _constants2.METHODS.DEQUEUE_WS_EVENTS
313
- });
314
- activeCall.sendMediaStateMachineEvt({
315
- type: 'E_RECV_ROAP_OFFER',
316
- data: mobiusEvent.data.message
317
- });
318
- break;
319
- }
320
- case _types3.MediaState.ANSWER:
321
- {
322
- _Logger.default.log('Received ANSWER', {
323
- file: _constants2.CALL_MANAGER_FILE,
324
- method: _constants2.METHODS.DEQUEUE_WS_EVENTS
325
- });
326
- activeCall.sendMediaStateMachineEvt({
327
- type: 'E_RECV_ROAP_ANSWER',
328
- data: mobiusEvent.data.message
329
- });
330
- break;
331
- }
332
- case _types3.MediaState.OFFER_REQUEST:
333
- {
334
- _Logger.default.log('Received OFFER_REQUEST', {
335
- file: _constants2.CALL_MANAGER_FILE,
336
- method: _constants2.METHODS.DEQUEUE_WS_EVENTS
337
- });
338
- activeCall.sendMediaStateMachineEvt({
339
- type: 'E_RECV_ROAP_OFFER_REQUEST',
340
- data: mobiusEvent.data.message
341
- });
342
- break;
343
- }
344
- case _types3.MediaState.OK:
345
- {
346
- _Logger.default.log('Received OK', {
347
- file: _constants2.CALL_MANAGER_FILE,
348
- method: _constants2.METHODS.DEQUEUE_WS_EVENTS
349
- });
350
- var mediaOk = {
351
- received: true,
352
- message: mobiusEvent.data.message
353
- };
354
- activeCall.sendMediaStateMachineEvt({
355
- type: 'E_ROAP_OK',
356
- data: mediaOk
357
- });
358
- break;
359
- }
360
- case _types3.MediaState.ERROR:
361
- {
362
- _Logger.default.log('Received Error...', {
363
- file: _constants2.CALL_MANAGER_FILE,
364
- method: _constants2.METHODS.DEQUEUE_WS_EVENTS
365
- });
366
- break;
367
- }
368
- default:
369
- {
370
- _Logger.default.log("Unknown Media mobiusEvent: ".concat(mediaState, " "), {
371
- file: _constants2.CALL_MANAGER_FILE,
372
- method: _constants2.METHODS.DEQUEUE_WS_EVENTS
373
- });
374
- }
375
- }
376
- } else {
377
- _Logger.default.info("CorrelationId: ".concat(correlationId, " doesn't exist , discarding.."), {
378
- file: _constants2.CALL_MANAGER_FILE,
379
- method: _constants2.METHODS.DEQUEUE_WS_EVENTS
380
- });
381
- // TODO: Maybe add a queue for these mobiusEvents per callID and handle them once the call is setup ?
382
- }
383
- break;
384
- }
385
- case _types3.MobiusEventType.CALL_CONNECTED:
386
- {
387
- _Logger.default.log("Received call connect for call: ".concat(correlationId), {
388
- file: _constants2.CALL_MANAGER_FILE,
389
- method: _constants2.METHODS.DEQUEUE_WS_EVENTS
390
- });
391
- var _call = this.getCall(correlationId);
392
- _call.sendCallStateMachineEvt({
393
- type: 'E_RECV_CALL_CONNECT',
394
- data: mobiusEvent.data
395
- });
396
- break;
397
- }
398
- case _types3.MobiusEventType.CALL_DISCONNECTED:
399
- {
400
- _Logger.default.log("Received call disconnect for call: ".concat(correlationId), {
401
- file: _constants2.CALL_MANAGER_FILE,
402
- method: _constants2.METHODS.DEQUEUE_WS_EVENTS
403
- });
404
- var _call2 = this.getCall(correlationId);
405
- if (_call2) {
406
- _call2.sendCallStateMachineEvt({
407
- type: 'E_RECV_CALL_DISCONNECT'
408
- });
409
- }
410
- break;
411
- }
412
- default:
413
- {
414
- _Logger.default.log("Unknown Call Event mobiusEvent: ".concat(mobiusEvent.data.eventType), {
415
- file: _constants2.CALL_MANAGER_FILE,
416
- method: _constants2.METHODS.DEQUEUE_WS_EVENTS
417
- });
418
- }
419
- }
420
- }
421
- }, {
422
- key: "updateLine",
423
- value:
424
- /**
425
- * Adds line instance to lineDict
426
- */
427
- function updateLine(deviceId, line) {
428
- this.lineDict[deviceId] = line;
429
- _Logger.default.log("Successfully updated line for deviceId: ".concat(deviceId), {
430
- file: _constants2.CALL_MANAGER_FILE,
431
- method: _constants2.METHODS.UPDATE_LINE
432
- });
433
- }
434
-
435
- /**
436
- * Retrieves line id
437
- */
438
- }, {
439
- key: "getLineId",
440
- value: function getLineId(deviceId) {
441
- return this.lineDict[deviceId].lineId;
442
- }
443
- }]);
444
- return CallManager;
445
- }(_impl.Eventing);
446
- /**
447
- * @param webex -.
448
- * @param indicator - Service Indicator.
449
- */
450
- var getCallManager = exports.getCallManager = function getCallManager(webex, indicator) {
451
- if (!callManager) {
452
- callManager = new CallManager(webex, indicator);
453
- }
454
- return callManager;
455
- };
456
- //# sourceMappingURL=callManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_constants","require","_constants2","_types","_impl","_SDKConnector","_interopRequireDefault","_types2","_types3","_call3","_Logger","_createSuper","t","r","_isNativeReflectConstruct","e","o","_getPrototypeOf2","default","s","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Boolean","prototype","valueOf","call","callManager","CallManager","exports","_Eventing","_inherits2","_super","webex","indicator","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","direction","deviceId","lineId","destination","log","info","concat","METHOD_START_MESSAGE","file","CALL_MANAGER_FILE","method","METHODS","CREATE_CALL","newCall","createCall","activeMobiusUrl","correlationId","callCollection","activeCalls","_keys","getActiveCalls","length","getCorrelationId","emit","CALLING_CLIENT_EVENT_KEYS","ALL_CALLS_CLEARED","serviceIndicator","sdkConnector","SDKConnector","getWebex","setWebex","lineDict","listenForWsEvents","_createClass2","key","value","updateActiveMobius","url","UPDATE_ACTIVE_MOBIUS","_this2","registerListener","_ref","_asyncToGenerator2","_regenerator","mark","_callee","event","wrap","_callee$","_context","prev","next","dequeueWsEvents","stop","_x","REGISTER_SESSIONS_LISTENER","_this3","DEQUEUE_WS_EVENTS","mobiusEvent","_mobiusEvent$data","data","callId","eventType","MobiusEventType","CALL_SETUP","midCallService","forEach","midCallEvent","getCall","handleMidCallEvent","newId","find","id","getCallId","getLineId","CallDirection","INBOUND","setCallId","broadworksCorrelationInfo","setBroadworksCorrelationInfo","callerId","startCallerIdResolution","LINE_EVENT_KEYS","INCOMING_CALL","sendCallStateMachineEvt","type","CALL_PROGRESS","CALL_MEDIA","activeCall","_mobiusEvent$data$mes","_mobiusEvent$data$mes2","_mobiusEvent$data$mes3","_mobiusEvent$data$mes4","_mobiusEvent$data$mes5","message","sdp","messageType","seq","version","mediaState","MediaState","OFFER","sendMediaStateMachineEvt","ANSWER","OFFER_REQUEST","OK","mediaOk","received","ERROR","CALL_CONNECTED","CALL_DISCONNECTED","updateLine","line","UPDATE_LINE","Eventing","getCallManager"],"sources":["callManager.ts"],"sourcesContent":["/* eslint-disable dot-notation */\n/* eslint-disable valid-jsdoc */\nimport {METHOD_START_MESSAGE} from '../../common/constants';\nimport {CALL_MANAGER_FILE, METHODS} from '../constants';\nimport {CALLING_CLIENT_EVENT_KEYS, CallEventTypes, LINE_EVENT_KEYS} from '../../Events/types';\nimport {Eventing} from '../../Events/impl';\nimport SDKConnector from '../../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../../SDKConnector/types';\nimport {CallDetails, CallDirection, CorrelationId, ServiceIndicator} from '../../common/types';\nimport {\n ICall,\n ICallManager,\n MediaState,\n MidCallEvent,\n MobiusCallEvent,\n MobiusEventType,\n} from './types';\nimport {createCall} from './call';\nimport log from '../../Logger';\nimport {ILine} from '../line/types';\n\nlet callManager: ICallManager;\n\n/**\n *\n */\nexport class CallManager extends Eventing<CallEventTypes> implements ICallManager {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private callCollection: Record<CorrelationId, ICall>;\n\n private activeMobiusUrl!: string;\n\n private serviceIndicator: ServiceIndicator;\n\n private lineDict: Record<string, ILine>;\n\n /**\n * @param webex -.\n * @param indicator - Service Indicator.\n */\n constructor(webex: WebexSDK, indicator: ServiceIndicator) {\n super();\n this.sdkConnector = SDKConnector;\n this.serviceIndicator = indicator;\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n this.lineDict = {};\n this.webex = this.sdkConnector.getWebex();\n this.callCollection = {};\n this.activeMobiusUrl = '';\n this.listenForWsEvents();\n }\n\n /**\n * @param direction -.\n * @param deviceId -.\n * @param destination -.\n */\n public createCall = (\n direction: CallDirection,\n deviceId: string,\n lineId: string,\n destination?: CallDetails\n ): ICall => {\n log.info(`${METHOD_START_MESSAGE} with ${direction}, ${deviceId} and ${lineId}`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.CREATE_CALL,\n });\n log.log('Creating call object', {});\n const newCall = createCall(\n this.activeMobiusUrl,\n this.webex,\n direction,\n deviceId,\n lineId,\n (correlationId: CorrelationId) => {\n delete this.callCollection[correlationId];\n const activeCalls = Object.keys(this.getActiveCalls()).length;\n\n log.info(\n `DELETE:: Deleted corelationId: ${newCall.getCorrelationId()} from CallManager, Number of call records :- ${activeCalls}`,\n {}\n );\n if (activeCalls === 0) {\n /* Notify CallingClient when all calls are cleared. */\n this.emit(CALLING_CLIENT_EVENT_KEYS.ALL_CALLS_CLEARED);\n log.log('All calls have been cleared', {\n file: CALL_MANAGER_FILE,\n method: METHODS.CREATE_CALL,\n });\n }\n },\n this.serviceIndicator,\n destination\n );\n\n this.callCollection[newCall.getCorrelationId()] = newCall;\n log.log(`New call created with correlationId: ${newCall.getCorrelationId()}`, {});\n log.info(\n `ADD:: Added corelationId: ${newCall.getCorrelationId()} to CallManager , Number of call records now:- ${\n Object.keys(this.getActiveCalls()).length\n }`,\n {}\n );\n\n return newCall;\n };\n\n /**\n * Update Active Mobius Url.\n *\n * @param url - Mobius Url.\n */\n public updateActiveMobius(url: string) {\n this.activeMobiusUrl = url;\n log.log(`Successfully updated active Mobius URL to: ${url}`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.UPDATE_ACTIVE_MOBIUS,\n });\n }\n\n /**\n * A listener for Mobius events.\n */\n private listenForWsEvents() {\n this.sdkConnector.registerListener('event:mobius', async (event) => {\n this.dequeueWsEvents(event);\n });\n log.info('Successfully registered listener for Mobius events', {\n file: CALL_MANAGER_FILE,\n method: METHODS.REGISTER_SESSIONS_LISTENER,\n });\n }\n\n /**\n * This a Queue where Mobius Events are reported by the underlying Mercury\n * Connection. We handle the events in the order they are posted here. New call\n * Objects are generated from here.\n *\n * @param event - Mobius Events.\n */\n private dequeueWsEvents(event: unknown) {\n log.info(`${METHOD_START_MESSAGE} with event ${event}`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n const mobiusEvent = event as MobiusCallEvent;\n const {callId, correlationId} = mobiusEvent.data;\n\n switch (mobiusEvent.data.eventType) {\n case MobiusEventType.CALL_SETUP: {\n log.log(`Received call Setup message for call: ${callId}`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n /* Check whether MidCall or not */\n if (mobiusEvent.data.midCallService) {\n mobiusEvent.data.midCallService.forEach((midCallEvent: MidCallEvent) => {\n const call = this.getCall(correlationId);\n\n if (call) {\n call.handleMidCallEvent(midCallEvent);\n } else {\n log.info(\n `Dropping midcall event of type: ${midCallEvent.eventType} as it doesn't match with any existing call`,\n {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n }\n );\n }\n });\n\n return;\n }\n /* Check if the Call.Media was processed before Call.Setup.\n * In that case , the Call Object is already created while processing\n * Media message.\n */\n\n const newId = (Object.keys(this.callCollection) as Array<string>).find(\n (id) => this.callCollection[id].getCallId() === callId\n );\n let newCall: ICall;\n\n if (!newId) {\n /* This means it's a new call ...\n * Create an incoming call object and add to our records\n */\n const lineId = this.getLineId(mobiusEvent.data.deviceId);\n newCall = this.createCall(\n CallDirection.INBOUND,\n mobiusEvent.data.deviceId,\n lineId,\n {} as CallDetails\n );\n log.log(\n `New incoming call created with correlationId from Call Setup message: ${newCall.getCorrelationId()}`,\n {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n }\n );\n newCall.setCallId(callId);\n if (mobiusEvent.data.broadworksCorrelationInfo) {\n log.info(\n `Found broadworksCorrelationInfo: ${mobiusEvent.data.broadworksCorrelationInfo}`,\n {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n }\n );\n newCall.setBroadworksCorrelationInfo(mobiusEvent.data.broadworksCorrelationInfo);\n }\n } else {\n log.info(\n `Found the call Object with a matching callId: ${callId} from our records with correlationId: ${newId}`,\n {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n }\n );\n newCall = this.getCall(newId);\n }\n\n if (mobiusEvent.data.callerId) {\n log.info('Processing Caller-Id data', {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n newCall.startCallerIdResolution(mobiusEvent.data.callerId);\n }\n /* Signal Line */\n\n this.emit(LINE_EVENT_KEYS.INCOMING_CALL, newCall);\n\n newCall.sendCallStateMachineEvt({type: 'E_RECV_CALL_SETUP', data: mobiusEvent.data});\n\n break;\n }\n case MobiusEventType.CALL_PROGRESS: {\n log.log(`Received call progress mobiusEvent for call: ${correlationId}`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n const call = this.getCall(correlationId);\n\n call.sendCallStateMachineEvt({type: 'E_RECV_CALL_PROGRESS', data: mobiusEvent.data});\n break;\n }\n case MobiusEventType.CALL_MEDIA: {\n log.log(`Received call media mobiusEvent for call: ${correlationId}`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n\n let activeCall: ICall;\n\n if (correlationId) {\n /* The Call.Media message had correlation id (Except the first message) */\n activeCall = this.getCall(correlationId);\n } else {\n /* This is possibly the first Media message for the call.\n * We should scan our record to see if we can find a call with\n * this callId.\n */\n\n const newId = (Object.keys(this.callCollection) as Array<string>).find(\n (id) => this.callCollection[id].getCallId() === callId\n );\n\n if (newId) {\n /* Call.Media arrived after Call.Setup but the correlationId was Null. */\n\n log.info(\n `Found the call Object with a matching callId: ${callId} from our records with correlationId: ${newId}`,\n {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n }\n );\n activeCall = this.getCall(newId);\n } else {\n /* If Call.Media arrived before Call.Setup , we create the Call Object here */\n\n const lineId = this.getLineId(mobiusEvent.data.deviceId);\n activeCall = this.createCall(\n CallDirection.INBOUND,\n mobiusEvent.data.deviceId,\n lineId,\n {} as CallDetails\n );\n log.log(\n `New incoming call created with correlationId from ROAP Message: ${activeCall.getCorrelationId()}`,\n {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n }\n );\n activeCall.setCallId(callId);\n }\n }\n\n if (activeCall) {\n /* Only Handle if the call is present */\n\n log.info(`SDP from mobius ${mobiusEvent.data.message?.sdp}`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n log.log(\n `ROAP message from mobius with type: ${mobiusEvent.data.message?.messageType}, seq: ${mobiusEvent.data.message?.seq} , version: ${mobiusEvent.data.message?.version}`,\n {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n }\n );\n const mediaState = mobiusEvent.data.message?.messageType;\n\n switch (mediaState) {\n case MediaState.OFFER: {\n log.log('Received OFFER', {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n activeCall.sendMediaStateMachineEvt({\n type: 'E_RECV_ROAP_OFFER',\n data: mobiusEvent.data.message,\n });\n break;\n }\n case MediaState.ANSWER: {\n log.log('Received ANSWER', {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n activeCall.sendMediaStateMachineEvt({\n type: 'E_RECV_ROAP_ANSWER',\n data: mobiusEvent.data.message,\n });\n break;\n }\n case MediaState.OFFER_REQUEST: {\n log.log('Received OFFER_REQUEST', {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n activeCall.sendMediaStateMachineEvt({\n type: 'E_RECV_ROAP_OFFER_REQUEST',\n data: mobiusEvent.data.message,\n });\n break;\n }\n case MediaState.OK: {\n log.log('Received OK', {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n const mediaOk = {\n received: true,\n message: mobiusEvent.data.message,\n };\n\n activeCall.sendMediaStateMachineEvt({\n type: 'E_ROAP_OK',\n data: mediaOk,\n });\n break;\n }\n case MediaState.ERROR: {\n log.log('Received Error...', {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n break;\n }\n default: {\n log.log(`Unknown Media mobiusEvent: ${mediaState} `, {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n }\n }\n } else {\n log.info(`CorrelationId: ${correlationId} doesn't exist , discarding..`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n // TODO: Maybe add a queue for these mobiusEvents per callID and handle them once the call is setup ?\n }\n break;\n }\n case MobiusEventType.CALL_CONNECTED: {\n log.log(`Received call connect for call: ${correlationId}`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n const call = this.getCall(correlationId);\n\n call.sendCallStateMachineEvt({type: 'E_RECV_CALL_CONNECT', data: mobiusEvent.data});\n\n break;\n }\n case MobiusEventType.CALL_DISCONNECTED: {\n log.log(`Received call disconnect for call: ${correlationId}`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n const call = this.getCall(correlationId);\n\n if (call) {\n call.sendCallStateMachineEvt({type: 'E_RECV_CALL_DISCONNECT'});\n }\n break;\n }\n default: {\n log.log(`Unknown Call Event mobiusEvent: ${mobiusEvent.data.eventType}`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n }\n }\n }\n\n /**\n * @param correlationId -.\n */\n public getCall = (correlationId: CorrelationId): ICall => {\n return this.callCollection[correlationId];\n };\n\n /**\n *\n */\n public getActiveCalls = (): Record<string, ICall> => {\n return this.callCollection;\n };\n\n /**\n * Adds line instance to lineDict\n */\n public updateLine(deviceId: string, line: ILine) {\n this.lineDict[deviceId] = line;\n log.log(`Successfully updated line for deviceId: ${deviceId}`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.UPDATE_LINE,\n });\n }\n\n /**\n * Retrieves line id\n */\n private getLineId(deviceId: string) {\n return this.lineDict[deviceId].lineId;\n }\n}\n\n/**\n * @param webex -.\n * @param indicator - Service Indicator.\n */\nexport const getCallManager = (webex: WebexSDK, indicator: ServiceIndicator): ICallManager => {\n if (!callManager) {\n callManager = new CallManager(webex, indicator);\n }\n\n return callManager;\n};\n"],"mappings":"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","ignoreList":[]}