@webex/calling 3.8.0 → 3.8.1-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/dist/CallHistory/CallHistory.js +100 -63
  2. package/dist/CallHistory/CallHistory.js.map +1 -1
  3. package/dist/CallHistory/CallHistory.test.js +115 -19
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -1
  5. package/dist/CallHistory/constants.js +9 -1
  6. package/dist/CallHistory/constants.js.map +1 -1
  7. package/dist/CallSettings/CallSettings.js +46 -13
  8. package/dist/CallSettings/CallSettings.js.map +1 -1
  9. package/dist/CallSettings/UcmBackendConnector.js +62 -18
  10. package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
  11. package/dist/CallSettings/UcmBackendConnector.test.js +70 -7
  12. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
  13. package/dist/CallSettings/WxCallBackendConnector.js +153 -103
  14. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
  15. package/dist/CallSettings/WxCallBackendConnector.test.js +52 -15
  16. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
  17. package/dist/CallSettings/constants.js +15 -1
  18. package/dist/CallSettings/constants.js.map +1 -1
  19. package/dist/CallingClient/CallingClient.js +220 -159
  20. package/dist/CallingClient/CallingClient.js.map +1 -1
  21. package/dist/CallingClient/CallingClient.test.js +53 -24
  22. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  23. package/dist/CallingClient/calling/call.js +251 -189
  24. package/dist/CallingClient/calling/call.js.map +1 -1
  25. package/dist/CallingClient/calling/call.test.js +96 -41
  26. package/dist/CallingClient/calling/call.test.js.map +1 -1
  27. package/dist/CallingClient/calling/callManager.js +73 -48
  28. package/dist/CallingClient/calling/callManager.js.map +1 -1
  29. package/dist/CallingClient/calling/callManager.test.js +96 -37
  30. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  31. package/dist/CallingClient/constants.js +105 -3
  32. package/dist/CallingClient/constants.js.map +1 -1
  33. package/dist/CallingClient/line/index.js +47 -18
  34. package/dist/CallingClient/line/index.js.map +1 -1
  35. package/dist/CallingClient/line/line.test.js +2 -2
  36. package/dist/CallingClient/line/line.test.js.map +1 -1
  37. package/dist/CallingClient/registration/register.js +359 -297
  38. package/dist/CallingClient/registration/register.js.map +1 -1
  39. package/dist/CallingClient/registration/register.test.js +561 -163
  40. package/dist/CallingClient/registration/register.test.js.map +1 -1
  41. package/dist/CallingClient/registration/types.js.map +1 -1
  42. package/dist/Contacts/ContactsClient.js +156 -102
  43. package/dist/Contacts/ContactsClient.js.map +1 -1
  44. package/dist/Contacts/ContactsClient.test.js +197 -49
  45. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  46. package/dist/Contacts/constants.js +11 -1
  47. package/dist/Contacts/constants.js.map +1 -1
  48. package/dist/Errors/types.js +2 -0
  49. package/dist/Errors/types.js.map +1 -1
  50. package/dist/Events/impl/index.js +1 -1
  51. package/dist/Events/impl/index.js.map +1 -1
  52. package/dist/Metrics/index.js +102 -41
  53. package/dist/Metrics/index.js.map +1 -1
  54. package/dist/Metrics/index.test.js +10 -4
  55. package/dist/Metrics/index.test.js.map +1 -1
  56. package/dist/Metrics/types.js +4 -1
  57. package/dist/Metrics/types.js.map +1 -1
  58. package/dist/SDKConnector/types.js.map +1 -1
  59. package/dist/Voicemail/BroadworksBackendConnector.js +154 -91
  60. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
  61. package/dist/Voicemail/BroadworksBackendConnector.test.js +99 -19
  62. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
  63. package/dist/Voicemail/UcmBackendConnector.js +105 -54
  64. package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
  65. package/dist/Voicemail/UcmBackendConnector.test.js +127 -17
  66. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
  67. package/dist/Voicemail/Voicemail.js +198 -79
  68. package/dist/Voicemail/Voicemail.js.map +1 -1
  69. package/dist/Voicemail/Voicemail.test.js +188 -23
  70. package/dist/Voicemail/Voicemail.test.js.map +1 -1
  71. package/dist/Voicemail/WxCallBackendConnector.js +277 -161
  72. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
  73. package/dist/Voicemail/WxCallBackendConnector.test.js +268 -10
  74. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
  75. package/dist/Voicemail/constants.js +25 -1
  76. package/dist/Voicemail/constants.js.map +1 -1
  77. package/dist/Voicemail/types.js.map +1 -1
  78. package/dist/common/Utils.js +168 -104
  79. package/dist/common/Utils.js.map +1 -1
  80. package/dist/common/Utils.test.js +199 -35
  81. package/dist/common/Utils.test.js.map +1 -1
  82. package/dist/common/constants.js +2 -1
  83. package/dist/common/constants.js.map +1 -1
  84. package/dist/common/testUtil.js +3 -0
  85. package/dist/common/testUtil.js.map +1 -1
  86. package/dist/common/types.js.map +1 -1
  87. package/dist/index.js +12 -0
  88. package/dist/index.js.map +1 -1
  89. package/dist/module/CallHistory/CallHistory.js +32 -13
  90. package/dist/module/CallHistory/constants.js +6 -0
  91. package/dist/module/CallSettings/CallSettings.js +36 -3
  92. package/dist/module/CallSettings/UcmBackendConnector.js +50 -5
  93. package/dist/module/CallSettings/WxCallBackendConnector.js +54 -18
  94. package/dist/module/CallSettings/constants.js +12 -0
  95. package/dist/module/CallingClient/CallingClient.js +54 -16
  96. package/dist/module/CallingClient/calling/call.js +172 -121
  97. package/dist/module/CallingClient/calling/callManager.js +51 -26
  98. package/dist/module/CallingClient/constants.js +102 -2
  99. package/dist/module/CallingClient/line/index.js +37 -8
  100. package/dist/module/CallingClient/registration/register.js +103 -64
  101. package/dist/module/Contacts/ContactsClient.js +65 -21
  102. package/dist/module/Contacts/constants.js +10 -0
  103. package/dist/module/Errors/types.js +2 -0
  104. package/dist/module/Events/impl/index.js +1 -1
  105. package/dist/module/Metrics/index.js +57 -2
  106. package/dist/module/Metrics/types.js +3 -0
  107. package/dist/module/Voicemail/BroadworksBackendConnector.js +66 -17
  108. package/dist/module/Voicemail/UcmBackendConnector.js +51 -11
  109. package/dist/module/Voicemail/Voicemail.js +109 -9
  110. package/dist/module/Voicemail/WxCallBackendConnector.js +67 -18
  111. package/dist/module/Voicemail/constants.js +21 -0
  112. package/dist/module/common/Utils.js +51 -12
  113. package/dist/module/common/constants.js +1 -0
  114. package/dist/module/common/testUtil.js +3 -0
  115. package/dist/module/index.js +1 -0
  116. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  117. package/dist/types/CallHistory/constants.d.ts +6 -0
  118. package/dist/types/CallHistory/constants.d.ts.map +1 -1
  119. package/dist/types/CallSettings/CallSettings.d.ts.map +1 -1
  120. package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
  121. package/dist/types/CallSettings/WxCallBackendConnector.d.ts.map +1 -1
  122. package/dist/types/CallSettings/constants.d.ts +12 -0
  123. package/dist/types/CallSettings/constants.d.ts.map +1 -1
  124. package/dist/types/CallingClient/CallingClient.d.ts +2 -3
  125. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  126. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  127. package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
  128. package/dist/types/CallingClient/constants.d.ts +102 -2
  129. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  130. package/dist/types/CallingClient/line/index.d.ts.map +1 -1
  131. package/dist/types/CallingClient/registration/register.d.ts +3 -1
  132. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  133. package/dist/types/CallingClient/registration/types.d.ts +1 -0
  134. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  135. package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
  136. package/dist/types/Contacts/constants.d.ts +10 -0
  137. package/dist/types/Contacts/constants.d.ts.map +1 -1
  138. package/dist/types/Errors/types.d.ts +2 -0
  139. package/dist/types/Errors/types.d.ts.map +1 -1
  140. package/dist/types/Metrics/index.d.ts +1 -1
  141. package/dist/types/Metrics/index.d.ts.map +1 -1
  142. package/dist/types/Metrics/types.d.ts +7 -2
  143. package/dist/types/Metrics/types.d.ts.map +1 -1
  144. package/dist/types/SDKConnector/types.d.ts +11 -2
  145. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  146. package/dist/types/Voicemail/BroadworksBackendConnector.d.ts.map +1 -1
  147. package/dist/types/Voicemail/UcmBackendConnector.d.ts.map +1 -1
  148. package/dist/types/Voicemail/Voicemail.d.ts +1 -1
  149. package/dist/types/Voicemail/Voicemail.d.ts.map +1 -1
  150. package/dist/types/Voicemail/WxCallBackendConnector.d.ts +3 -1
  151. package/dist/types/Voicemail/WxCallBackendConnector.d.ts.map +1 -1
  152. package/dist/types/Voicemail/constants.d.ts +21 -0
  153. package/dist/types/Voicemail/constants.d.ts.map +1 -1
  154. package/dist/types/Voicemail/types.d.ts +1 -1
  155. package/dist/types/Voicemail/types.d.ts.map +1 -1
  156. package/dist/types/common/Utils.d.ts +4 -4
  157. package/dist/types/common/Utils.d.ts.map +1 -1
  158. package/dist/types/common/constants.d.ts +1 -0
  159. package/dist/types/common/constants.d.ts.map +1 -1
  160. package/dist/types/common/testUtil.d.ts +3 -0
  161. package/dist/types/common/testUtil.d.ts.map +1 -1
  162. package/dist/types/common/types.d.ts +12 -0
  163. package/dist/types/common/types.d.ts.map +1 -1
  164. package/dist/types/index.d.ts +2 -0
  165. package/dist/types/index.d.ts.map +1 -1
  166. package/package.json +4 -3
