@webex/calling 3.0.0-next.9 → 3.0.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 (209) hide show
  1. package/dist/CallHistory/CallHistory.js +48 -48
  2. package/dist/CallHistory/CallHistory.js.map +1 -1
  3. package/dist/CallHistory/CallHistory.test.js +9 -0
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -1
  5. package/dist/CallHistory/callHistoryFixtures.js +63 -7
  6. package/dist/CallHistory/callHistoryFixtures.js.map +1 -1
  7. package/dist/CallHistory/constants.js +9 -18
  8. package/dist/CallHistory/constants.js.map +1 -1
  9. package/dist/CallSettings/CallSettings.js +18 -13
  10. package/dist/CallSettings/CallSettings.js.map +1 -1
  11. package/dist/CallSettings/CallSettings.test.js.map +1 -1
  12. package/dist/CallSettings/UcmBackendConnector.js +7 -8
  13. package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
  14. package/dist/CallSettings/UcmBackendConnector.test.js +69 -37
  15. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
  16. package/dist/CallSettings/WxCallBackendConnector.js +19 -13
  17. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
  18. package/dist/CallSettings/WxCallBackendConnector.test.js +2 -2
  19. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
  20. package/dist/CallSettings/constants.js +11 -22
  21. package/dist/CallSettings/constants.js.map +1 -1
  22. package/dist/CallSettings/testFixtures.js +4 -8
  23. package/dist/CallSettings/testFixtures.js.map +1 -1
  24. package/dist/CallSettings/types.js.map +1 -1
  25. package/dist/CallingClient/CallingClient.js +108 -64
  26. package/dist/CallingClient/CallingClient.js.map +1 -1
  27. package/dist/CallingClient/CallingClient.test.js +170 -109
  28. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  29. package/dist/CallingClient/callRecordFixtures.js +2 -4
  30. package/dist/CallingClient/callRecordFixtures.js.map +1 -1
  31. package/dist/CallingClient/calling/CallerId/index.js +9 -29
  32. package/dist/CallingClient/calling/CallerId/index.js.map +1 -1
  33. package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -1
  34. package/dist/CallingClient/calling/call.js +200 -78
  35. package/dist/CallingClient/calling/call.js.map +1 -1
  36. package/dist/CallingClient/calling/call.test.js +762 -414
  37. package/dist/CallingClient/calling/call.test.js.map +1 -1
  38. package/dist/CallingClient/calling/callManager.js +3 -5
  39. package/dist/CallingClient/calling/callManager.js.map +1 -1
  40. package/dist/CallingClient/calling/callManager.test.js +1 -1
  41. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  42. package/dist/CallingClient/calling/types.js +31 -33
  43. package/dist/CallingClient/calling/types.js.map +1 -1
  44. package/dist/CallingClient/callingClientFixtures.js +107 -17
  45. package/dist/CallingClient/callingClientFixtures.js.map +1 -1
  46. package/dist/CallingClient/constants.js +103 -193
  47. package/dist/CallingClient/constants.js.map +1 -1
  48. package/dist/CallingClient/line/index.js +18 -17
  49. package/dist/CallingClient/line/index.js.map +1 -1
  50. package/dist/CallingClient/line/line.test.js +13 -13
  51. package/dist/CallingClient/line/line.test.js.map +1 -1
  52. package/dist/CallingClient/line/types.js +7 -14
  53. package/dist/CallingClient/line/types.js.map +1 -1
  54. package/dist/CallingClient/registration/register.js +90 -71
  55. package/dist/CallingClient/registration/register.js.map +1 -1
  56. package/dist/CallingClient/registration/register.test.js +33 -32
  57. package/dist/CallingClient/registration/register.test.js.map +1 -1
  58. package/dist/CallingClient/registration/registerFixtures.js +5 -10
  59. package/dist/CallingClient/registration/registerFixtures.js.map +1 -1
  60. package/dist/CallingClient/registration/types.js.map +1 -1
  61. package/dist/Contacts/ContactsClient.js +30 -19
  62. package/dist/Contacts/ContactsClient.js.map +1 -1
  63. package/dist/Contacts/ContactsClient.test.js +4 -4
  64. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  65. package/dist/Contacts/constants.js +10 -18
  66. package/dist/Contacts/constants.js.map +1 -1
  67. package/dist/Contacts/contactFixtures.js +26 -52
  68. package/dist/Contacts/contactFixtures.js.map +1 -1
  69. package/dist/Contacts/types.js +29 -9
  70. package/dist/Contacts/types.js.map +1 -1
  71. package/dist/Errors/catalog/CallError.js +3 -5
  72. package/dist/Errors/catalog/CallError.js.map +1 -1
  73. package/dist/Errors/catalog/CallingDeviceError.js +4 -6
  74. package/dist/Errors/catalog/CallingDeviceError.js.map +1 -1
  75. package/dist/Errors/catalog/ExtendedError.js +2 -3
  76. package/dist/Errors/catalog/ExtendedError.js.map +1 -1
  77. package/dist/Errors/catalog/LineError.js +5 -7
  78. package/dist/Errors/catalog/LineError.js.map +1 -1
  79. package/dist/Errors/index.js +7 -0
  80. package/dist/Errors/index.js.map +1 -1
  81. package/dist/Errors/types.js +15 -20
  82. package/dist/Errors/types.js.map +1 -1
  83. package/dist/Events/impl/index.js +2 -3
  84. package/dist/Events/impl/index.js.map +1 -1
  85. package/dist/Events/types.js +44 -52
  86. package/dist/Events/types.js.map +1 -1
  87. package/dist/Logger/index.js +1 -2
  88. package/dist/Logger/index.js.map +1 -1
  89. package/dist/Logger/index.test.js.map +1 -1
  90. package/dist/Logger/types.js +9 -12
  91. package/dist/Logger/types.js.map +1 -1
  92. package/dist/Metrics/index.js +32 -4
  93. package/dist/Metrics/index.js.map +1 -1
  94. package/dist/Metrics/index.test.js +55 -5
  95. package/dist/Metrics/index.test.js.map +1 -1
  96. package/dist/Metrics/types.js +17 -20
  97. package/dist/Metrics/types.js.map +1 -1
  98. package/dist/SDKConnector/index.js +1 -2
  99. package/dist/SDKConnector/index.js.map +1 -1
  100. package/dist/SDKConnector/types.js.map +1 -1
  101. package/dist/SDKConnector/utils.js +1 -2
  102. package/dist/SDKConnector/utils.js.map +1 -1
  103. package/dist/Voicemail/BroadworksBackendConnector.js +21 -12
  104. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
  105. package/dist/Voicemail/BroadworksBackendConnector.test.js +2 -2
  106. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
  107. package/dist/Voicemail/UcmBackendConnector.js +19 -11
  108. package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
  109. package/dist/Voicemail/UcmBackendConnector.test.js +5 -4
  110. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
  111. package/dist/Voicemail/Voicemail.js +17 -12
  112. package/dist/Voicemail/Voicemail.js.map +1 -1
  113. package/dist/Voicemail/Voicemail.test.js.map +1 -1
  114. package/dist/Voicemail/WxCallBackendConnector.js +17 -10
  115. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
  116. package/dist/Voicemail/WxCallBackendConnector.test.js +4 -4
  117. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
  118. package/dist/Voicemail/constants.js +29 -58
  119. package/dist/Voicemail/constants.js.map +1 -1
  120. package/dist/Voicemail/voicemailFixture.js +35 -70
  121. package/dist/Voicemail/voicemailFixture.js.map +1 -1
  122. package/dist/api.js.map +1 -1
  123. package/dist/common/Utils.js +18 -25
  124. package/dist/common/Utils.js.map +1 -1
  125. package/dist/common/Utils.test.js +3 -3
  126. package/dist/common/Utils.test.js.map +1 -1
  127. package/dist/common/constants.js +41 -82
  128. package/dist/common/constants.js.map +1 -1
  129. package/dist/common/testUtil.js +12 -21
  130. package/dist/common/testUtil.js.map +1 -1
  131. package/dist/common/types.js +34 -43
  132. package/dist/common/types.js.map +1 -1
  133. package/dist/index.js +246 -0
  134. package/dist/index.js.map +1 -1
  135. package/dist/module/CallHistory/CallHistory.js +7 -5
  136. package/dist/module/CallHistory/callHistoryFixtures.js +59 -0
  137. package/dist/module/CallSettings/UcmBackendConnector.js +4 -4
  138. package/dist/module/CallingClient/CallingClient.js +59 -42
  139. package/dist/module/CallingClient/calling/CallerId/index.js +3 -23
  140. package/dist/module/CallingClient/calling/call.js +126 -32
  141. package/dist/module/CallingClient/callingClientFixtures.js +119 -1
  142. package/dist/module/CallingClient/constants.js +9 -4
  143. package/dist/module/CallingClient/line/index.js +9 -12
  144. package/dist/module/CallingClient/line/types.js +0 -5
  145. package/dist/module/CallingClient/registration/register.js +28 -20
  146. package/dist/module/Errors/catalog/CallingDeviceError.js +2 -2
  147. package/dist/module/Errors/catalog/LineError.js +2 -2
  148. package/dist/module/Errors/index.js +1 -0
  149. package/dist/module/Events/types.js +2 -0
  150. package/dist/module/Metrics/index.js +28 -0
  151. package/dist/module/Metrics/types.js +2 -0
  152. package/dist/module/common/Utils.js +14 -19
  153. package/dist/module/common/testUtil.js +2 -1
  154. package/dist/module/common/types.js +6 -5
  155. package/dist/module/index.js +9 -0
  156. package/dist/types/CallHistory/CallHistory.d.ts +2 -1
  157. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  158. package/dist/types/CallHistory/callHistoryFixtures.d.ts +1 -0
  159. package/dist/types/CallHistory/callHistoryFixtures.d.ts.map +1 -1
  160. package/dist/types/CallSettings/UcmBackendConnector.d.ts +1 -1
  161. package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
  162. package/dist/types/CallSettings/types.d.ts +1 -0
  163. package/dist/types/CallSettings/types.d.ts.map +1 -1
  164. package/dist/types/CallingClient/CallingClient.d.ts +2 -0
  165. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  166. package/dist/types/CallingClient/calling/CallerId/index.d.ts.map +1 -1
  167. package/dist/types/CallingClient/calling/call.d.ts +8 -1
  168. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  169. package/dist/types/CallingClient/calling/types.d.ts +1 -0
  170. package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
  171. package/dist/types/CallingClient/callingClientFixtures.d.ts +69 -1
  172. package/dist/types/CallingClient/callingClientFixtures.d.ts.map +1 -1
  173. package/dist/types/CallingClient/constants.d.ts +8 -3
  174. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  175. package/dist/types/CallingClient/line/index.d.ts +6 -6
  176. package/dist/types/CallingClient/line/index.d.ts.map +1 -1
  177. package/dist/types/CallingClient/line/types.d.ts +5 -17
  178. package/dist/types/CallingClient/line/types.d.ts.map +1 -1
  179. package/dist/types/CallingClient/registration/register.d.ts +3 -3
  180. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  181. package/dist/types/CallingClient/registration/types.d.ts +3 -3
  182. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  183. package/dist/types/Contacts/ContactsClient.d.ts +1 -1
  184. package/dist/types/Errors/catalog/CallingDeviceError.d.ts +4 -4
  185. package/dist/types/Errors/catalog/CallingDeviceError.d.ts.map +1 -1
  186. package/dist/types/Errors/catalog/LineError.d.ts +4 -4
  187. package/dist/types/Errors/catalog/LineError.d.ts.map +1 -1
  188. package/dist/types/Errors/index.d.ts +1 -0
  189. package/dist/types/Errors/index.d.ts.map +1 -1
  190. package/dist/types/Errors/types.d.ts +2 -3
  191. package/dist/types/Errors/types.d.ts.map +1 -1
  192. package/dist/types/Events/types.d.ts +28 -5
  193. package/dist/types/Events/types.d.ts.map +1 -1
  194. package/dist/types/Metrics/index.d.ts.map +1 -1
  195. package/dist/types/Metrics/types.d.ts +3 -0
  196. package/dist/types/Metrics/types.d.ts.map +1 -1
  197. package/dist/types/SDKConnector/types.d.ts +2 -1
  198. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  199. package/dist/types/Voicemail/UcmBackendConnector.d.ts +1 -1
  200. package/dist/types/Voicemail/WxCallBackendConnector.d.ts +1 -1
  201. package/dist/types/api.d.ts.map +1 -1
  202. package/dist/types/common/Utils.d.ts.map +1 -1
  203. package/dist/types/common/testUtil.d.ts +1 -0
  204. package/dist/types/common/testUtil.d.ts.map +1 -1
  205. package/dist/types/common/types.d.ts +3 -2
  206. package/dist/types/common/types.d.ts.map +1 -1
  207. package/dist/types/index.d.ts +13 -0
  208. package/dist/types/index.d.ts.map +1 -1
  209. package/package.json +4 -4
@@ -21,6 +21,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/he
21
21
  var _internalMediaCore = require("@webex/internal-media-core");
22
22
  var _xstate = require("xstate");
23
23
  var _uuid = require("uuid");
24
+ var _webMediaEffects = require("@webex/web-media-effects");
24
25
  var _types = require("../../Errors/types");
25
26
  var _Utils = require("../../common/Utils");
26
27
  var _types2 = require("../../common/types");
@@ -36,11 +37,11 @@ var _types5 = require("../../Metrics/types");
36
37
  var _Metrics = require("../../Metrics");
37
38
  var _constants2 = require("../../common/constants");
38
39
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
39
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
40
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /* eslint-disable tsdoc/syntax */ /* eslint-disable no-param-reassign */
40
41
  /**
41
42
  *
42
43
  */
43
- var Call = /*#__PURE__*/function (_Eventing) {
44
+ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
44
45
  (0, _inherits2.default)(Call, _Eventing);
45
46
  var _super = _createSuper(Call);
46
47
  /**
@@ -68,6 +69,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
68
69
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mediaConnection", void 0);
69
70
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "earlyMedia", void 0);
70
71
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "connected", void 0);
72
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mediaInactivity", void 0);
71
73
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "callerInfo", void 0);
72
74
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "localRoapMessage", void 0);
73
75
  // Use it for new offer
@@ -86,6 +88,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
86
88
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "serviceIndicator", void 0);
87
89
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mediaNegotiationCompleted", void 0);
88
90
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "receivedRoapOKSeq", void 0);
91
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "localAudioStream", void 0);
89
92
  /**
90
93
  *
91
94
  */
@@ -129,7 +132,6 @@ var Call = /*#__PURE__*/function (_Eventing) {
129
132
  */
130
133
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "post", /*#__PURE__*/function () {
131
134
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(roapMessage) {
132
- var _headers;
133
135
  return _regenerator.default.wrap(function _callee$(_context) {
134
136
  while (1) switch (_context.prev = _context.next) {
135
137
  case 0:
@@ -137,7 +139,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
137
139
  uri: "".concat(_this.mobiusUrl).concat(_constants.DEVICES_ENDPOINT_RESOURCE, "/").concat(_this.deviceId, "/").concat(_constants.CALL_ENDPOINT_RESOURCE),
138
140
  method: _types2.HTTP_METHODS.POST,
139
141
  service: _types2.ALLOWED_SERVICES.MOBIUS,
140
- headers: (_headers = {}, (0, _defineProperty2.default)(_headers, _constants.CISCO_DEVICE_URL, _this.webex.internal.device.url), (0, _defineProperty2.default)(_headers, _constants.SPARK_USER_AGENT, _constants.CALLING_USER_AGENT), _headers),
142
+ headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants.CISCO_DEVICE_URL, _this.webex.internal.device.url), _constants.SPARK_USER_AGENT, _constants.CALLING_USER_AGENT),
141
143
  body: {
142
144
  device: {
143
145
  deviceId: _this.deviceId,
@@ -163,6 +165,21 @@ var Call = /*#__PURE__*/function (_Eventing) {
163
165
  return _ref.apply(this, arguments);
164
166
  };
165
167
  }());
168
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onEffectEnabled", function () {
169
+ _this.metricManager.submitBNRMetric(_types5.METRIC_EVENT.BNR_ENABLED, _types5.METRIC_TYPE.BEHAVIORAL, _this.callId, _this.correlationId);
170
+ });
171
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onEffectDisabled", function () {
172
+ _this.metricManager.submitBNRMetric(_types5.METRIC_EVENT.BNR_DISABLED, _types5.METRIC_TYPE.BEHAVIORAL, _this.callId, _this.correlationId);
173
+ });
174
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "registerEffectListener", function (addedEffect) {
175
+ if (_this.localAudioStream) {
176
+ var effect = _this.localAudioStream.getEffectByKind(_constants.NOISE_REDUCTION_EFFECT);
177
+ if (effect === addedEffect) {
178
+ effect.on(_webMediaEffects.EffectEvent.Enabled, _this.onEffectEnabled);
179
+ effect.on(_webMediaEffects.EffectEvent.Disabled, _this.onEffectDisabled);
180
+ }
181
+ }
182
+ });
166
183
  /**
167
184
  *
168
185
  */