@@ -17,7 +17,8 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/
17
17
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
18
18
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
19
19
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
20
- var _constants = require("../constants");
20
+ var _constants = require("../../common/constants");
21
+ var _constants2 = require("../constants");
21
22
  var _types = require("../../Events/types");
22
23
  var _impl = require("../../Events/impl");
23
24
  var _SDKConnector = _interopRequireDefault(require("../../SDKConnector"));
@@ -55,6 +56,10 @@ var CallManager = exports.CallManager = /*#__PURE__*/function (_Eventing) {
55
56
  * @param destination -.
56
57
  */
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
+ });
58
63
  _Logger.default.log('Creating call object', {});
59
64
  var newCall = (0, _call3.createCall)(_this.activeMobiusUrl, _this.webex, direction, deviceId, lineId, function (correlationId) {
60
65
  delete _this.callCollection[correlationId];
@@ -63,6 +68,10 @@ var CallManager = exports.CallManager = /*#__PURE__*/function (_Eventing) {
63
68
  if (activeCalls === 0) {
64
69
  /* Notify CallingClient when all calls are cleared. */
65
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
+ });
66
75
  }
67
76
  }, _this.serviceIndicator, destination);
68
77
  _this.callCollection[newCall.getCorrelationId()] = newCall;
@@ -104,6 +113,10 @@ var CallManager = exports.CallManager = /*#__PURE__*/function (_Eventing) {
104
113
  */
105
114
  function updateActiveMobius(url) {
106
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
+ });
107
120
  }