@@ -192,7 +209,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
192
209
  }
193
210
  });
194
211
  /**
195
- * .
212
+ * Mutes/Unmutes the call.
196
213
  *
197
214
  * @param localAudioTrack -.
198
215
  */
@@ -206,6 +223,34 @@ var Call = /*#__PURE__*/function (_Eventing) {
206
223
  _this.muted = true;
207
224
  }
208
225
  });
226
+ /**
227
+ * Change the audio stream of the call.
228
+ *
229
+ * @param newAudioStream - The new audio stream to be used in the call.
230
+ */
231
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "updateMedia", function (newAudioStream) {
232
+ var localAudioTrack = newAudioStream.outputStream.getAudioTracks()[0];
233
+ if (!localAudioTrack) {
234
+ _Logger.default.warn("Did not find a local track while updating media for call ".concat(_this.getCorrelationId(), ". Will not update media"), {
235
+ file: _constants.CALL_FILE,
236
+ method: 'updateMedia'
237
+ });
238
+ return;
239
+ }
240
+ try {
241
+ _this.mediaConnection.updateLocalTracks({
242
+ audio: localAudioTrack
243
+ });
244
+ _this.unregisterListeners();
245
+ _this.registerListeners(newAudioStream);
246
+ _this.localAudioStream = newAudioStream;
247
+ } catch (e) {
248
+ _Logger.default.warn("Unable to update media on call ".concat(_this.getCorrelationId(), ". Error: ").concat(e.message), {
249
+ file: _constants.CALL_FILE,
250
+ method: 'updateMedia'
251
+ });
252
+ }
253
+ });
209
254
  _this.destination = destination;
210
255
  _this.direction = direction;
211
256
  _this.sdkConnector = _SDKConnector.default;
@@ -223,6 +268,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
223
268
  _this.correlationId = (0, _uuid.v4)();
224
269
  _this.deleteCb = deleteCb;
225
270
  _this.connected = false;
271
+ _this.mediaInactivity = false;
226
272
  _this.held = false;
227
273
  _this.earlyMedia = false;
228
274
  _this.callerInfo = {};
@@ -230,7 +276,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
230
276
  _this.mobiusUrl = activeUrl;
231
277
  _this.receivedRoapOKSeq = 0;
232
278
  _this.mediaNegotiationCompleted = false;
233
- _Logger.default.info("Mobius Url:- ".concat(_this.mobiusUrl), {
279
+ _Logger.default.info("Webex Calling Url:- ".concat(_this.mobiusUrl), {
234
280
  file: _constants.CALL_FILE,
235
281
  method: 'constructor'
236
282
  });
@@ -309,6 +355,10 @@ var Call = /*#__PURE__*/function (_Eventing) {
309
355
  target: 'S_RECV_CALL_PROGRESS',
310
356
  actions: ['incomingCallProgress']
311
357
  },
358
+ E_RECV_CALL_CONNECT: {
359
+ target: 'S_RECV_CALL_CONNECT',
360
+ actions: ['incomingCallConnect']
361
+ },
312
362
  E_RECV_CALL_DISCONNECT: {
313
363
  target: 'S_RECV_CALL_DISCONNECT',
314
364
  actions: ['incomingCallDisconnect']
@@ -932,7 +982,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
932
982
  */
933
983
  }, {
934
984
  key: "handleOutgoingCallSetup",
935
- value: function () {
985
+ value: (function () {
936
986
  var _handleOutgoingCallSetup = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(event) {
937
987
  var _this2 = this;
938
988
  var message, response, errData;
@@ -959,7 +1009,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
959
1009
  case 10:
960
1010
  _context2.prev = 10;
961
1011
  _context2.t0 = _context2["catch"](2);
962
- _Logger.default.warn('Call setup failed with Mobius', {
1012
+ _Logger.default.warn('Failed to setup the call', {
963
1013
  file: _constants.CALL_FILE,
964
1014
  method: this.handleOutgoingCallSetup.name
965
1015
  });
@@ -994,9 +1044,10 @@ var Call = /*#__PURE__*/function (_Eventing) {
994
1044
  * @param event - Call Events.
995
1045
  */
996
1046
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
1047
+ )
997
1048
  }, {
998
1049
  key: "handleCallHold",
999
- value: function () {
1050
+ value: (function () {
1000
1051
  var _handleCallHold = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(event) {
1001
1052
  var _this3 = this;
1002
1053
  var response, errData;
@@ -1050,7 +1101,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
1050
1101
  case 9:
1051
1102
  _context4.prev = 9;
1052
1103
  _context4.t0 = _context4["catch"](1);
1053
- _Logger.default.warn('Call Hold failed with Mobius', {
1104
+ _Logger.default.warn('Failed to put the call on hold', {
1054
1105
  file: _constants.CALL_FILE,
1055
1106
  method: this.handleCallHold.name
1056
1107
  });
@@ -1085,9 +1136,10 @@ var Call = /*#__PURE__*/function (_Eventing) {
1085
1136
  * @param event - Call Events.
1086
1137
  */
1087
1138
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
1139
+ )
1088
1140
  }, {
1089
1141
  key: "handleCallResume",
1090
- value: function () {
1142
+ value: (function () {
1091
1143
  var _handleCallResume = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(event) {
1092
1144
  var _this4 = this;
1093
1145
  var response, errData;
@@ -1141,7 +1193,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
1141
1193
  case 9:
1142
1194
  _context6.prev = 9;
1143
1195
  _context6.t0 = _context6["catch"](1);
1144
- _Logger.default.warn('Call Resume failed with Mobius', {
1196
+ _Logger.default.warn('Failed to resume the call', {
1145
1197
  file: _constants.CALL_FILE,
1146
1198
  method: this.handleCallResume.name
1147
1199
  });
@@ -1175,6 +1227,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
1175
1227
  *
1176
1228
  * @param event - Call Events.
1177
1229
  */
1230
+ )
1178
1231
  }, {
1179
1232
  key: "handleIncomingCallProgress",
1180
1233
  value: function handleIncomingCallProgress(event) {
@@ -1252,7 +1305,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
1252
1305
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
1253
1306
  }, {
1254
1307
  key: "handleOutgoingCallAlerting",
1255
- value: function () {
1308
+ value: (function () {
1256
1309
  var _handleOutgoingCallAlerting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(event) {
1257
1310
  var _this5 = this;
1258
1311
  var res, errData;
@@ -1277,7 +1330,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
1277
1330
  case 8:
1278
1331
  _context7.prev = 8;
1279
1332
  _context7.t0 = _context7["catch"](1);
1280
- _Logger.default.warn('Call Progress failed with Mobius', {
1333
+ _Logger.default.warn('Failed to signal call progression', {
1281
1334
  file: _constants.CALL_FILE,
1282
1335
  method: this.handleOutgoingCallAlerting.name
1283
1336
  });
@@ -1312,6 +1365,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
1312
1365
  * @param event - Call Events.
1313
1366
  */
1314
1367
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
1368
+ )
1315
1369
  }, {
1316
1370
  key: "handleIncomingCallConnect",
1317
1371
  value: function handleIncomingCallConnect(event) {
@@ -1340,7 +1394,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
1340
1394
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
1341
1395
  }, {
1342
1396
  key: "handleOutgoingCallConnect",
1343
- value: function () {
1397
+ value: (function () {
1344
1398
  var _handleOutgoingCallConnect = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(event) {
1345
1399
  var _this6 = this;
1346
1400
  var res, errData;
@@ -1364,22 +1418,24 @@ var Call = /*#__PURE__*/function (_Eventing) {
1364
1418
  return _context8.abrupt("return");
1365
1419
  case 4:
1366
1420
  _context8.prev = 4;
1367
- _context8.next = 7;
1421
+ /* Start Offer/Answer as we might have buffered the offer by now */
1422
+ this.mediaConnection.roapMessageReceived(this.remoteRoapMessage);
1423
+
1424
+ /* send call_connect PATCH */
1425
+ _context8.next = 8;
1368
1426
  return this.patch(_types4.MobiusCallState.CONNECTED);
1369
- case 7:
1427
+ case 8:
1370
1428
  res = _context8.sent;
1371
1429
  _Logger.default.log("PATCH response: ".concat(res.statusCode), {
1372
1430
  file: _constants.CALL_FILE,
1373
1431
  method: this.handleOutgoingCallConnect.name
1374
1432
  });
1375
- /* Start Offer/Answer as we might have buffered the offer by now */
1376
- this.mediaConnection.roapMessageReceived(this.remoteRoapMessage);
1377
1433
  _context8.next = 17;
1378
1434
  break;
1379
1435
  case 12:
1380
1436
  _context8.prev = 12;
1381
1437
  _context8.t0 = _context8["catch"](4);
1382
- _Logger.default.warn('Call Connect failed with Mobius', {
1438
+ _Logger.default.warn('Failed to connect the call', {
1383
1439
  file: _constants.CALL_FILE,
1384
1440
  method: this.handleOutgoingCallConnect.name
1385
1441
  });
@@ -1414,9 +1470,10 @@ var Call = /*#__PURE__*/function (_Eventing) {
1414
1470
  * @param event - Call Events.
1415
1471
  */
1416
1472
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
1473
+ )
1417
1474
  }, {
1418
1475
  key: "handleIncomingCallDisconnect",
1419
- value: function () {
1476
+ value: (function () {
1420
1477
  var _handleIncomingCallDisconnect = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(event) {
1421
1478
  var response;
1422
1479
  return _regenerator.default.wrap(function _callee9$(_context9) {
@@ -1441,13 +1498,16 @@ var Call = /*#__PURE__*/function (_Eventing) {
1441
1498
  case 9:
1442
1499
  _context9.prev = 9;
1443
1500
  _context9.t0 = _context9["catch"](2);
1444
- _Logger.default.warn('Delete Call failed with Mobius', {
1501
+ _Logger.default.warn('Failed to delete the call', {
1445
1502
  file: _constants.CALL_FILE,
1446
1503
  method: this.handleIncomingCallDisconnect.name
1447
1504
  });
1448
1505
  case 12:
1449
1506
  this.deleteCb(this.correlationId);
1450
1507
 
1508
+ /* Clear the stream listeners */
1509
+ this.unregisterListeners();
1510
+
1451
1511
  /* istanbul ignore else */
1452
1512
  if (this.sessionTimer) {
1453
1513
  clearInterval(this.sessionTimer);
@@ -1468,7 +1528,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
1468
1528
  type: 'E_CALL_CLEARED'
1469
1529
  });
1470
1530
  this.emit(_types3.CALL_EVENT_KEYS.DISCONNECT, this.correlationId);
1471
- case 18:
1531
+ case 19:
1472
1532
  case "end":
1473
1533
  return _context9.stop();
1474
1534
  }
@@ -1485,9 +1545,10 @@ var Call = /*#__PURE__*/function (_Eventing) {
1485
1545
  * @param event - Call Events.
1486
1546
  */
1487
1547
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
1548
+ )
1488
1549
  }, {
1489
1550
  key: "handleOutgoingCallDisconnect",
1490
- value: function () {
1551
+ value: (function () {
1491
1552
  var _handleOutgoingCallDisconnect = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10(event) {
1492
1553
  var response;
1493
1554
  return _regenerator.default.wrap(function _callee10$(_context10) {
@@ -1508,13 +1569,16 @@ var Call = /*#__PURE__*/function (_Eventing) {
1508
1569
  case 8:
1509
1570
  _context10.prev = 8;
1510
1571
  _context10.t0 = _context10["catch"](1);
1511
- _Logger.default.warn('Delete Call failed with Mobius', {
1572
+ _Logger.default.warn('Failed to delete the call', {
1512
1573
  file: _constants.CALL_FILE,
1513
1574
  method: this.handleOutgoingCallDisconnect.name
1514
1575
  });
1515
1576
  case 11:
1516
1577
  this.deleteCb(this.correlationId);
1517
1578
 
1579
+ /* Clear the stream listeners */
1580
+ this.unregisterListeners();
1581
+
1518
1582
  /* istanbul ignore else */
1519
1583
  if (this.sessionTimer) {
1520
1584
  clearInterval(this.sessionTimer);
@@ -1534,7 +1598,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
1534
1598
  this.sendCallStateMachineEvt({
1535
1599
  type: 'E_CALL_CLEARED'
1536
1600
  });
1537
- case 16:
1601
+ case 17:
1538
1602
  case "end":
1539
1603
  return _context10.stop();
1540
1604
  }
@@ -1551,6 +1615,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
1551
1615
  * @param event - Call Events.
1552
1616
  */
1553
1617
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
1618
+ )
1554
1619
  }, {
1555
1620
  key: "handleCallEstablished",
1556
1621
  value: function handleCallEstablished(event) {
@@ -1631,7 +1696,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
1631
1696
  */
1632
1697
  }, {
1633
1698
  key: "handleUnknownState",
1634
- value: function () {
1699
+ value: (function () {
1635
1700
  var _handleUnknownState = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee12(event) {
1636
1701
  var eventData, response;
1637
1702
  return _regenerator.default.wrap(function _callee12$(_context12) {
@@ -1671,7 +1736,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
1671
1736
  case 11:
1672
1737
  _context12.prev = 11;
1673
1738
  _context12.t0 = _context12["catch"](3);
1674
- _Logger.default.warn('Delete Call failed with Mobius', {
1739
+ _Logger.default.warn('Failed to delete the call', {
1675
1740
  file: _constants.CALL_FILE,
1676
1741
  method: this.handleUnknownState.name
1677
1742
  });
@@ -1713,6 +1778,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
1713
1778
  *
1714
1779
  * @param errData - Instance of CallError.
1715
1780
  */
1781
+ )
1716
1782
  }, {
1717
1783
  key: "getEmitterCallback",
1718
1784
  value: function getEmitterCallback(errData) {
@@ -1766,7 +1832,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
1766
1832
  */
1767
1833
  }, {
1768
1834
  key: "handleRoapEstablished",
1769
- value: function () {
1835
+ value: (function () {
1770
1836
  var _handleRoapEstablished = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee13(context, event) {
1771
1837
  var _this9 = this;
1772
1838
  var _ref5, received, message, res, errData;
@@ -1788,7 +1854,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
1788
1854
  method: 'handleRoapEstablished'
1789
1855
  });
1790
1856
  _context13.prev = 5;
1791
- if (this.callStateMachine.state.value === 'S_RECV_CALL_PROGRESS') {
1857
+ if (this.callStateMachine.state.value === 'S_RECV_CALL_PROGRESS' || this.callStateMachine.state.value === 'S_SEND_CALL_SETUP') {
1792
1858
  _Logger.default.info('Media negotiation completed before call connect. Setting media negotiation completed flag.', {
1793
1859
  file: _constants.CALL_FILE,
1794
1860
  method: 'handleRoapEstablished'
@@ -1815,7 +1881,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
1815
1881
  case 15:
1816
1882
  _context13.prev = 15;
1817
1883
  _context13.t0 = _context13["catch"](5);
1818
- _Logger.default.warn('MediaOk failed with Mobius', {
1884
+ _Logger.default.warn('Failed to process MediaOk request', {
1819
1885
  file: _constants.CALL_FILE,
1820
1886
  method: 'handleRoapEstablished'
1821
1887
  });
@@ -1882,9 +1948,10 @@ var Call = /*#__PURE__*/function (_Eventing) {
1882
1948
  * @param context
1883
1949
  * @param event - Roap Events.
1884
1950
  */
1951
+ )
1885
1952
  }, {
1886
1953
  key: "handleRoapError",
1887
- value: function () {
1954
+ value: (function () {
1888
1955
  var _handleRoapError = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee14(context, event) {
1889
1956
  var _this10 = this;
1890
1957
  var message, res, errData;
@@ -1917,7 +1984,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
1917
1984
  case 10:
1918
1985
  _context14.prev = 10;
1919
1986
  _context14.t0 = _context14["catch"](3);
1920
- _Logger.default.warn('Failed to communicate ROAP error with Mobius', {
1987
+ _Logger.default.warn('Failed to communicate ROAP error to Webex Calling', {
1921
1988
  file: _constants.CALL_FILE,
1922
1989
  method: this.handleRoapError.name
1923
1990
  });
@@ -1963,9 +2030,10 @@ var Call = /*#__PURE__*/function (_Eventing) {
1963
2030
  * @param context
1964
2031
  * @param event - Roap Events.
1965
2032
  */
2033
+ )
1966
2034
  }, {
1967
2035
  key: "handleOutgoingRoapOffer",
1968
- value: function () {
2036
+ value: (function () {
1969
2037
  var _handleOutgoingRoapOffer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15(context, event) {
1970
2038
  var _this11 = this;
1971
2039
  var message, res, errData;
@@ -2002,7 +2070,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
2002
2070
  case 13:
2003
2071
  _context15.prev = 13;
2004
2072
  _context15.t0 = _context15["catch"](6);
2005
- _Logger.default.warn('MediaOk failed with Mobius', {
2073
+ _Logger.default.warn('Failed to process MediaOk request', {
2006
2074
  file: _constants.CALL_FILE,
2007
2075
  method: this.handleOutgoingRoapOffer.name
2008
2076
  });
@@ -2035,9 +2103,10 @@ var Call = /*#__PURE__*/function (_Eventing) {
2035
2103
  * @param context
2036
2104
  * @param event - Roap Events.
2037
2105
  */
2106
+ )
2038
2107
  }, {
2039
2108
  key: "handleOutgoingRoapAnswer",
2040
- value: function () {
2109
+ value: (function () {
2041
2110
  var _handleOutgoingRoapAnswer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16(context, event) {
2042
2111
  var _this12 = this;
2043
2112
  var message, res, errData;
@@ -2064,7 +2133,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
2064
2133
  case 10:
2065
2134
  _context16.prev = 10;
2066
2135
  _context16.t0 = _context16["catch"](2);
2067
- _Logger.default.warn('MediaAnswer failed with Mobius', {
2136
+ _Logger.default.warn('Failed to send MediaAnswer request', {
2068
2137
  file: _constants.CALL_FILE,
2069
2138
  method: this.handleOutgoingRoapAnswer.name
2070
2139
  });
@@ -2097,6 +2166,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
2097
2166
  * @param context
2098
2167
  * @param event - Roap Events.
2099
2168
  */
2169
+ )
2100
2170
  }, {
2101
2171
  key: "handleIncomingRoapOffer",
2102
2172
  value: function handleIncomingRoapOffer(context, event) {
@@ -2217,7 +2287,10 @@ var Call = /*#__PURE__*/function (_Eventing) {
2217
2287
  *
2218
2288
  */
2219
2289
  function setDisconnectReason() {
2220
- if (this.connected || this.direction === _types2.CallDirection.OUTBOUND) {
2290
+ if (this.mediaInactivity) {
2291
+ this.disconnectReason.code = _types4.DisconnectCode.MEDIA_INACTIVITY;
2292
+ this.disconnectReason.cause = _types4.DisconnectCause.MEDIA_INACTIVITY;
2293
+ } else if (this.connected || this.direction === _types2.CallDirection.OUTBOUND) {
2221
2294
  this.disconnectReason.code = _types4.DisconnectCode.NORMAL;
2222
2295
  this.disconnectReason.cause = _types4.DisconnectCause.NORMAL;
2223
2296
  } else {
@@ -2227,7 +2300,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
2227
2300
  }
2228
2301
  }, {
2229
2302
  key: "answer",
2230
- value:
2303
+ value: (
2231
2304
  /**
2232
2305
  * Answers the call with the provided local audio stream.
2233
2306
  *
@@ -2239,13 +2312,28 @@ var Call = /*#__PURE__*/function (_Eventing) {
2239
2312
  return _regenerator.default.wrap(function _callee17$(_context17) {
2240
2313
  while (1) switch (_context17.prev = _context17.next) {
2241
2314
  case 0:
2315
+ this.localAudioStream = localAudioStream;
2242
2316
  localAudioTrack = localAudioStream.outputStream.getAudioTracks()[0];
2317
+ if (localAudioTrack) {
2318
+ _context17.next = 7;
2319
+ break;
2320
+ }
2321
+ _Logger.default.warn("Did not find a local track while answering the call ".concat(this.getCorrelationId()), {
2322
+ file: _constants.CALL_FILE,
2323
+ method: 'answer'
2324
+ });
2325
+ this.mediaInactivity = true;
2326
+ this.sendCallStateMachineEvt({
2327
+ type: 'E_SEND_CALL_DISCONNECT'
2328
+ });
2329
+ return _context17.abrupt("return");
2330
+ case 7:
2243
2331
  localAudioTrack.enabled = true;
2244
2332
  if (!this.mediaConnection) {
2245
2333
  this.initMediaConnection(localAudioTrack);
2246
2334
  this.mediaRoapEventsListener();
2247
2335
  this.mediaTrackListener();
2248
- this.outputTrackUpdateListener(localAudioStream);
2336
+ this.registerListeners(localAudioStream);
2249
2337
  }
2250
2338
  if (this.callStateMachine.state.value === 'S_SEND_CALL_PROGRESS') {
2251
2339
  this.sendCallStateMachineEvt({
@@ -2257,7 +2345,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
2257
2345
  method: 'answer'
2258
2346
  });
2259
2347
  }
2260
- case 4:
2348
+ case 10:
2261
2349
  case "end":
2262
2350
  return _context17.stop();
2263
2351
  }
@@ -2272,21 +2360,35 @@ var Call = /*#__PURE__*/function (_Eventing) {
2272
2360
  * @param settings
2273
2361
  * @param settings.localAudioTrack
2274
2362
  */
2363
+ )
2275
2364
  }, {
2276
2365
  key: "dial",
2277
- value: function () {
2366
+ value: (function () {
2278
2367
  var _dial = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee18(localAudioStream) {
2279
2368
  var localAudioTrack;
2280
2369
  return _regenerator.default.wrap(function _callee18$(_context18) {
2281
2370
  while (1) switch (_context18.prev = _context18.next) {
2282
2371
  case 0:
2372
+ this.localAudioStream = localAudioStream;
2283
2373
  localAudioTrack = localAudioStream.outputStream.getAudioTracks()[0];
2374
+ if (localAudioTrack) {
2375
+ _context18.next = 7;
2376
+ break;
2377
+ }
2378
+ _Logger.default.warn("Did not find a local track while dialing the call ".concat(this.getCorrelationId()), {
2379
+ file: _constants.CALL_FILE,
2380
+ method: 'dial'
2381
+ });
2382
+ this.deleteCb(this.getCorrelationId());
2383
+ this.emit(_types3.CALL_EVENT_KEYS.DISCONNECT, this.getCorrelationId());
2384
+ return _context18.abrupt("return");
2385
+ case 7:
2284
2386
  localAudioTrack.enabled = true;
2285
2387
  if (!this.mediaConnection) {
2286
2388
  this.initMediaConnection(localAudioTrack);
2287
2389
  this.mediaRoapEventsListener();
2288
2390
  this.mediaTrackListener();
2289
- this.outputTrackUpdateListener(localAudioStream);
2391
+ this.registerListeners(localAudioStream);
2290
2392
  }
2291
2393
  if (this.mediaStateMachine.state.value === 'S_ROAP_IDLE') {
2292
2394
  this.sendMediaStateMachineEvt({
@@ -2298,7 +2400,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
2298
2400
  method: 'dial'
2299
2401
  });
2300
2402
  }
2301
- case 4:
2403
+ case 10:
2302
2404
  case "end":
2303
2405
  return _context18.stop();
2304
2406
  }
@@ -2308,10 +2410,10 @@ var Call = /*#__PURE__*/function (_Eventing) {
2308
2410
  return _dial.apply(this, arguments);
2309
2411
  }
2310
2412
  return dial;
2311
- }()
2413
+ }())
2312
2414
  }, {
2313
2415
  key: "patch",
2314
- value:
2416
+ value: (
2315
2417
  /**
2316
2418
  * .
2317
2419
  *
@@ -2319,11 +2421,10 @@ var Call = /*#__PURE__*/function (_Eventing) {
2319
2421
  */
2320
2422
  function () {
2321
2423
  var _patch = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19(state) {
2322
- var _headers2;
2323
2424
  return _regenerator.default.wrap(function _callee19$(_context19) {
2324
2425
  while (1) switch (_context19.prev = _context19.next) {
2325
2426
  case 0:
2326
- _Logger.default.info("Send a PATCH for ".concat(state, " to mobius"), {
2427
+ _Logger.default.info("Send a PATCH for ".concat(state, " to Webex Calling"), {
2327
2428
  file: _constants.CALL_FILE,
2328
2429
  method: this.patch.name
2329
2430
  });
@@ -2333,7 +2434,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
2333
2434
  uri: "".concat(this.mobiusUrl).concat(_constants.DEVICES_ENDPOINT_RESOURCE, "/").concat(this.deviceId, "/").concat(_constants.CALLS_ENDPOINT_RESOURCE, "/").concat(this.callId),
2334
2435
  method: _types2.HTTP_METHODS.PATCH,
2335
2436
  service: _types2.ALLOWED_SERVICES.MOBIUS,
2336
- headers: (_headers2 = {}, (0, _defineProperty2.default)(_headers2, _constants.CISCO_DEVICE_URL, this.webex.internal.device.url), (0, _defineProperty2.default)(_headers2, _constants.SPARK_USER_AGENT, _constants.CALLING_USER_AGENT), _headers2),
2437
+ headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants.CISCO_DEVICE_URL, this.webex.internal.device.url), _constants.SPARK_USER_AGENT, _constants.CALLING_USER_AGENT),
2337
2438
  body: {
2338
2439
  device: {
2339
2440
  deviceId: this.deviceId,
@@ -2361,11 +2462,11 @@ var Call = /*#__PURE__*/function (_Eventing) {
2361
2462
  * @param context - Context information related to a particular supplementary service.
2362
2463
  * @param type - Type of Supplementary service.
2363
2464
  */
2465
+ )
2364
2466
  }, {
2365
2467
  key: "postSSRequest",
2366
- value: function () {
2468
+ value: (function () {
2367
2469
  var _postSSRequest = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee20(context, type) {
2368
- var _headers3;
2369
2470
  var request, transferContext;
2370
2471
  return _regenerator.default.wrap(function _callee20$(_context20) {
2371
2472
  while (1) switch (_context20.prev = _context20.next) {
@@ -2374,7 +2475,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
2374
2475
  uri: "".concat(this.mobiusUrl).concat(_constants2.SERVICES_ENDPOINT),
2375
2476
  method: _types2.HTTP_METHODS.POST,
2376
2477
  service: _types2.ALLOWED_SERVICES.MOBIUS,
2377
- headers: (_headers3 = {}, (0, _defineProperty2.default)(_headers3, _constants.CISCO_DEVICE_URL, this.webex.internal.device.url), (0, _defineProperty2.default)(_headers3, _constants.SPARK_USER_AGENT, _constants.CALLING_USER_AGENT), _headers3),
2478
+ headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants.CISCO_DEVICE_URL, this.webex.internal.device.url), _constants.SPARK_USER_AGENT, _constants.CALLING_USER_AGENT),
2378
2479
  body: {
2379
2480
  device: {
2380
2481
  deviceId: this.deviceId,
@@ -2432,11 +2533,11 @@ var Call = /*#__PURE__*/function (_Eventing) {
2432
2533
  /**
2433
2534
  * Sends Call status to Mobius.
2434
2535
  */
2536
+ )
2435
2537
  }, {
2436
2538
  key: "postStatus",
2437
- value: function () {
2539
+ value: (function () {
2438
2540
  var _postStatus = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee21() {
2439
- var _headers4;
2440
2541
  return _regenerator.default.wrap(function _callee21$(_context21) {
2441
2542
  while (1) switch (_context21.prev = _context21.next) {
2442
2543
  case 0:
@@ -2444,7 +2545,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
2444
2545
  uri: "".concat(this.mobiusUrl).concat(_constants.DEVICES_ENDPOINT_RESOURCE, "/").concat(this.deviceId, "/").concat(_constants.CALLS_ENDPOINT_RESOURCE, "/").concat(this.callId, "/").concat(_constants.CALL_STATUS_RESOURCE),
2445
2546
  method: _types2.HTTP_METHODS.POST,
2446
2547
  service: _types2.ALLOWED_SERVICES.MOBIUS,
2447
- headers: (_headers4 = {}, (0, _defineProperty2.default)(_headers4, _constants.CISCO_DEVICE_URL, this.webex.internal.device.url), (0, _defineProperty2.default)(_headers4, _constants.SPARK_USER_AGENT, _constants.CALLING_USER_AGENT), _headers4),
2548
+ headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants.CISCO_DEVICE_URL, this.webex.internal.device.url), _constants.SPARK_USER_AGENT, _constants.CALLING_USER_AGENT),
2448
2549
  body: {
2449
2550
  device: {
2450
2551
  deviceId: this.deviceId,
@@ -2472,9 +2573,10 @@ var Call = /*#__PURE__*/function (_Eventing) {
2472
2573
  * @param transferCallId - Call Id where the current call will be merged for consult transfers.
2473
2574
  * @param transferTarget - Destination for blind transfer.
2474
2575
  */
2576
+ )
2475
2577
  }, {
2476
2578
  key: "completeTransfer",
2477
- value: function () {
2579
+ value: (function () {
2478
2580
  var _completeTransfer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee22(transferType, transferCallId, transferTarget) {
2479
2581
  var _this13 = this;
2480
2582
  var context, errData, _context22, _errData;
@@ -2583,9 +2685,10 @@ var Call = /*#__PURE__*/function (_Eventing) {
2583
2685
  /**
2584
2686
  *
2585
2687
  */
2688
+ )
2586
2689
  }, {
2587
2690
  key: "getCallStats",
2588
- value: function () {
2691
+ value: (function () {
2589
2692
  var _getCallStats = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee23() {
2590
2693
  var stats;
2591
2694
  return _regenerator.default.wrap(function _callee23$(_context24) {
@@ -2623,15 +2726,15 @@ var Call = /*#__PURE__*/function (_Eventing) {
2623
2726
  *
2624
2727
  * @param roapMessage -.
2625
2728
  */
2729
+ )
2626
2730
  }, {
2627
2731
  key: "postMedia",
2628
- value: function () {
2732
+ value: (function () {
2629
2733
  var _postMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee24(roapMessage) {
2630
- var _headers5;
2631
2734
  return _regenerator.default.wrap(function _callee24$(_context25) {
2632
2735
  while (1) switch (_context25.prev = _context25.next) {
2633
2736
  case 0:
2634
- _Logger.default.log('Posting message to mobius', {
2737
+ _Logger.default.log('Posting message to Webex Calling', {
2635
2738
  file: _constants.CALL_FILE,
2636
2739
  method: this.postMedia.name
2637
2740
  });
@@ -2639,7 +2742,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
2639
2742
  uri: "".concat(this.mobiusUrl).concat(_constants.DEVICES_ENDPOINT_RESOURCE, "/").concat(this.deviceId, "/").concat(_constants.CALLS_ENDPOINT_RESOURCE, "/").concat(this.callId, "/").concat(_constants.MEDIA_ENDPOINT_RESOURCE),
2640
2743
  method: _types2.HTTP_METHODS.POST,
2641
2744
  service: _types2.ALLOWED_SERVICES.MOBIUS,
2642
- headers: (_headers5 = {}, (0, _defineProperty2.default)(_headers5, _constants.CISCO_DEVICE_URL, this.webex.internal.device.url), (0, _defineProperty2.default)(_headers5, _constants.SPARK_USER_AGENT, _constants.CALLING_USER_AGENT), _headers5),
2745
+ headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants.CISCO_DEVICE_URL, this.webex.internal.device.url), _constants.SPARK_USER_AGENT, _constants.CALLING_USER_AGENT),
2643
2746
  body: {
2644
2747
  device: {
2645
2748
  deviceId: this.deviceId,
@@ -2667,6 +2770,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
2667
2770
  /**
2668
2771
  * Setup a listener for roap events emitted by the media sdk.
2669
2772
  */
2773
+ )
2670
2774
  }, {
2671
2775
  key: "mediaRoapEventsListener",
2672
2776
  value: function mediaRoapEventsListener() {
@@ -2757,20 +2861,40 @@ var Call = /*#__PURE__*/function (_Eventing) {
2757
2861
  });
2758
2862
  }
2759
2863
  }, {
2760
- key: "outputTrackUpdateListener",
2761
- value: function outputTrackUpdateListener(localAudioStream) {
2864
+ key: "unregisterListeners",
2865
+ value: function unregisterListeners() {
2866
+ if (this.localAudioStream) {
2867
+ var effect = this.localAudioStream.getEffectByKind(_constants.NOISE_REDUCTION_EFFECT);
2868
+ if (effect) {
2869
+ effect.off(_webMediaEffects.EffectEvent.Enabled, this.onEffectEnabled);
2870
+ effect.off(_webMediaEffects.EffectEvent.Disabled, this.onEffectDisabled);
2871
+ }
2872
+ this.localAudioStream.off(_internalMediaCore.LocalStreamEventNames.EffectAdded, this.registerEffectListener);
2873
+ }
2874
+ }
2875
+ }, {
2876
+ key: "registerListeners",
2877
+ value: function registerListeners(localAudioStream) {
2762
2878
  var _this16 = this;
2763
- localAudioStream.on(_internalMediaCore.LocalStreamEventNames.OutputTrackChange, function (track) {
2879
+ localAudioStream.on(_internalMediaCore.LocalStreamEventNames.OutputTrackChange, function (audioTrack) {
2764
2880
  _this16.mediaConnection.updateLocalTracks({
2765
- audio: track
2881
+ audio: audioTrack
2766
2882
  });
2767
2883
  });
2884
+ localAudioStream.on(_internalMediaCore.LocalStreamEventNames.EffectAdded, this.registerEffectListener);
2885
+ var effect = localAudioStream.getEffectByKind(_constants.NOISE_REDUCTION_EFFECT);
2886
+ if (effect) {
2887
+ effect.on(_webMediaEffects.EffectEvent.Enabled, this.onEffectEnabled);
2888
+ effect.on(_webMediaEffects.EffectEvent.Disabled, this.onEffectDisabled);
2889
+ if (effect.isEnabled) {
2890
+ this.onEffectEnabled();
2891
+ }
2892
+ }
2768
2893
  }
2769
2894
  }, {
2770
2895
  key: "delete",
2771
2896
  value: function () {
2772
2897
  var _delete2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee26() {
2773
- var _headers6;
2774
2898
  var disconnectMetrics;
2775
2899
  return _regenerator.default.wrap(function _callee26$(_context27) {
2776
2900
  while (1) switch (_context27.prev = _context27.next) {
@@ -2783,7 +2907,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
2783
2907
  uri: "".concat(this.mobiusUrl).concat(_constants.DEVICES_ENDPOINT_RESOURCE, "/").concat(this.deviceId, "/").concat(_constants.CALLS_ENDPOINT_RESOURCE, "/").concat(this.callId),
2784
2908
  method: _types2.HTTP_METHODS.DELETE,
2785
2909
  service: _types2.ALLOWED_SERVICES.MOBIUS,
2786
- headers: (_headers6 = {}, (0, _defineProperty2.default)(_headers6, _constants.CISCO_DEVICE_URL, this.webex.internal.device.url), (0, _defineProperty2.default)(_headers6, _constants.SPARK_USER_AGENT, _constants.CALLING_USER_AGENT), _headers6),
2910
+ headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants.CISCO_DEVICE_URL, this.webex.internal.device.url), _constants.SPARK_USER_AGENT, _constants.CALLING_USER_AGENT),
2787
2911
  body: {
2788
2912
  device: {
2789
2913
  deviceId: this.deviceId,
@@ -2925,18 +3049,18 @@ var Call = /*#__PURE__*/function (_Eventing) {
2925
3049
  key: "sendDigit",
2926
3050
  value: function sendDigit(tone) {
2927
3051
  /* istanbul ignore else */
2928
- if (!this.connected) {
2929
- _Logger.default.warn("Can't send DTMF as call is not yet connected", {
3052
+ try {
3053
+ _Logger.default.info("Sending digit : ".concat(tone), {
3054
+ file: _constants.CALL_FILE,
3055
+ method: 'sendDigit'
3056
+ });
3057
+ this.mediaConnection.insertDTMF(tone);
3058
+ } catch (e) {
3059
+ _Logger.default.warn("Unable to send digit on call: ".concat(e.message), {
2930
3060
  file: _constants.CALL_FILE,
2931
3061
  method: 'sendDigit'
2932
3062
  });
2933
- return;
2934
3063
  }
2935
- _Logger.default.info("Sending digit : ".concat(tone), {
2936
- file: _constants.CALL_FILE,
2937
- method: 'sendDigit'
2938
- });
2939
- this.mediaConnection.insertDTMF(tone);
2940
3064
  }
2941
3065
  }, {
2942
3066
  key: "setBroadworksCorrelationInfo",
@@ -2981,9 +3105,7 @@ var Call = /*#__PURE__*/function (_Eventing) {
2981
3105
  * @param deleteCb
2982
3106
  * @param indicator - Service Indicator.
2983
3107
  */
2984
- exports.Call = Call;
2985
- var createCall = function createCall(activeUrl, webex, dest, dir, deviceId, lineId, deleteCb, indicator) {
3108
+ var createCall = exports.createCall = function createCall(activeUrl, webex, dest, dir, deviceId, lineId, deleteCb, indicator) {
2986
3109
  return new Call(activeUrl, webex, dest, dir, deviceId, lineId, deleteCb, indicator);
2987
3110
  };
2988
- exports.createCall = createCall;
2989
3111
  //# sourceMappingURL=call.js.map