108
121
 
109
122
  /**
@@ -129,6 +142,10 @@ var CallManager = exports.CallManager = /*#__PURE__*/function (_Eventing) {
129
142
  return _ref.apply(this, arguments);
130
143
  };
131
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
+ });
132
149
  }
133
150
 
134
151
  /**
@@ -142,6 +159,10 @@ var CallManager = exports.CallManager = /*#__PURE__*/function (_Eventing) {
142
159
  key: "dequeueWsEvents",
143
160
  value: function dequeueWsEvents(event) {
144
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
+ });
145
166
  var mobiusEvent = event;
146
167
  var _mobiusEvent$data = mobiusEvent.data,
147
168
  callId = _mobiusEvent$data.callId,
@@ -150,8 +171,8 @@ var CallManager = exports.CallManager = /*#__PURE__*/function (_Eventing) {
150
171
  case _types3.MobiusEventType.CALL_SETUP:
151
172
  {
152
173
  _Logger.default.log("Received call Setup message for call: ".concat(callId), {
153
- file: _constants.CALL_MANAGER_FILE,
154
- method: 'dequeueWsEvents'
174
+ file: _constants2.CALL_MANAGER_FILE,
175
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
155
176
  });
156
177
  /* Check whether MidCall or not */
157
178
  if (mobiusEvent.data.midCallService) {
@@ -160,9 +181,9 @@ var CallManager = exports.CallManager = /*#__PURE__*/function (_Eventing) {
160
181
  if (call) {
161
182
  call.handleMidCallEvent(midCallEvent);
162
183
  } else {
163
- _Logger.default.log("Dropping midcall event of type: ".concat(midCallEvent.eventType, " as it doesn't match with any existing call"), {
164
- file: _constants.CALL_MANAGER_FILE,
165
- method: 'dequeueWsEvents'
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
166
187
  });
167
188
  }
168
189
  });
@@ -184,28 +205,28 @@ var CallManager = exports.CallManager = /*#__PURE__*/function (_Eventing) {
184
205
  var lineId = this.getLineId(mobiusEvent.data.deviceId);
185
206
  newCall = this.createCall(_types2.CallDirection.INBOUND, mobiusEvent.data.deviceId, lineId, {});
186
207
  _Logger.default.log("New incoming call created with correlationId from Call Setup message: ".concat(newCall.getCorrelationId()), {
187
- file: _constants.CALL_MANAGER_FILE,
188
- method: 'dequeueWsEvents'
208
+ file: _constants2.CALL_MANAGER_FILE,
209
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
189
210
  });
190
211
  newCall.setCallId(callId);
191
212
  if (mobiusEvent.data.broadworksCorrelationInfo) {
192
- _Logger.default.log("Found broadworksCorrelationInfo: ".concat(mobiusEvent.data.broadworksCorrelationInfo), {
193
- file: _constants.CALL_MANAGER_FILE,
194
- method: 'dequeueWsEvents'
213
+ _Logger.default.info("Found broadworksCorrelationInfo: ".concat(mobiusEvent.data.broadworksCorrelationInfo), {
214
+ file: _constants2.CALL_MANAGER_FILE,
215
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
195
216
  });
196
217
  newCall.setBroadworksCorrelationInfo(mobiusEvent.data.broadworksCorrelationInfo);
197
218
  }
198
219
  } else {
199
220
  _Logger.default.info("Found the call Object with a matching callId: ".concat(callId, " from our records with correlationId: ").concat(newId), {
200
- file: _constants.CALL_MANAGER_FILE,
201
- method: 'dequeueWsEvents'
221
+ file: _constants2.CALL_MANAGER_FILE,
222
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
202
223
  });
203
224
  newCall = this.getCall(newId);
204
225
  }
205
226
  if (mobiusEvent.data.callerId) {
206
227
  _Logger.default.info('Processing Caller-Id data', {
207
- file: _constants.CALL_MANAGER_FILE,
208
- method: 'dequeueWsEvents'
228
+ file: _constants2.CALL_MANAGER_FILE,
229
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
209
230
  });
210
231
  newCall.startCallerIdResolution(mobiusEvent.data.callerId);
211
232
  }
@@ -221,8 +242,8 @@ var CallManager = exports.CallManager = /*#__PURE__*/function (_Eventing) {
221
242
  case _types3.MobiusEventType.CALL_PROGRESS:
222
243
  {
223
244
  _Logger.default.log("Received call progress mobiusEvent for call: ".concat(correlationId), {
224
- file: _constants.CALL_MANAGER_FILE,
225
- method: 'dequeueWsEvents'
245
+ file: _constants2.CALL_MANAGER_FILE,
246
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
226
247
  });
227
248
  var call = this.getCall(correlationId);
228
249
  call.sendCallStateMachineEvt({
@@ -234,8 +255,8 @@ var CallManager = exports.CallManager = /*#__PURE__*/function (_Eventing) {
234
255
  case _types3.MobiusEventType.CALL_MEDIA:
235
256
  {
236
257
  _Logger.default.log("Received call media mobiusEvent for call: ".concat(correlationId), {
237
- file: _constants.CALL_MANAGER_FILE,
238
- method: 'dequeueWsEvents'
258
+ file: _constants2.CALL_MANAGER_FILE,
259
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
239
260
  });
240
261
  var activeCall;
241
262
  if (correlationId) {
@@ -254,8 +275,8 @@ var CallManager = exports.CallManager = /*#__PURE__*/function (_Eventing) {
254
275
  /* Call.Media arrived after Call.Setup but the correlationId was Null. */
255
276
 
256
277
  _Logger.default.info("Found the call Object with a matching callId: ".concat(callId, " from our records with correlationId: ").concat(_newId), {
257
- file: _constants.CALL_MANAGER_FILE,
258
- method: 'dequeueWsEvents'
278
+ file: _constants2.CALL_MANAGER_FILE,
279
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
259
280
  });
260
281
  activeCall = this.getCall(_newId);
261
282
  } else {
@@ -264,8 +285,8 @@ var CallManager = exports.CallManager = /*#__PURE__*/function (_Eventing) {
264
285
  var _lineId = this.getLineId(mobiusEvent.data.deviceId);
265
286
  activeCall = this.createCall(_types2.CallDirection.INBOUND, mobiusEvent.data.deviceId, _lineId, {});
266
287
  _Logger.default.log("New incoming call created with correlationId from ROAP Message: ".concat(activeCall.getCorrelationId()), {
267
- file: _constants.CALL_MANAGER_FILE,
268
- method: 'dequeueWsEvents'
288
+ file: _constants2.CALL_MANAGER_FILE,
289
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
269
290
  });
270
291
  activeCall.setCallId(callId);
271
292
  }
@@ -275,20 +296,20 @@ var CallManager = exports.CallManager = /*#__PURE__*/function (_Eventing) {
275
296
  /* Only Handle if the call is present */
276
297
 
277
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), {
278
- file: _constants.CALL_MANAGER_FILE,
279
- method: 'dequeueWsEvents'
299
+ file: _constants2.CALL_MANAGER_FILE,
300
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
280
301
  });
281
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), {
282
- file: _constants.CALL_MANAGER_FILE,
283
- method: 'dequeueWsEvents'
303
+ file: _constants2.CALL_MANAGER_FILE,
304
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
284
305
  });
285
306
  var mediaState = (_mobiusEvent$data$mes5 = mobiusEvent.data.message) === null || _mobiusEvent$data$mes5 === void 0 ? void 0 : _mobiusEvent$data$mes5.messageType;
286
307
  switch (mediaState) {
287
308
  case _types3.MediaState.OFFER:
288
309
  {
289
310
  _Logger.default.log('Received OFFER', {
290
- file: _constants.CALL_MANAGER_FILE,
291
- method: 'dequeueWsEvents'
311
+ file: _constants2.CALL_MANAGER_FILE,
312
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
292
313
  });
293
314
  activeCall.sendMediaStateMachineEvt({
294
315
  type: 'E_RECV_ROAP_OFFER',
@@ -299,8 +320,8 @@ var CallManager = exports.CallManager = /*#__PURE__*/function (_Eventing) {
299
320
  case _types3.MediaState.ANSWER:
300
321
  {
301
322
  _Logger.default.log('Received ANSWER', {
302
- file: _constants.CALL_MANAGER_FILE,
303
- method: 'dequeueWsEvents'
323
+ file: _constants2.CALL_MANAGER_FILE,
324
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
304
325
  });
305
326
  activeCall.sendMediaStateMachineEvt({
306
327
  type: 'E_RECV_ROAP_ANSWER',
@@ -311,8 +332,8 @@ var CallManager = exports.CallManager = /*#__PURE__*/function (_Eventing) {
311
332
  case _types3.MediaState.OFFER_REQUEST:
312
333
  {
313
334
  _Logger.default.log('Received OFFER_REQUEST', {
314
- file: _constants.CALL_MANAGER_FILE,
315
- method: 'dequeueWsEvents'
335
+ file: _constants2.CALL_MANAGER_FILE,
336
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
316
337
  });
317
338
  activeCall.sendMediaStateMachineEvt({
318
339
  type: 'E_RECV_ROAP_OFFER_REQUEST',
@@ -323,8 +344,8 @@ var CallManager = exports.CallManager = /*#__PURE__*/function (_Eventing) {
323
344
  case _types3.MediaState.OK:
324
345
  {
325
346
  _Logger.default.log('Received OK', {
326
- file: _constants.CALL_MANAGER_FILE,
327
- method: 'dequeueWsEvents'
347
+ file: _constants2.CALL_MANAGER_FILE,
348
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
328
349
  });
329
350
  var mediaOk = {
330
351
  received: true,
@@ -339,23 +360,23 @@ var CallManager = exports.CallManager = /*#__PURE__*/function (_Eventing) {
339
360
  case _types3.MediaState.ERROR:
340
361
  {
341
362
  _Logger.default.log('Received Error...', {
342
- file: _constants.CALL_MANAGER_FILE,
343
- method: 'dequeueWsEvents'
363
+ file: _constants2.CALL_MANAGER_FILE,
364
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
344
365
  });
345
366
  break;
346
367
  }
347
368
  default:
348
369
  {
349
370
  _Logger.default.log("Unknown Media mobiusEvent: ".concat(mediaState, " "), {
350
- file: _constants.CALL_MANAGER_FILE,
351
- method: 'dequeueWsEvents'
371
+ file: _constants2.CALL_MANAGER_FILE,
372
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
352
373
  });
353
374
  }
354
375
  }
355
376
  } else {
356
- _Logger.default.log("CorrelationId: ".concat(correlationId, " doesn't exist , discarding.."), {
357
- file: _constants.CALL_MANAGER_FILE,
358
- method: 'dequeueWsEvents'
377
+ _Logger.default.info("CorrelationId: ".concat(correlationId, " doesn't exist , discarding.."), {
378
+ file: _constants2.CALL_MANAGER_FILE,
379
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
359
380
  });
360
381
  // TODO: Maybe add a queue for these mobiusEvents per callID and handle them once the call is setup ?
361
382
  }
@@ -365,8 +386,8 @@ var CallManager = exports.CallManager = /*#__PURE__*/function (_Eventing) {
365
386
  case _types3.MobiusEventType.CALL_CONNECTED:
366
387
  {
367
388
  _Logger.default.log("Received call connect for call: ".concat(correlationId), {
368
- file: _constants.CALL_MANAGER_FILE,
369
- method: 'dequeueWsEvents'
389
+ file: _constants2.CALL_MANAGER_FILE,
390
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
370
391
  });
371
392
  var _call = this.getCall(correlationId);
372
393
  _call.sendCallStateMachineEvt({
@@ -378,8 +399,8 @@ var CallManager = exports.CallManager = /*#__PURE__*/function (_Eventing) {
378
399
  case _types3.MobiusEventType.CALL_DISCONNECTED:
379
400
  {
380
401
  _Logger.default.log("Received call disconnect for call: ".concat(correlationId), {
381
- file: _constants.CALL_MANAGER_FILE,
382
- method: 'dequeueWsEvents'
402
+ file: _constants2.CALL_MANAGER_FILE,
403
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
383
404
  });
384
405
  var _call2 = this.getCall(correlationId);
385
406
  if (_call2) {
@@ -392,8 +413,8 @@ var CallManager = exports.CallManager = /*#__PURE__*/function (_Eventing) {
392
413
  default:
393
414
  {
394
415
  _Logger.default.log("Unknown Call Event mobiusEvent: ".concat(mobiusEvent.data.eventType), {
395
- file: _constants.CALL_MANAGER_FILE,
396
- method: 'dequeueWsEvents'
416
+ file: _constants2.CALL_MANAGER_FILE,
417
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
397
418
  });
398
419
  }
399
420
  }
@@ -406,6 +427,10 @@ var CallManager = exports.CallManager = /*#__PURE__*/function (_Eventing) {
406
427
  */
407
428
  function updateLine(deviceId, line) {
408
429
  this.lineDict[deviceId] = line;
430
+ _Logger.default.log("Successfully updated line for deviceId: ".concat(deviceId), {
431
+ file: _constants2.CALL_MANAGER_FILE,
432
+ method: _constants2.METHODS.UPDATE_LINE
433
+ });
409
434
  }
410
435
 
411
436
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","require","_types","_impl","_SDKConnector","_interopRequireDefault","_types2","_types3","_call3","_Logger","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","callManager","CallManager","exports","_Eventing","_inherits2","_super","webex","indicator","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","direction","deviceId","lineId","destination","log","newCall","createCall","activeMobiusUrl","correlationId","callCollection","activeCalls","_keys","getActiveCalls","length","info","concat","getCorrelationId","emit","CALLING_CLIENT_EVENT_KEYS","ALL_CALLS_CLEARED","serviceIndicator","sdkConnector","SDKConnector","getWebex","setWebex","lineDict","listenForWsEvents","_createClass2","key","value","updateActiveMobius","url","_this2","registerListener","_ref","_asyncToGenerator2","_regenerator","mark","_callee","event","wrap","_callee$","_context","prev","next","dequeueWsEvents","stop","_x","_this3","mobiusEvent","_mobiusEvent$data","data","callId","eventType","MobiusEventType","CALL_SETUP","file","CALL_MANAGER_FILE","method","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","Eventing","getCallManager"],"sources":["callManager.ts"],"sourcesContent":["/* eslint-disable dot-notation */\n/* eslint-disable valid-jsdoc */\nimport {CALL_MANAGER_FILE} 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.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 }\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 }\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 }\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 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: 'dequeueWsEvents',\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.log(\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: 'dequeueWsEvents',\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: 'dequeueWsEvents',\n }\n );\n newCall.setCallId(callId);\n if (mobiusEvent.data.broadworksCorrelationInfo) {\n log.log(\n `Found broadworksCorrelationInfo: ${mobiusEvent.data.broadworksCorrelationInfo}`,\n {\n file: CALL_MANAGER_FILE,\n method: 'dequeueWsEvents',\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: 'dequeueWsEvents',\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: 'dequeueWsEvents',\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: 'dequeueWsEvents',\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: 'dequeueWsEvents',\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: 'dequeueWsEvents',\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: 'dequeueWsEvents',\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: 'dequeueWsEvents',\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: 'dequeueWsEvents',\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: 'dequeueWsEvents',\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: 'dequeueWsEvents',\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: 'dequeueWsEvents',\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: 'dequeueWsEvents',\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: 'dequeueWsEvents',\n });\n break;\n }\n default: {\n log.log(`Unknown Media mobiusEvent: ${mediaState} `, {\n file: CALL_MANAGER_FILE,\n method: 'dequeueWsEvents',\n });\n }\n }\n } else {\n log.log(`CorrelationId: ${correlationId} doesn't exist , discarding..`, {\n file: CALL_MANAGER_FILE,\n method: 'dequeueWsEvents',\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: 'dequeueWsEvents',\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: 'dequeueWsEvents',\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: 'dequeueWsEvents',\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 }\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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"}
1
+ {"version":3,"names":["_constants","require","_constants2","_types","_impl","_SDKConnector","_interopRequireDefault","_types2","_types3","_call3","_Logger","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","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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"}