@webex/calling 3.11.0-webex-services-ready.1 → 3.12.0-llmrefactor.1

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 (260) hide show
  1. package/dist/CallHistory/CallHistory.js +68 -51
  2. package/dist/CallHistory/CallHistory.js.map +1 -1
  3. package/dist/CallRecording/CallRecording.js +160 -0
  4. package/dist/CallRecording/CallRecording.js.map +1 -0
  5. package/dist/CallRecording/CallRecording.test.js +257 -0
  6. package/dist/CallRecording/CallRecording.test.js.map +1 -0
  7. package/dist/CallRecording/WxcCallRecordingConnector.js +577 -0
  8. package/dist/CallRecording/WxcCallRecordingConnector.js.map +1 -0
  9. package/dist/CallRecording/WxcCallRecordingConnector.test.js +652 -0
  10. package/dist/CallRecording/WxcCallRecordingConnector.test.js.map +1 -0
  11. package/dist/CallRecording/callRecordingFixtures.js +235 -0
  12. package/dist/CallRecording/callRecordingFixtures.js.map +1 -0
  13. package/dist/CallRecording/constants.js +50 -0
  14. package/dist/CallRecording/constants.js.map +1 -0
  15. package/dist/CallRecording/types.js +137 -0
  16. package/dist/CallRecording/types.js.map +1 -0
  17. package/dist/CallRecording/utils.js +42 -0
  18. package/dist/CallRecording/utils.js.map +1 -0
  19. package/dist/CallRecording/utils.test.js +97 -0
  20. package/dist/CallRecording/utils.test.js.map +1 -0
  21. package/dist/CallingClient/CallingClient.js +522 -195
  22. package/dist/CallingClient/CallingClient.js.map +1 -1
  23. package/dist/CallingClient/CallingClient.test.js +607 -133
  24. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  25. package/dist/CallingClient/calling/call.js +643 -462
  26. package/dist/CallingClient/calling/call.js.map +1 -1
  27. package/dist/CallingClient/calling/call.test.js +850 -453
  28. package/dist/CallingClient/calling/call.test.js.map +1 -1
  29. package/dist/CallingClient/calling/callManager.js +106 -35
  30. package/dist/CallingClient/calling/callManager.js.map +1 -1
  31. package/dist/CallingClient/calling/callManager.test.js +140 -0
  32. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  33. package/dist/CallingClient/calling/types.js +5 -0
  34. package/dist/CallingClient/calling/types.js.map +1 -1
  35. package/dist/CallingClient/constants.js +32 -3
  36. package/dist/CallingClient/constants.js.map +1 -1
  37. package/dist/CallingClient/line/index.js +4 -1
  38. package/dist/CallingClient/line/index.js.map +1 -1
  39. package/dist/CallingClient/line/line.test.js +16 -1
  40. package/dist/CallingClient/line/line.test.js.map +1 -1
  41. package/dist/CallingClient/registration/register.js +740 -407
  42. package/dist/CallingClient/registration/register.js.map +1 -1
  43. package/dist/CallingClient/registration/register.test.js +380 -58
  44. package/dist/CallingClient/registration/register.test.js.map +1 -1
  45. package/dist/CallingClient/registration/types.js.map +1 -1
  46. package/dist/CallingClient/registration/webWorker.js +41 -104
  47. package/dist/CallingClient/registration/webWorker.js.map +1 -1
  48. package/dist/CallingClient/registration/webWorker.test.js +39 -153
  49. package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
  50. package/dist/CallingClient/registration/webWorkerStr.js +1 -1
  51. package/dist/CallingClient/registration/webWorkerStr.js.map +1 -1
  52. package/dist/CallingClient/types.js +7 -0
  53. package/dist/CallingClient/types.js.map +1 -1
  54. package/dist/CallingClient/utils/constants.js +58 -0
  55. package/dist/CallingClient/utils/constants.js.map +1 -0
  56. package/dist/CallingClient/utils/index.js +63 -0
  57. package/dist/CallingClient/utils/index.js.map +1 -0
  58. package/dist/CallingClient/utils/mobiusSocketMapper.js +122 -0
  59. package/dist/CallingClient/utils/mobiusSocketMapper.js.map +1 -0
  60. package/dist/CallingClient/utils/mobiusSocketMapper.test.js +221 -0
  61. package/dist/CallingClient/utils/mobiusSocketMapper.test.js.map +1 -0
  62. package/dist/CallingClient/utils/request.js +435 -0
  63. package/dist/CallingClient/utils/request.js.map +1 -0
  64. package/dist/CallingClient/utils/request.test.js +999 -0
  65. package/dist/CallingClient/utils/request.test.js.map +1 -0
  66. package/dist/CallingClient/utils/types.js +7 -0
  67. package/dist/CallingClient/utils/types.js.map +1 -0
  68. package/dist/CallingClient/utils/wsFeatureFlag.js +70 -0
  69. package/dist/CallingClient/utils/wsFeatureFlag.js.map +1 -0
  70. package/dist/CallingClient/utils/wsFeatureFlag.test.js +139 -0
  71. package/dist/CallingClient/utils/wsFeatureFlag.test.js.map +1 -0
  72. package/dist/Contacts/ContactsClient.js +13 -11
  73. package/dist/Contacts/ContactsClient.js.map +1 -1
  74. package/dist/Contacts/ContactsClient.test.js +3 -8
  75. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  76. package/dist/Events/types.js +38 -11
  77. package/dist/Events/types.js.map +1 -1
  78. package/dist/Metrics/index.js +63 -2
  79. package/dist/Metrics/index.js.map +1 -1
  80. package/dist/Metrics/index.test.js +357 -1
  81. package/dist/Metrics/index.test.js.map +1 -1
  82. package/dist/Metrics/types.js +19 -1
  83. package/dist/Metrics/types.js.map +1 -1
  84. package/dist/SDKConnector/types.js.map +1 -1
  85. package/dist/api.js +56 -0
  86. package/dist/api.js.map +1 -1
  87. package/dist/common/Utils.js +159 -53
  88. package/dist/common/Utils.js.map +1 -1
  89. package/dist/common/Utils.test.js +205 -44
  90. package/dist/common/Utils.test.js.map +1 -1
  91. package/dist/common/testUtil.js +10 -5
  92. package/dist/common/testUtil.js.map +1 -1
  93. package/dist/common/types.js +3 -0
  94. package/dist/common/types.js.map +1 -1
  95. package/dist/index.js +171 -40
  96. package/dist/index.js.map +1 -1
  97. package/dist/mobius-socket/config.js +24 -0
  98. package/dist/mobius-socket/config.js.map +1 -0
  99. package/dist/mobius-socket/errors.js +143 -0
  100. package/dist/mobius-socket/errors.js.map +1 -0
  101. package/dist/mobius-socket/errors.test.js +20 -0
  102. package/dist/mobius-socket/errors.test.js.map +1 -0
  103. package/dist/mobius-socket/index.js +57 -0
  104. package/dist/mobius-socket/index.js.map +1 -0
  105. package/dist/mobius-socket/mobius-socket-events.test.js +492 -0
  106. package/dist/mobius-socket/mobius-socket-events.test.js.map +1 -0
  107. package/dist/mobius-socket/mobius-socket.js +849 -0
  108. package/dist/mobius-socket/mobius-socket.js.map +1 -0
  109. package/dist/mobius-socket/mobius-socket.test.js +1898 -0
  110. package/dist/mobius-socket/mobius-socket.test.js.map +1 -0
  111. package/dist/mobius-socket/socket/constants.js +55 -0
  112. package/dist/mobius-socket/socket/constants.js.map +1 -0
  113. package/dist/mobius-socket/socket/index.js +15 -0
  114. package/dist/mobius-socket/socket/index.js.map +1 -0
  115. package/dist/mobius-socket/socket/socket-base.js +604 -0
  116. package/dist/mobius-socket/socket/socket-base.js.map +1 -0
  117. package/dist/mobius-socket/socket/socket.js +19 -0
  118. package/dist/mobius-socket/socket/socket.js.map +1 -0
  119. package/dist/mobius-socket/socket/socket.shim.js +26 -0
  120. package/dist/mobius-socket/socket/socket.shim.js.map +1 -0
  121. package/dist/mobius-socket/socket/types.js +7 -0
  122. package/dist/mobius-socket/socket/types.js.map +1 -0
  123. package/dist/mobius-socket/socket.test.js +727 -0
  124. package/dist/mobius-socket/socket.test.js.map +1 -0
  125. package/dist/mobius-socket/test/mocha-helpers.js +23 -0
  126. package/dist/mobius-socket/test/mocha-helpers.js.map +1 -0
  127. package/dist/mobius-socket/test/promise-tick.js +28 -0
  128. package/dist/mobius-socket/test/promise-tick.js.map +1 -0
  129. package/dist/mobius-socket/types.js +7 -0
  130. package/dist/mobius-socket/types.js.map +1 -0
  131. package/dist/module/CallHistory/CallHistory.js +28 -17
  132. package/dist/module/CallRecording/CallRecording.js +56 -0
  133. package/dist/module/CallRecording/WxcCallRecordingConnector.js +257 -0
  134. package/dist/module/CallRecording/callRecordingFixtures.js +201 -0
  135. package/dist/module/CallRecording/constants.js +28 -0
  136. package/dist/module/CallRecording/types.js +19 -0
  137. package/dist/module/CallRecording/utils.js +14 -0
  138. package/dist/module/CallingClient/CallingClient.js +166 -8
  139. package/dist/module/CallingClient/calling/call.js +201 -68
  140. package/dist/module/CallingClient/calling/callManager.js +51 -11
  141. package/dist/module/CallingClient/calling/types.js +2 -0
  142. package/dist/module/CallingClient/constants.js +27 -0
  143. package/dist/module/CallingClient/line/index.js +2 -2
  144. package/dist/module/CallingClient/registration/register.js +247 -63
  145. package/dist/module/CallingClient/registration/webWorker.js +42 -61
  146. package/dist/module/CallingClient/registration/webWorkerStr.js +47 -82
  147. package/dist/module/CallingClient/utils/constants.js +36 -0
  148. package/dist/module/CallingClient/utils/index.js +5 -0
  149. package/dist/module/CallingClient/utils/mobiusSocketMapper.js +72 -0
  150. package/dist/module/CallingClient/utils/request.js +211 -0
  151. package/dist/module/CallingClient/utils/types.js +1 -0
  152. package/dist/module/CallingClient/utils/wsFeatureFlag.js +41 -0
  153. package/dist/module/Contacts/ContactsClient.js +1 -1
  154. package/dist/module/Events/types.js +23 -10
  155. package/dist/module/Metrics/index.js +48 -1
  156. package/dist/module/Metrics/types.js +18 -0
  157. package/dist/module/api.js +3 -2
  158. package/dist/module/common/Utils.js +63 -18
  159. package/dist/module/common/testUtil.js +6 -1
  160. package/dist/module/common/types.js +3 -0
  161. package/dist/module/index.js +7 -3
  162. package/dist/module/mobius-socket/config.js +15 -0
  163. package/dist/module/mobius-socket/errors.js +58 -0
  164. package/dist/module/mobius-socket/index.js +24 -0
  165. package/dist/module/mobius-socket/mobius-socket.js +593 -0
  166. package/dist/module/mobius-socket/socket/constants.js +26 -0
  167. package/dist/module/mobius-socket/socket/index.js +4 -0
  168. package/dist/module/mobius-socket/socket/socket-base.js +368 -0
  169. package/dist/module/mobius-socket/socket/socket.js +9 -0
  170. package/dist/module/mobius-socket/socket/socket.shim.js +12 -0
  171. package/dist/module/mobius-socket/socket/types.js +1 -0
  172. package/dist/module/mobius-socket/types.js +1 -0
  173. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  174. package/dist/types/CallRecording/CallRecording.d.ts +18 -0
  175. package/dist/types/CallRecording/CallRecording.d.ts.map +1 -0
  176. package/dist/types/CallRecording/WxcCallRecordingConnector.d.ts +23 -0
  177. package/dist/types/CallRecording/WxcCallRecordingConnector.d.ts.map +1 -0
  178. package/dist/types/CallRecording/callRecordingFixtures.d.ts +61 -0
  179. package/dist/types/CallRecording/callRecordingFixtures.d.ts.map +1 -0
  180. package/dist/types/CallRecording/constants.d.ts +29 -0
  181. package/dist/types/CallRecording/constants.d.ts.map +1 -0
  182. package/dist/types/CallRecording/types.d.ts +176 -0
  183. package/dist/types/CallRecording/types.d.ts.map +1 -0
  184. package/dist/types/CallRecording/utils.d.ts +3 -0
  185. package/dist/types/CallRecording/utils.d.ts.map +1 -0
  186. package/dist/types/CallingClient/CallingClient.d.ts +10 -1
  187. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  188. package/dist/types/CallingClient/calling/call.d.ts +17 -3
  189. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  190. package/dist/types/CallingClient/calling/callManager.d.ts +8 -4
  191. package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
  192. package/dist/types/CallingClient/calling/types.d.ts +38 -9
  193. package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
  194. package/dist/types/CallingClient/constants.d.ts +27 -0
  195. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  196. package/dist/types/CallingClient/line/index.d.ts +1 -1
  197. package/dist/types/CallingClient/line/index.d.ts.map +1 -1
  198. package/dist/types/CallingClient/registration/register.d.ts +9 -2
  199. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  200. package/dist/types/CallingClient/registration/types.d.ts +6 -3
  201. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  202. package/dist/types/CallingClient/registration/webWorker.d.ts.map +1 -1
  203. package/dist/types/CallingClient/registration/webWorkerStr.d.ts +1 -1
  204. package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -1
  205. package/dist/types/CallingClient/types.d.ts +6 -3
  206. package/dist/types/CallingClient/types.d.ts.map +1 -1
  207. package/dist/types/CallingClient/utils/constants.d.ts +35 -0
  208. package/dist/types/CallingClient/utils/constants.d.ts.map +1 -0
  209. package/dist/types/CallingClient/utils/index.d.ts +6 -0
  210. package/dist/types/CallingClient/utils/index.d.ts.map +1 -0
  211. package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts +5 -0
  212. package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts.map +1 -0
  213. package/dist/types/CallingClient/utils/request.d.ts +28 -0
  214. package/dist/types/CallingClient/utils/request.d.ts.map +1 -0
  215. package/dist/types/CallingClient/utils/types.d.ts +34 -0
  216. package/dist/types/CallingClient/utils/types.d.ts.map +1 -0
  217. package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts +4 -0
  218. package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts.map +1 -0
  219. package/dist/types/Events/types.d.ts +79 -15
  220. package/dist/types/Events/types.d.ts.map +1 -1
  221. package/dist/types/Metrics/index.d.ts.map +1 -1
  222. package/dist/types/Metrics/types.d.ts +19 -2
  223. package/dist/types/Metrics/types.d.ts.map +1 -1
  224. package/dist/types/SDKConnector/types.d.ts +39 -12
  225. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  226. package/dist/types/api.d.ts +6 -4
  227. package/dist/types/api.d.ts.map +1 -1
  228. package/dist/types/common/Utils.d.ts +11 -3
  229. package/dist/types/common/Utils.d.ts.map +1 -1
  230. package/dist/types/common/testUtil.d.ts +5 -1
  231. package/dist/types/common/testUtil.d.ts.map +1 -1
  232. package/dist/types/common/types.d.ts +9 -1
  233. package/dist/types/common/types.d.ts.map +1 -1
  234. package/dist/types/index.d.ts +9 -4
  235. package/dist/types/index.d.ts.map +1 -1
  236. package/dist/types/mobius-socket/config.d.ts +17 -0
  237. package/dist/types/mobius-socket/config.d.ts.map +1 -0
  238. package/dist/types/mobius-socket/errors.d.ts +32 -0
  239. package/dist/types/mobius-socket/errors.d.ts.map +1 -0
  240. package/dist/types/mobius-socket/index.d.ts +14 -0
  241. package/dist/types/mobius-socket/index.d.ts.map +1 -0
  242. package/dist/types/mobius-socket/mobius-socket.d.ts +48 -0
  243. package/dist/types/mobius-socket/mobius-socket.d.ts.map +1 -0
  244. package/dist/types/mobius-socket/socket/constants.d.ts +27 -0
  245. package/dist/types/mobius-socket/socket/constants.d.ts.map +1 -0
  246. package/dist/types/mobius-socket/socket/index.d.ts +5 -0
  247. package/dist/types/mobius-socket/socket/index.d.ts.map +1 -0
  248. package/dist/types/mobius-socket/socket/socket-base.d.ts +43 -0
  249. package/dist/types/mobius-socket/socket/socket-base.d.ts.map +1 -0
  250. package/dist/types/mobius-socket/socket/socket.d.ts +6 -0
  251. package/dist/types/mobius-socket/socket/socket.d.ts.map +1 -0
  252. package/dist/types/mobius-socket/socket/socket.shim.d.ts +6 -0
  253. package/dist/types/mobius-socket/socket/socket.shim.d.ts.map +1 -0
  254. package/dist/types/mobius-socket/socket/types.d.ts +61 -0
  255. package/dist/types/mobius-socket/socket/types.d.ts.map +1 -0
  256. package/dist/types/mobius-socket/types.d.ts +21 -0
  257. package/dist/types/mobius-socket/types.d.ts.map +1 -0
  258. package/package.json +21 -5
  259. package/src/mobius-socket/socket/socket.shim.ts +22 -0
  260. package/src/mobius-socket/socket/socket.ts +14 -0
@@ -25,7 +25,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/he
25
25
  var _internalMediaCore = require("@webex/internal-media-core");
26
26
  var _xstate = require("xstate");
27
27
  var _uuid = require("uuid");
28
- var _webMediaEffects = require("@webex/web-media-effects");
28
+ var _mediaHelpers = require("@webex/media-helpers");
29
29
  var _internalPluginMetrics = require("@webex/internal-plugin-metrics");
30
30
  var _types = require("../../Errors/types");
31
31
  var _Utils = require("../../common/Utils");
@@ -41,6 +41,7 @@ var _CallerId = require("./CallerId");
41
41
  var _types5 = require("../../Metrics/types");
42
42
  var _Metrics = require("../../Metrics");
43
43
  var _constants2 = require("../../common/constants");
44
+ var _request = require("../utils/request");
44
45
  function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
45
46
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
46
47
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
@@ -52,7 +53,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
52
53
  /**
53
54
  * @ignore
54
55
  */
55
- function Call(activeUrl, webex, direction, deviceId, lineId, deleteCb, indicator, destination) {
56
+ function Call(activeUrl, webex, direction, deviceId, lineId, deleteCb, indicator, destination, iceGatheringConfig) {
56
57
  var _this;
57
58
  (0, _classCallCheck2.default)(this, Call);
58
59
  _this = _callSuper(this, Call);
@@ -92,10 +93,194 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
92
93
  // Used in WxCC calls
93
94
  (0, _defineProperty2.default)(_this, "serviceIndicator", void 0);
94
95
  (0, _defineProperty2.default)(_this, "mediaNegotiationCompleted", void 0);
96
+ (0, _defineProperty2.default)(_this, "connectPending", void 0);
95
97
  (0, _defineProperty2.default)(_this, "receivedRoapOKSeq", void 0);
96
98
  (0, _defineProperty2.default)(_this, "localAudioStream", void 0);
97
99
  (0, _defineProperty2.default)(_this, "rtcMetrics", void 0);
98
100
  (0, _defineProperty2.default)(_this, "callKeepaliveRetryCount", 0);
101
+ (0, _defineProperty2.default)(_this, "apiRequest", void 0);
102
+ (0, _defineProperty2.default)(_this, "iceGatheringConfig", void 0);
103
+ (0, _defineProperty2.default)(_this, "handleMediaRoapEvent", /*#__PURE__*/function () {
104
+ var _ref = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(event) {
105
+ var _event$roapMessage, _event$roapMessage2;
106
+ var mediaOk, sdpVideoPortZero, _t;
107
+ return _regenerator.default.wrap(function (_context) {
108
+ while (1) switch (_context.prev = _context.next) {
109
+ case 0:
110
+ _Logger.default.info("ROAP message to send (rcv from MEDIA-SDK) :\n \n type: ".concat((_event$roapMessage = event.roapMessage) === null || _event$roapMessage === void 0 ? void 0 : _event$roapMessage.messageType, ", seq: ").concat(event.roapMessage.seq, " , version: ").concat(event.roapMessage.version), {
111
+ file: _constants.CALL_FILE,
112
+ method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
113
+ });
114
+ _Logger.default.info("SDP message to send : \n ".concat((_event$roapMessage2 = event.roapMessage) === null || _event$roapMessage2 === void 0 ? void 0 : _event$roapMessage2.sdp), {
115
+ file: _constants.CALL_FILE,
116
+ method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
117
+ });
118
+ _t = event.roapMessage.messageType;
119
+ _context.next = _t === _types4.RoapScenario.OK ? 1 : _t === _types4.RoapScenario.OFFER ? 2 : _t === _types4.RoapScenario.ANSWER ? 4 : _t === _types4.RoapScenario.ERROR ? 6 : _t === _types4.RoapScenario.OFFER_RESPONSE ? 7 : 9;
120
+ break;
121
+ case 1:
122
+ mediaOk = {
123
+ received: false,
124
+ message: event.roapMessage
125
+ };
126
+ _this.sendMediaStateMachineEvt({
127
+ type: 'E_ROAP_OK',
128
+ data: mediaOk
129
+ });
130
+ return _context.abrupt("continue", 9);
131
+ case 2:
132
+ if (event.roapMessage.sdp) {
133
+ _context.next = 3;
134
+ break;
135
+ }
136
+ _Logger.default.warn('Received OFFER without SDP from media SDK', {
137
+ file: _constants.CALL_FILE,
138
+ method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
139
+ });
140
+ return _context.abrupt("continue", 9);
141
+ case 3:
142
+ // TODO: Remove these after the Media-Core adds the fix
143
+ // Check if at least one IPv6 "c=" line is present
144
+ _Logger.default.info("before modifying sdp: ".concat(event.roapMessage.sdp), {
145
+ file: _constants.CALL_FILE,
146
+ method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
147
+ });
148
+ event.roapMessage.sdp = (0, _Utils.modifySdpForIPv4)(event.roapMessage.sdp);
149
+ sdpVideoPortZero = event.roapMessage.sdp.replace(/^m=(video) (?:\d+) /gim, 'm=$1 0 ');
150
+ _Logger.default.info("after modification sdp: ".concat(sdpVideoPortZero), {
151
+ file: _constants.CALL_FILE,
152
+ method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
153
+ });
154
+ event.roapMessage.sdp = sdpVideoPortZero;
155
+ _this.localRoapMessage = event.roapMessage;
156
+ _this.sendCallStateMachineEvt({
157
+ type: 'E_SEND_CALL_SETUP',
158
+ data: event.roapMessage
159
+ });
160
+ return _context.abrupt("continue", 9);
161
+ case 4:
162
+ if (event.roapMessage.sdp) {
163
+ _context.next = 5;
164
+ break;
165
+ }
166
+ _Logger.default.warn('Received OFFER without SDP from media SDK', {
167
+ file: _constants.CALL_FILE,
168
+ method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
169
+ });
170
+ return _context.abrupt("continue", 9);
171
+ case 5:
172
+ event.roapMessage.sdp = (0, _Utils.modifySdpForIPv4)(event.roapMessage.sdp);
173
+ _this.localRoapMessage = event.roapMessage;
174
+ if (_this.connectPending) {
175
+ _this.sendCallStateMachineEvt({
176
+ type: 'E_SEND_CALL_CONNECT'
177
+ });
178
+ }
179
+ _this.sendMediaStateMachineEvt({
180
+ type: 'E_SEND_ROAP_ANSWER',
181
+ data: event.roapMessage
182
+ });
183
+ return _context.abrupt("continue", 9);
184
+ case 6:
185
+ _this.sendMediaStateMachineEvt({
186
+ type: 'E_ROAP_ERROR',
187
+ data: event.roapMessage
188
+ });
189
+ return _context.abrupt("continue", 9);
190
+ case 7:
191
+ if (event.roapMessage.sdp) {
192
+ _context.next = 8;
193
+ break;
194
+ }
195
+ _Logger.default.warn('Received OFFER without SDP from media SDK', {
196
+ file: _constants.CALL_FILE,
197
+ method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
198
+ });
199
+ return _context.abrupt("continue", 9);
200
+ case 8:
201
+ event.roapMessage.sdp = (0, _Utils.modifySdpForIPv4)(event.roapMessage.sdp);
202
+ _this.localRoapMessage = event.roapMessage;
203
+ if (_this.connectPending) {
204
+ _this.sendCallStateMachineEvt({
205
+ type: 'E_SEND_CALL_CONNECT'
206
+ });
207
+ }
208
+ _this.sendMediaStateMachineEvt({
209
+ type: 'E_SEND_ROAP_OFFER',
210
+ data: event.roapMessage
211
+ });
212
+ return _context.abrupt("continue", 9);
213
+ case 9:
214
+ case "end":
215
+ return _context.stop();
216
+ }
217
+ }, _callee);
218
+ }));
219
+ return function (_x) {
220
+ return _ref.apply(this, arguments);
221
+ };
222
+ }());
223
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
224
+ (0, _defineProperty2.default)(_this, "handleRemoteTrackAdded", function (event) {
225
+ if (event.type === _types3.MEDIA_CONNECTION_EVENT_KEYS.MEDIA_TYPE_AUDIO) {
226
+ _this.emit(_types3.CALL_EVENT_KEYS.REMOTE_MEDIA, event.track);
227
+ }
228
+ });
229
+ (0, _defineProperty2.default)(_this, "handleIceGatheringStateChanged", function (event) {
230
+ var iceGatheringState = Call.getPeerConnectionStateFromEvent(event, 'iceGatheringState');
231
+ _Logger.default.info("ICE gathering state changed to: ".concat(iceGatheringState), {
232
+ file: _constants.CALL_FILE,
233
+ method: _constants.METHODS.MEDIA_ICE_EVENTS_LISTENER
234
+ });
235
+ _this.metricManager.submitMediaMetric(_types5.METRIC_EVENT.MEDIA, _types5.MEDIA_CONNECTION_ACTION.ICE_GATHERING_STATE_CHANGED, _types5.METRIC_TYPE.BEHAVIORAL, _this.callId, _this.correlationId, undefined, undefined, iceGatheringState);
236
+ });
237
+ (0, _defineProperty2.default)(_this, "handlePeerConnectionStateChanged", function (event) {
238
+ var connectionState = Call.getPeerConnectionStateFromEvent(event, 'connectionState');
239
+ _Logger.default.info("Peer connection state changed to: ".concat(connectionState), {
240
+ file: _constants.CALL_FILE,
241
+ method: _constants.METHODS.MEDIA_ICE_EVENTS_LISTENER
242
+ });
243
+ _this.metricManager.submitMediaMetric(_types5.METRIC_EVENT.MEDIA, _types5.MEDIA_CONNECTION_ACTION.PEER_CONNECTION_STATE_CHANGED, _types5.METRIC_TYPE.BEHAVIORAL, _this.callId, _this.correlationId, undefined, undefined, connectionState);
244
+ });
245
+ (0, _defineProperty2.default)(_this, "handleIceConnectionStateChanged", function (event) {
246
+ var iceConnectionState = Call.getPeerConnectionStateFromEvent(event, 'iceConnectionState');
247
+ _Logger.default.info("ICE connection state changed to: ".concat(iceConnectionState), {
248
+ file: _constants.CALL_FILE,
249
+ method: _constants.METHODS.MEDIA_ICE_EVENTS_LISTENER
250
+ });
251
+ _this.metricManager.submitMediaMetric(_types5.METRIC_EVENT.MEDIA, _types5.MEDIA_CONNECTION_ACTION.ICE_CONNECTION_STATE_CHANGED, _types5.METRIC_TYPE.BEHAVIORAL, _this.callId, _this.correlationId, undefined, undefined, iceConnectionState);
252
+ });
253
+ (0, _defineProperty2.default)(_this, "handleIceCandidateError", function (event) {
254
+ var _event$address, _event$port;
255
+ var iceErrorPayload = {
256
+ address: (_event$address = event.address) !== null && _event$address !== void 0 ? _event$address : null,
257
+ errorCode: event.errorCode,
258
+ errorText: event.errorText,
259
+ port: (_event$port = event.port) !== null && _event$port !== void 0 ? _event$port : null,
260
+ url: event.url
261
+ };
262
+ _Logger.default.warn("ICE candidate error occurred: ".concat((0, _stringify.default)(iceErrorPayload)), {
263
+ file: _constants.CALL_FILE,
264
+ method: _constants.METHODS.MEDIA_ICE_EVENTS_LISTENER
265
+ });
266
+ var callError = (0, _CallError.createCallError)("ICE candidate error occurred: ".concat((0, _stringify.default)(iceErrorPayload)), {
267
+ file: _constants.CALL_FILE,
268
+ method: _constants.METHODS.MEDIA_ICE_EVENTS_LISTENER
269
+ }, _types.ERROR_TYPE.CALL_ERROR, _this.correlationId, _types.ERROR_LAYER.MEDIA);
270
+ _this.metricManager.submitMediaMetric(_types5.METRIC_EVENT.MEDIA_ERROR, _types5.MEDIA_CONNECTION_ACTION.ICE_CANDIDATE_ERROR, _types5.METRIC_TYPE.BEHAVIORAL, _this.callId, _this.correlationId, undefined, undefined, undefined, callError);
271
+ });
272
+ (0, _defineProperty2.default)(_this, "handleRoapFailure", function (error) {
273
+ var failureMessage = error.message || 'Unknown ROAP failure received from media SDK';
274
+ _Logger.default.warn("ROAP failure occurred: ".concat(failureMessage), {
275
+ file: _constants.CALL_FILE,
276
+ method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
277
+ });
278
+ var callError = (0, _CallError.createCallError)("ROAP failure occurred: ".concat(failureMessage), {
279
+ file: _constants.CALL_FILE,
280
+ method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
281
+ }, _types.ERROR_TYPE.CALL_ERROR, _this.correlationId, _types.ERROR_LAYER.MEDIA);
282
+ _this.metricManager.submitMediaMetric(_types5.METRIC_EVENT.MEDIA_ERROR, _types5.MEDIA_CONNECTION_ACTION.ROAP_FAILURE, _types5.METRIC_TYPE.BEHAVIORAL, _this.callId, _this.correlationId, undefined, undefined, undefined, callError);
283
+ });
99
284
  (0, _defineProperty2.default)(_this, "callKeepaliveRetryCallback", function (interval) {
100
285
  if (_this.callKeepaliveRetryCount === _constants.MAX_CALL_KEEPALIVE_RETRY_COUNT) {
101
286
  _Logger.default.warn("Max keepalive retry attempts reached. Aborting call keepalive for callId: ".concat(_this.callId), {
@@ -105,35 +290,35 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
105
290
  return;
106
291
  }
107
292
  _this.callKeepaliveRetryCount += 1;
108
- setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
109
- var _t;
110
- return _regenerator.default.wrap(function (_context) {
111
- while (1) switch (_context.prev = _context.next) {
293
+ setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
294
+ var _t2;
295
+ return _regenerator.default.wrap(function (_context2) {
296
+ while (1) switch (_context2.prev = _context2.next) {
112
297
  case 0:
113
- _context.prev = 0;
114
- _context.next = 1;
298
+ _context2.prev = 0;
299
+ _context2.next = 1;
115
300
  return _this.postStatus();
116
301
  case 1:
117
302
  _this.scheduleCallKeepaliveInterval();
118
- _context.next = 3;
303
+ _context2.next = 3;
119
304
  break;
120
305
  case 2:
121
- _context.prev = 2;
122
- _t = _context["catch"](0);
123
- _context.next = 3;
124
- return _this.handleCallKeepaliveError(_t);
306
+ _context2.prev = 2;
307
+ _t2 = _context2["catch"](0);
308
+ _context2.next = 3;
309
+ return _this.handleCallKeepaliveError(_t2);
125
310
  case 3:
126
311
  case "end":
127
- return _context.stop();
312
+ return _context2.stop();
128
313
  }
129
- }, _callee, null, [[0, 2]]);
314
+ }, _callee2, null, [[0, 2]]);
130
315
  })), interval * 1000);
131
316
  });
132
317
  (0, _defineProperty2.default)(_this, "handleCallKeepaliveError", /*#__PURE__*/function () {
133
- var _ref2 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(err) {
318
+ var _ref3 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3(err) {
134
319
  var error, abort;
135
- return _regenerator.default.wrap(function (_context2) {
136
- while (1) switch (_context2.prev = _context2.next) {
320
+ return _regenerator.default.wrap(function (_context3) {
321
+ while (1) switch (_context3.prev = _context3.next) {
137
322
  case 0:
138
323
  error = err;
139
324
  /* We are clearing the timer here as all are error scenarios. Only scenario where
@@ -145,13 +330,13 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
145
330
  if (_this.sessionTimer) {
146
331
  clearInterval(_this.sessionTimer);
147
332
  }
148
- _context2.next = 1;
333
+ _context3.next = 1;
149
334
  return (0, _Utils.handleCallErrors)(function (callError) {
150
335
  _this.emit(_types3.CALL_EVENT_KEYS.CALL_ERROR, callError);
151
336
  _this.submitCallErrorMetric(callError);
152
337
  }, _types.ERROR_LAYER.CALL_CONTROL, _this.callKeepaliveRetryCallback, _this.getCorrelationId(), error, 'handleCallEstablished', _constants.CALL_FILE);
153
338
  case 1:
154
- abort = _context2.sent;
339
+ abort = _context3.sent;
155
340
  if (abort) {
156
341
  _this.sendCallStateMachineEvt({
157
342
  type: 'E_SEND_CALL_DISCONNECT'
@@ -159,7 +344,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
159
344
  _this.emit(_types3.CALL_EVENT_KEYS.DISCONNECT, _this.getCorrelationId());
160
345
  _this.callKeepaliveRetryCount = 0;
161
346
  }
162
- _context2.next = 2;
347
+ _context3.next = 2;
163
348
  return (0, _Utils.uploadLogs)({
164
349
  correlationId: _this.correlationId,
165
350
  callId: _this.callId,
@@ -167,12 +352,12 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
167
352
  });
168
353
  case 2:
169
354
  case "end":
170
- return _context2.stop();
355
+ return _context3.stop();
171
356
  }
172
- }, _callee2);
357
+ }, _callee3);
173
358
  }));
174
- return function (_x) {
175
- return _ref2.apply(this, arguments);
359
+ return function (_x2) {
360
+ return _ref3.apply(this, arguments);
176
361
  };
177
362
  }());
178
363
  (0, _defineProperty2.default)(_this, "scheduleCallKeepaliveInterval", function () {
@@ -180,29 +365,30 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
180
365
  file: _constants.CALL_FILE,
181
366
  method: 'scheduleCallKeepaliveInterval'
182
367
  };
183
- _this.sessionTimer = setInterval(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
184
- var res, _t2;
185
- return _regenerator.default.wrap(function (_context3) {
186
- while (1) switch (_context3.prev = _context3.next) {
368
+ clearInterval(_this.sessionTimer);
369
+ _this.sessionTimer = setInterval(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
370
+ var res, _t3;
371
+ return _regenerator.default.wrap(function (_context4) {
372
+ while (1) switch (_context4.prev = _context4.next) {
187
373
  case 0:
188
- _context3.prev = 0;
189
- _context3.next = 1;
374
+ _context4.prev = 0;
375
+ _context4.next = 1;
190
376
  return _this.postStatus();
191
377
  case 1:
192
- res = _context3.sent;
378
+ res = _context4.sent;
193
379
  _Logger.default.info("Session refresh successful", loggerContext);
194
- _context3.next = 3;
380
+ _context4.next = 3;
195
381
  break;
196
382
  case 2:
197
- _context3.prev = 2;
198
- _t2 = _context3["catch"](0);
199
- _context3.next = 3;
200
- return _this.handleCallKeepaliveError(_t2);
383
+ _context4.prev = 2;
384
+ _t3 = _context4["catch"](0);
385
+ _context4.next = 3;
386
+ return _this.handleCallKeepaliveError(_t3);
201
387
  case 3:
202
388
  case "end":
203
- return _context3.stop();
389
+ return _context4.stop();
204
390
  }
205
- }, _callee3, null, [[0, 2]]);
391
+ }, _callee4, null, [[0, 2]]);
206
392
  })), _constants.DEFAULT_SESSION_TIMER);
207
393
  });
208
394
  /**
@@ -212,34 +398,34 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
212
398
  * @returns {Promise<void>}
213
399
  */
214
400
  (0, _defineProperty2.default)(_this, "forceSendStatsReport", /*#__PURE__*/function () {
215
- var _ref5 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4(_ref4) {
216
- var callFrom, loggerContext, errorInfo, errorStatus, _t3;
217
- return _regenerator.default.wrap(function (_context4) {
218
- while (1) switch (_context4.prev = _context4.next) {
401
+ var _ref6 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5(_ref5) {
402
+ var callFrom, loggerContext, errorInfo, errorStatus, _t4;
403
+ return _regenerator.default.wrap(function (_context5) {
404
+ while (1) switch (_context5.prev = _context5.next) {
219
405
  case 0:
220
- callFrom = _ref4.callFrom;
406
+ callFrom = _ref5.callFrom;
221
407
  loggerContext = {
222
408
  file: _constants.CALL_FILE,
223
409
  method: _constants.METHODS.FORCE_SEND_STATS_REPORT
224
410
  };
225
- _context4.prev = 1;
226
- _context4.next = 2;
411
+ _context5.prev = 1;
412
+ _context5.next = 2;
227
413
  return _this.mediaConnection.forceRtcMetricsSend();
228
414
  case 2:
229
415
  _Logger.default.info("Successfully uploaded available webrtc telemetry statistics", loggerContext);
230
416
  _Logger.default.info("callFrom: ".concat(callFrom), loggerContext);
231
- _context4.next = 5;
417
+ _context5.next = 5;
232
418
  break;
233
419
  case 3:
234
- _context4.prev = 3;
235
- _t3 = _context4["catch"](1);
236
- errorInfo = _t3;
237
- _context4.next = 4;
420
+ _context5.prev = 3;
421
+ _t4 = _context5["catch"](1);
422
+ errorInfo = _t4;
423
+ _context5.next = 4;
238
424
  return (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
239
425
  case 4:
240
- errorStatus = _context4.sent;
426
+ errorStatus = _context5.sent;
241
427
  _Logger.default.error("Failed to upload webrtc telemetry statistics. ".concat((0, _stringify.default)(errorStatus)), loggerContext);
242
- _context4.next = 5;
428
+ _context5.next = 5;
243
429
  return (0, _Utils.uploadLogs)({
244
430
  correlationId: _this.correlationId,
245
431
  callId: _this.callId,
@@ -247,12 +433,12 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
247
433
  });
248
434
  case 5:
249
435
  case "end":
250
- return _context4.stop();
436
+ return _context5.stop();
251
437
  }
252
- }, _callee4, null, [[1, 3]]);
438
+ }, _callee5, null, [[1, 3]]);
253
439
  }));
254
- return function (_x2) {
255
- return _ref5.apply(this, arguments);
440
+ return function (_x3) {
441
+ return _ref6.apply(this, arguments);
256
442
  };
257
443
  }());
258
444
  /**
@@ -300,10 +486,10 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
300
486
  * @param roapMessage
301
487
  */
302
488
  (0, _defineProperty2.default)(_this, "post", /*#__PURE__*/function () {
303
- var _ref6 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5(roapMessage) {
489
+ var _ref7 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6(roapMessage) {
304
490
  var basePayload;
305
- return _regenerator.default.wrap(function (_context5) {
306
- while (1) switch (_context5.prev = _context5.next) {
491
+ return _regenerator.default.wrap(function (_context6) {
492
+ while (1) switch (_context6.prev = _context6.next) {
307
493
  case 0:
308
494
  basePayload = {
309
495
  device: {
@@ -315,7 +501,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
315
501
  mediaId: (0, _uuid.v4)()
316
502
  }
317
503
  };
318
- return _context5.abrupt("return", _this.webex.request({
504
+ return _context6.abrupt("return", _this.apiRequest.makeRequest({
319
505
  uri: "".concat(_this.mobiusUrl).concat(_constants.DEVICES_ENDPOINT_RESOURCE, "/").concat(_this.deviceId, "/").concat(_constants.CALL_ENDPOINT_RESOURCE),
320
506
  method: _types2.HTTP_METHODS.POST,
321
507
  service: _types2.ALLOWED_SERVICES.MOBIUS,
@@ -329,12 +515,12 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
329
515
  }));
330
516
  case 1:
331
517
  case "end":
332
- return _context5.stop();
518
+ return _context6.stop();
333
519
  }
334
- }, _callee5);
520
+ }, _callee6);
335
521
  }));
336
- return function (_x3) {
337
- return _ref6.apply(this, arguments);
522
+ return function (_x4) {
523
+ return _ref7.apply(this, arguments);
338
524
  };
339
525
  }());
340
526
  (0, _defineProperty2.default)(_this, "onEffectEnabled", function () {
@@ -351,9 +537,9 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
351
537
  (0, _defineProperty2.default)(_this, "registerEffectListener", function (addedEffect) {
352
538
  if (_this.localAudioStream) {
353
539
  var effect = _this.localAudioStream.getEffectByKind(_constants.NOISE_REDUCTION_EFFECT);
354
- if (effect === addedEffect) {
355
- effect.on(_webMediaEffects.EffectEvent.Enabled, _this.onEffectEnabled);
356
- effect.on(_webMediaEffects.EffectEvent.Disabled, _this.onEffectDisabled);
540
+ if (effect && effect === addedEffect) {
541
+ effect.on(_mediaHelpers.EffectEvent.Enabled, _this.onEffectEnabled);
542
+ effect.on(_mediaHelpers.EffectEvent.Disabled, _this.onEffectDisabled);
357
543
  }
358
544
  }
359
545
  });
@@ -465,6 +651,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
465
651
  _this.deviceId = deviceId;
466
652
  _this.serviceIndicator = indicator;
467
653
  _this.lineId = lineId;
654
+ _this.iceGatheringConfig = iceGatheringConfig;
468
655
 
469
656
  /* istanbul ignore else */
470
657
  if (!_this.sdkConnector.getWebex()) {
@@ -484,6 +671,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
484
671
  _this.mobiusUrl = activeUrl;
485
672
  _this.receivedRoapOKSeq = 0;
486
673
  _this.mediaNegotiationCompleted = false;
674
+ _this.connectPending = false;
487
675
  _Logger.default.info("Webex Calling Url:- ".concat(_this.mobiusUrl), {
488
676
  file: _constants.CALL_FILE,
489
677
  method: _constants.METHODS.CONSTRUCTOR
@@ -505,6 +693,9 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
505
693
  _this.rtcMetrics = new _internalPluginMetrics.RtcMetrics(_this.webex, {
506
694
  callId: _this.callId
507
695
  }, _this.correlationId);
696
+ _this.apiRequest = _request.APIRequest.getInstance({
697
+ webex: _this.webex
698
+ });
508
699
  var callMachine = (0, _xstate.createMachine)({
509
700
  schema: {
510
701
  context: {},
@@ -689,6 +880,13 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
689
880
  }
690
881
  },
691
882
  on: {
883
+ E_SEND_CALL_CONNECT: {
884
+ cond: function cond() {
885
+ return _this.connectPending;
886
+ },
887
+ target: 'S_SEND_CALL_CONNECT',
888
+ actions: ['outgoingCallConnect']
889
+ },
692
890
  E_CALL_ESTABLISHED: {
693
891
  target: 'S_CALL_ESTABLISHED',
694
892
  actions: ['callEstablished']
@@ -1243,22 +1441,22 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1243
1441
  }, {
1244
1442
  key: "handleOutgoingCallSetup",
1245
1443
  value: (function () {
1246
- var _handleOutgoingCallSetup = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6(event) {
1444
+ var _handleOutgoingCallSetup = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7(event) {
1247
1445
  var _this2 = this;
1248
- var message, response, errData, _t4;
1249
- return _regenerator.default.wrap(function (_context6) {
1250
- while (1) switch (_context6.prev = _context6.next) {
1446
+ var message, response, errData, _t5;
1447
+ return _regenerator.default.wrap(function (_context7) {
1448
+ while (1) switch (_context7.prev = _context7.next) {
1251
1449
  case 0:
1252
1450
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
1253
1451
  file: _constants.CALL_FILE,
1254
1452
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_SETUP
1255
1453
  });
1256
1454
  message = event.data;
1257
- _context6.prev = 1;
1258
- _context6.next = 2;
1455
+ _context7.prev = 1;
1456
+ _context7.next = 2;
1259
1457
  return this.post(message);
1260
1458
  case 2:
1261
- response = _context6.sent;
1459
+ response = _context7.sent;
1262
1460
  _Logger.default.info("Response: ".concat((0, _stringify.default)(response)), {
1263
1461
  file: _constants.CALL_FILE,
1264
1462
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_SETUP
@@ -1272,16 +1470,16 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1272
1470
  file: _constants.CALL_FILE,
1273
1471
  method: this.handleOutgoingCallSetup.name
1274
1472
  });
1275
- _context6.next = 4;
1473
+ _context7.next = 4;
1276
1474
  break;
1277
1475
  case 3:
1278
- _context6.prev = 3;
1279
- _t4 = _context6["catch"](1);
1280
- _Logger.default.error("Failed to setup the call: ".concat((0, _stringify.default)(_t4)), {
1476
+ _context7.prev = 3;
1477
+ _t5 = _context7["catch"](1);
1478
+ _Logger.default.error("Failed to setup the call: ".concat((0, _stringify.default)(_t5)), {
1281
1479
  file: _constants.CALL_FILE,
1282
1480
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_SETUP
1283
1481
  });
1284
- errData = _t4;
1482
+ errData = _t5;
1285
1483
  (0, _Utils.handleCallErrors)(function (error) {
1286
1484
  _this2.emit(_types3.CALL_EVENT_KEYS.CALL_ERROR, error);
1287
1485
  _this2.submitCallErrorMetric(error);
@@ -1295,7 +1493,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1295
1493
  function (interval) {
1296
1494
  return undefined;
1297
1495
  }, this.getCorrelationId(), errData, _constants.METHODS.HANDLE_OUTGOING_CALL_SETUP, _constants.CALL_FILE);
1298
- _context6.next = 4;
1496
+ _context7.next = 4;
1299
1497
  return (0, _Utils.uploadLogs)({
1300
1498
  correlationId: this.correlationId,
1301
1499
  callId: this.callId,
@@ -1303,11 +1501,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1303
1501
  });
1304
1502
  case 4:
1305
1503
  case "end":
1306
- return _context6.stop();
1504
+ return _context7.stop();
1307
1505
  }
1308
- }, _callee6, this, [[1, 3]]);
1506
+ }, _callee7, this, [[1, 3]]);
1309
1507
  }));
1310
- function handleOutgoingCallSetup(_x4) {
1508
+ function handleOutgoingCallSetup(_x5) {
1311
1509
  return _handleOutgoingCallSetup.apply(this, arguments);
1312
1510
  }
1313
1511
  return handleOutgoingCallSetup;
@@ -1322,21 +1520,21 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1322
1520
  }, {
1323
1521
  key: "handleCallHold",
1324
1522
  value: (function () {
1325
- var _handleCallHold = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8(event) {
1523
+ var _handleCallHold = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9(event) {
1326
1524
  var _this3 = this;
1327
- var response, errData, _t5;
1328
- return _regenerator.default.wrap(function (_context8) {
1329
- while (1) switch (_context8.prev = _context8.next) {
1525
+ var response, errData, _t6;
1526
+ return _regenerator.default.wrap(function (_context9) {
1527
+ while (1) switch (_context9.prev = _context9.next) {
1330
1528
  case 0:
1331
1529
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
1332
1530
  file: _constants.CALL_FILE,
1333
1531
  method: _constants.METHODS.HANDLE_CALL_HOLD
1334
1532
  });
1335
- _context8.prev = 1;
1336
- _context8.next = 2;
1533
+ _context9.prev = 1;
1534
+ _context9.next = 2;
1337
1535
  return this.postSSRequest(undefined, _types3.SUPPLEMENTARY_SERVICES.HOLD);
1338
1536
  case 2:
1339
- response = _context8.sent;
1537
+ response = _context9.sent;
1340
1538
  _Logger.default.log("Response code: ".concat(response.statusCode), {
1341
1539
  file: _constants.CALL_FILE,
1342
1540
  method: _constants.METHODS.HANDLE_CALL_HOLD
@@ -1347,10 +1545,10 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1347
1545
  * received from Mobius and forwarded towards calling client
1348
1546
  */
1349
1547
  if (this.isHeld() === false) {
1350
- this.supplementaryServicesTimer = setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7() {
1548
+ this.supplementaryServicesTimer = setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8() {
1351
1549
  var errorContext, callError;
1352
- return _regenerator.default.wrap(function (_context7) {
1353
- while (1) switch (_context7.prev = _context7.next) {
1550
+ return _regenerator.default.wrap(function (_context8) {
1551
+ while (1) switch (_context8.prev = _context8.next) {
1354
1552
  case 0:
1355
1553
  errorContext = {
1356
1554
  file: _constants.CALL_FILE,
@@ -1365,21 +1563,21 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1365
1563
  _this3.submitCallErrorMetric(callError);
1366
1564
  case 1:
1367
1565
  case "end":
1368
- return _context7.stop();
1566
+ return _context8.stop();
1369
1567
  }
1370
- }, _callee7);
1568
+ }, _callee8);
1371
1569
  })), _constants.SUPPLEMENTARY_SERVICES_TIMEOUT);
1372
1570
  }
1373
- _context8.next = 4;
1571
+ _context9.next = 4;
1374
1572
  break;
1375
1573
  case 3:
1376
- _context8.prev = 3;
1377
- _t5 = _context8["catch"](1);
1378
- _Logger.default.error("Failed to put the call on hold: ".concat((0, _stringify.default)(_t5)), {
1574
+ _context9.prev = 3;
1575
+ _t6 = _context9["catch"](1);
1576
+ _Logger.default.error("Failed to put the call on hold: ".concat((0, _stringify.default)(_t6)), {
1379
1577
  file: _constants.CALL_FILE,
1380
1578
  method: _constants.METHODS.HANDLE_CALL_HOLD
1381
1579
  });
1382
- errData = _t5;
1580
+ errData = _t6;
1383
1581
  (0, _Utils.handleCallErrors)(function (error) {
1384
1582
  _this3.emit(_types3.CALL_EVENT_KEYS.HOLD_ERROR, error);
1385
1583
  _this3.submitCallErrorMetric(error);
@@ -1393,7 +1591,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1393
1591
  function (interval) {
1394
1592
  return undefined;
1395
1593
  }, this.getCorrelationId(), errData, _constants.METHODS.HANDLE_CALL_HOLD, _constants.CALL_FILE);
1396
- _context8.next = 4;
1594
+ _context9.next = 4;
1397
1595
  return (0, _Utils.uploadLogs)({
1398
1596
  correlationId: this.correlationId,
1399
1597
  callId: this.callId,
@@ -1401,11 +1599,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1401
1599
  });
1402
1600
  case 4:
1403
1601
  case "end":
1404
- return _context8.stop();
1602
+ return _context9.stop();
1405
1603
  }
1406
- }, _callee8, this, [[1, 3]]);
1604
+ }, _callee9, this, [[1, 3]]);
1407
1605
  }));
1408
- function handleCallHold(_x5) {
1606
+ function handleCallHold(_x6) {
1409
1607
  return _handleCallHold.apply(this, arguments);
1410
1608
  }
1411
1609
  return handleCallHold;
@@ -1420,21 +1618,21 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1420
1618
  }, {
1421
1619
  key: "handleCallResume",
1422
1620
  value: (function () {
1423
- var _handleCallResume = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0(event) {
1621
+ var _handleCallResume = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1(event) {
1424
1622
  var _this4 = this;
1425
- var response, errData, _t6;
1426
- return _regenerator.default.wrap(function (_context0) {
1427
- while (1) switch (_context0.prev = _context0.next) {
1623
+ var response, errData, _t7;
1624
+ return _regenerator.default.wrap(function (_context1) {
1625
+ while (1) switch (_context1.prev = _context1.next) {
1428
1626
  case 0:
1429
1627
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
1430
1628
  file: _constants.CALL_FILE,
1431
1629
  method: _constants.METHODS.HANDLE_CALL_RESUME
1432
1630
  });
1433
- _context0.prev = 1;
1434
- _context0.next = 2;
1631
+ _context1.prev = 1;
1632
+ _context1.next = 2;
1435
1633
  return this.postSSRequest(undefined, _types3.SUPPLEMENTARY_SERVICES.RESUME);
1436
1634
  case 2:
1437
- response = _context0.sent;
1635
+ response = _context1.sent;
1438
1636
  _Logger.default.log("Response code: ".concat(response.statusCode), {
1439
1637
  file: _constants.CALL_FILE,
1440
1638
  method: _constants.METHODS.HANDLE_CALL_RESUME
@@ -1445,10 +1643,10 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1445
1643
  * received from Mobius on resuming the call and forwarded towards calling client
1446
1644
  */
1447
1645
  if (this.isHeld() === true) {
1448
- this.supplementaryServicesTimer = setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9() {
1646
+ this.supplementaryServicesTimer = setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0() {
1449
1647
  var errorContext, callError;
1450
- return _regenerator.default.wrap(function (_context9) {
1451
- while (1) switch (_context9.prev = _context9.next) {
1648
+ return _regenerator.default.wrap(function (_context0) {
1649
+ while (1) switch (_context0.prev = _context0.next) {
1452
1650
  case 0:
1453
1651
  errorContext = {
1454
1652
  file: _constants.CALL_FILE,
@@ -1463,21 +1661,21 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1463
1661
  _this4.submitCallErrorMetric(callError);
1464
1662
  case 1:
1465
1663
  case "end":
1466
- return _context9.stop();
1664
+ return _context0.stop();
1467
1665
  }
1468
- }, _callee9);
1666
+ }, _callee0);
1469
1667
  })), _constants.SUPPLEMENTARY_SERVICES_TIMEOUT);
1470
1668
  }
1471
- _context0.next = 4;
1669
+ _context1.next = 4;
1472
1670
  break;
1473
1671
  case 3:
1474
- _context0.prev = 3;
1475
- _t6 = _context0["catch"](1);
1476
- _Logger.default.error("Failed to resume the call: ".concat((0, _stringify.default)(_t6)), {
1672
+ _context1.prev = 3;
1673
+ _t7 = _context1["catch"](1);
1674
+ _Logger.default.error("Failed to resume the call: ".concat((0, _stringify.default)(_t7)), {
1477
1675
  file: _constants.CALL_FILE,
1478
1676
  method: _constants.METHODS.HANDLE_CALL_RESUME
1479
1677
  });
1480
- errData = _t6;
1678
+ errData = _t7;
1481
1679
  (0, _Utils.handleCallErrors)(function (error) {
1482
1680
  _this4.emit(_types3.CALL_EVENT_KEYS.RESUME_ERROR, error);
1483
1681
  _this4.submitCallErrorMetric(error);
@@ -1491,7 +1689,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1491
1689
  function (interval) {
1492
1690
  return undefined;
1493
1691
  }, this.getCorrelationId(), errData, _constants.METHODS.HANDLE_CALL_RESUME, _constants.CALL_FILE);
1494
- _context0.next = 4;
1692
+ _context1.next = 4;
1495
1693
  return (0, _Utils.uploadLogs)({
1496
1694
  correlationId: this.correlationId,
1497
1695
  callId: this.callId,
@@ -1499,11 +1697,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1499
1697
  });
1500
1698
  case 4:
1501
1699
  case "end":
1502
- return _context0.stop();
1700
+ return _context1.stop();
1503
1701
  }
1504
- }, _callee0, this, [[1, 3]]);
1702
+ }, _callee1, this, [[1, 3]]);
1505
1703
  }));
1506
- function handleCallResume(_x6) {
1704
+ function handleCallResume(_x7) {
1507
1705
  return _handleCallResume.apply(this, arguments);
1508
1706
  }
1509
1707
  return handleCallResume;
@@ -1592,35 +1790,35 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1592
1790
  }, {
1593
1791
  key: "handleOutgoingCallAlerting",
1594
1792
  value: (function () {
1595
- var _handleOutgoingCallAlerting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1(event) {
1793
+ var _handleOutgoingCallAlerting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10(event) {
1596
1794
  var _this5 = this;
1597
- var res, errData, _t7;
1598
- return _regenerator.default.wrap(function (_context1) {
1599
- while (1) switch (_context1.prev = _context1.next) {
1795
+ var res, errData, _t8;
1796
+ return _regenerator.default.wrap(function (_context10) {
1797
+ while (1) switch (_context10.prev = _context10.next) {
1600
1798
  case 0:
1601
1799
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
1602
1800
  file: _constants.CALL_FILE,
1603
1801
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_ALERTING
1604
1802
  });
1605
- _context1.prev = 1;
1606
- _context1.next = 2;
1803
+ _context10.prev = 1;
1804
+ _context10.next = 2;
1607
1805
  return this.patch(_types4.MobiusCallState.ALERTING);
1608
1806
  case 2:
1609
- res = _context1.sent;
1807
+ res = _context10.sent;
1610
1808
  _Logger.default.log("PATCH response: ".concat(res.statusCode), {
1611
1809
  file: _constants.CALL_FILE,
1612
1810
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_ALERTING
1613
1811
  });
1614
- _context1.next = 4;
1812
+ _context10.next = 4;
1615
1813
  break;
1616
1814
  case 3:
1617
- _context1.prev = 3;
1618
- _t7 = _context1["catch"](1);
1619
- _Logger.default.error("Failed to signal call progression: ".concat((0, _stringify.default)(_t7)), {
1815
+ _context10.prev = 3;
1816
+ _t8 = _context10["catch"](1);
1817
+ _Logger.default.error("Failed to signal call progression: ".concat((0, _stringify.default)(_t8)), {
1620
1818
  file: _constants.CALL_FILE,
1621
1819
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_ALERTING
1622
1820
  });
1623
- errData = _t7;
1821
+ errData = _t8;
1624
1822
  (0, _Utils.handleCallErrors)(function (error) {
1625
1823
  _this5.emit(_types3.CALL_EVENT_KEYS.CALL_ERROR, error);
1626
1824
  _this5.submitCallErrorMetric(error);
@@ -1634,7 +1832,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1634
1832
  function (interval) {
1635
1833
  return undefined;
1636
1834
  }, this.getCorrelationId(), errData, _constants.METHODS.HANDLE_OUTGOING_CALL_ALERTING, _constants.CALL_FILE);
1637
- _context1.next = 4;
1835
+ _context10.next = 4;
1638
1836
  return (0, _Utils.uploadLogs)({
1639
1837
  correlationId: this.correlationId,
1640
1838
  callId: this.callId,
@@ -1642,11 +1840,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1642
1840
  });
1643
1841
  case 4:
1644
1842
  case "end":
1645
- return _context1.stop();
1843
+ return _context10.stop();
1646
1844
  }
1647
- }, _callee1, this, [[1, 3]]);
1845
+ }, _callee10, this, [[1, 3]]);
1648
1846
  }));
1649
- function handleOutgoingCallAlerting(_x7) {
1847
+ function handleOutgoingCallAlerting(_x8) {
1650
1848
  return _handleOutgoingCallAlerting.apply(this, arguments);
1651
1849
  }
1652
1850
  return handleOutgoingCallAlerting;
@@ -1687,12 +1885,13 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1687
1885
  }, {
1688
1886
  key: "handleOutgoingCallConnect",
1689
1887
  value: (function () {
1690
- var _handleOutgoingCallConnect = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10(event) {
1888
+ var _handleOutgoingCallConnect = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11(event) {
1691
1889
  var _this6 = this;
1692
- var res, errData, _t8;
1693
- return _regenerator.default.wrap(function (_context10) {
1694
- while (1) switch (_context10.prev = _context10.next) {
1890
+ var res, errData, _t9;
1891
+ return _regenerator.default.wrap(function (_context11) {
1892
+ while (1) switch (_context11.prev = _context11.next) {
1695
1893
  case 0:
1894
+ this.connectPending = false;
1696
1895
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
1697
1896
  file: _constants.CALL_FILE,
1698
1897
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_CONNECT
@@ -1700,38 +1899,39 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1700
1899
 
1701
1900
  /* We should have received an Offer by now */
1702
1901
  if (this.remoteRoapMessage) {
1703
- _context10.next = 1;
1902
+ _context11.next = 1;
1704
1903
  break;
1705
1904
  }
1706
1905
  _Logger.default.warn('Offer not yet received from remote end... Exiting', {
1707
1906
  file: _constants.CALL_FILE,
1708
1907
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_CONNECT
1709
1908
  });
1710
- return _context10.abrupt("return");
1909
+ this.connectPending = true;
1910
+ return _context11.abrupt("return");
1711
1911
  case 1:
1712
- _context10.prev = 1;
1912
+ _context11.prev = 1;
1713
1913
  /* Start Offer/Answer as we might have buffered the offer by now */
1714
1914
  this.mediaConnection.roapMessageReceived(this.remoteRoapMessage);
1715
1915
 
1716
1916
  /* send call_connect PATCH */
1717
- _context10.next = 2;
1917
+ _context11.next = 2;
1718
1918
  return this.patch(_types4.MobiusCallState.CONNECTED);
1719
1919
  case 2:
1720
- res = _context10.sent;
1920
+ res = _context11.sent;
1721
1921
  _Logger.default.log("PATCH response: ".concat(res.statusCode), {
1722
1922
  file: _constants.CALL_FILE,
1723
1923
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_CONNECT
1724
1924
  });
1725
- _context10.next = 4;
1925
+ _context11.next = 4;
1726
1926
  break;
1727
1927
  case 3:
1728
- _context10.prev = 3;
1729
- _t8 = _context10["catch"](1);
1730
- _Logger.default.error("Failed to connect the call: ".concat((0, _stringify.default)(_t8)), {
1928
+ _context11.prev = 3;
1929
+ _t9 = _context11["catch"](1);
1930
+ _Logger.default.error("Failed to connect the call: ".concat((0, _stringify.default)(_t9)), {
1731
1931
  file: _constants.CALL_FILE,
1732
1932
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_CONNECT
1733
1933
  });
1734
- errData = _t8;
1934
+ errData = _t9;
1735
1935
  (0, _Utils.handleCallErrors)(function (error) {
1736
1936
  _this6.emit(_types3.CALL_EVENT_KEYS.CALL_ERROR, error);
1737
1937
  _this6.submitCallErrorMetric(error);
@@ -1745,7 +1945,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1745
1945
  function (interval) {
1746
1946
  return undefined;
1747
1947
  }, this.getCorrelationId(), errData, _constants.METHODS.HANDLE_OUTGOING_CALL_CONNECT, _constants.CALL_FILE);
1748
- _context10.next = 4;
1948
+ _context11.next = 4;
1749
1949
  return (0, _Utils.uploadLogs)({
1750
1950
  correlationId: this.correlationId,
1751
1951
  callId: this.callId,
@@ -1753,11 +1953,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1753
1953
  });
1754
1954
  case 4:
1755
1955
  case "end":
1756
- return _context10.stop();
1956
+ return _context11.stop();
1757
1957
  }
1758
- }, _callee10, this, [[1, 3]]);
1958
+ }, _callee11, this, [[1, 3]]);
1759
1959
  }));
1760
- function handleOutgoingCallConnect(_x8) {
1960
+ function handleOutgoingCallConnect(_x9) {
1761
1961
  return _handleOutgoingCallConnect.apply(this, arguments);
1762
1962
  }
1763
1963
  return handleOutgoingCallConnect;
@@ -1772,10 +1972,10 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1772
1972
  }, {
1773
1973
  key: "handleIncomingCallDisconnect",
1774
1974
  value: (function () {
1775
- var _handleIncomingCallDisconnect = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11(event) {
1776
- var response, _t9;
1777
- return _regenerator.default.wrap(function (_context11) {
1778
- while (1) switch (_context11.prev = _context11.next) {
1975
+ var _handleIncomingCallDisconnect = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12(event) {
1976
+ var response, _t0;
1977
+ return _regenerator.default.wrap(function (_context12) {
1978
+ while (1) switch (_context12.prev = _context12.next) {
1779
1979
  case 0:
1780
1980
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
1781
1981
  file: _constants.CALL_FILE,
@@ -1783,21 +1983,21 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1783
1983
  });
1784
1984
  this.emit(_types3.CALL_EVENT_KEYS.DISCONNECT, this.correlationId);
1785
1985
  this.setDisconnectReason();
1786
- _context11.prev = 1;
1787
- _context11.next = 2;
1986
+ _context12.prev = 1;
1987
+ _context12.next = 2;
1788
1988
  return this.delete();
1789
1989
  case 2:
1790
- response = _context11.sent;
1990
+ response = _context12.sent;
1791
1991
  _Logger.default.log("Response code: ".concat(response.statusCode), {
1792
1992
  file: _constants.CALL_FILE,
1793
1993
  method: _constants.METHODS.HANDLE_INCOMING_CALL_DISCONNECT
1794
1994
  });
1795
- _context11.next = 4;
1995
+ _context12.next = 4;
1796
1996
  break;
1797
1997
  case 3:
1798
- _context11.prev = 3;
1799
- _t9 = _context11["catch"](1);
1800
- _Logger.default.warn("Failed to delete the call: ".concat((0, _stringify.default)(_t9)), {
1998
+ _context12.prev = 3;
1999
+ _t0 = _context12["catch"](1);
2000
+ _Logger.default.warn("Failed to delete the call: ".concat((0, _stringify.default)(_t0)), {
1801
2001
  file: _constants.CALL_FILE,
1802
2002
  method: _constants.METHODS.HANDLE_INCOMING_CALL_DISCONNECT
1803
2003
  });
@@ -1819,10 +2019,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1819
2019
 
1820
2020
  /* istanbul ignore else */
1821
2021
  if (this.mediaConnection) {
2022
+ this.unregisterMediaConnectionListeners();
1822
2023
  this.mediaConnection.close();
1823
2024
  _Logger.default.info('Closing media channel', {
1824
2025
  file: _constants.CALL_FILE,
1825
- method: _constants.METHODS.HANDLE_OUTGOING_CALL_DISCONNECT
2026
+ method: _constants.METHODS.HANDLE_INCOMING_CALL_DISCONNECT
1826
2027
  });
1827
2028
  }
1828
2029
  this.sendMediaStateMachineEvt({
@@ -1833,11 +2034,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1833
2034
  });
1834
2035
  case 5:
1835
2036
  case "end":
1836
- return _context11.stop();
2037
+ return _context12.stop();
1837
2038
  }
1838
- }, _callee11, this, [[1, 3]]);
2039
+ }, _callee12, this, [[1, 3]]);
1839
2040
  }));
1840
- function handleIncomingCallDisconnect(_x9) {
2041
+ function handleIncomingCallDisconnect(_x0) {
1841
2042
  return _handleIncomingCallDisconnect.apply(this, arguments);
1842
2043
  }
1843
2044
  return handleIncomingCallDisconnect;
@@ -1852,21 +2053,21 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1852
2053
  }, {
1853
2054
  key: "handleOutgoingCallDisconnect",
1854
2055
  value: (function () {
1855
- var _handleOutgoingCallDisconnect = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12(event) {
1856
- var response, _t0;
1857
- return _regenerator.default.wrap(function (_context12) {
1858
- while (1) switch (_context12.prev = _context12.next) {
2056
+ var _handleOutgoingCallDisconnect = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13(event) {
2057
+ var response, _t1;
2058
+ return _regenerator.default.wrap(function (_context13) {
2059
+ while (1) switch (_context13.prev = _context13.next) {
1859
2060
  case 0:
1860
2061
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
1861
2062
  file: _constants.CALL_FILE,
1862
2063
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_DISCONNECT
1863
2064
  });
1864
2065
  this.setDisconnectReason();
1865
- _context12.prev = 1;
1866
- _context12.next = 2;
2066
+ _context13.prev = 1;
2067
+ _context13.next = 2;
1867
2068
  return this.delete();
1868
2069
  case 2:
1869
- response = _context12.sent;
2070
+ response = _context13.sent;
1870
2071
  _Logger.default.log("Response code: ".concat(response.statusCode), {
1871
2072
  file: _constants.CALL_FILE,
1872
2073
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_DISCONNECT
@@ -1875,11 +2076,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1875
2076
  file: _constants.CALL_FILE,
1876
2077
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_DISCONNECT
1877
2078
  });
1878
- _context12.next = 4;
2079
+ _context13.next = 4;
1879
2080
  break;
1880
2081
  case 3:
1881
- _context12.prev = 3;
1882
- _t0 = _context12["catch"](1);
2082
+ _context13.prev = 3;
2083
+ _t1 = _context13["catch"](1);
1883
2084
  _Logger.default.warn('Failed to delete the call', {
1884
2085
  file: _constants.CALL_FILE,
1885
2086
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_DISCONNECT
@@ -1902,6 +2103,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1902
2103
 
1903
2104
  /* istanbul ignore else */
1904
2105
  if (this.mediaConnection) {
2106
+ this.unregisterMediaConnectionListeners();
1905
2107
  this.mediaConnection.close();
1906
2108
  _Logger.default.info('Closing media channel', {
1907
2109
  file: _constants.CALL_FILE,
@@ -1916,11 +2118,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1916
2118
  });
1917
2119
  case 5:
1918
2120
  case "end":
1919
- return _context12.stop();
2121
+ return _context13.stop();
1920
2122
  }
1921
- }, _callee12, this, [[1, 3]]);
2123
+ }, _callee13, this, [[1, 3]]);
1922
2124
  }));
1923
- function handleOutgoingCallDisconnect(_x0) {
2125
+ function handleOutgoingCallDisconnect(_x1) {
1924
2126
  return _handleOutgoingCallDisconnect.apply(this, arguments);
1925
2127
  }
1926
2128
  return handleOutgoingCallDisconnect;
@@ -1956,10 +2158,10 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1956
2158
  }, {
1957
2159
  key: "handleUnknownState",
1958
2160
  value: (function () {
1959
- var _handleUnknownState = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13(event) {
1960
- var eventData, response, _t1;
1961
- return _regenerator.default.wrap(function (_context13) {
1962
- while (1) switch (_context13.prev = _context13.next) {
2161
+ var _handleUnknownState = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14(event) {
2162
+ var eventData, response, _t10;
2163
+ return _regenerator.default.wrap(function (_context14) {
2164
+ while (1) switch (_context14.prev = _context14.next) {
1963
2165
  case 0:
1964
2166
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
1965
2167
  file: _constants.CALL_FILE,
@@ -1980,21 +2182,21 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1980
2182
  /* We need to clear the call at Mobius too. For delete failure
1981
2183
  * error handling is not required
1982
2184
  */
1983
- _context13.prev = 1;
2185
+ _context14.prev = 1;
1984
2186
  this.setDisconnectReason();
1985
- _context13.next = 2;
2187
+ _context14.next = 2;
1986
2188
  return this.delete();
1987
2189
  case 2:
1988
- response = _context13.sent;
2190
+ response = _context14.sent;
1989
2191
  _Logger.default.log("Response code: ".concat(response.statusCode), {
1990
2192
  file: _constants.CALL_FILE,
1991
2193
  method: _constants.METHODS.HANDLE_UNKNOWN_STATE
1992
2194
  });
1993
- _context13.next = 4;
2195
+ _context14.next = 4;
1994
2196
  break;
1995
2197
  case 3:
1996
- _context13.prev = 3;
1997
- _t1 = _context13["catch"](1);
2198
+ _context14.prev = 3;
2199
+ _t10 = _context14["catch"](1);
1998
2200
  _Logger.default.warn('Failed to delete the call', {
1999
2201
  file: _constants.CALL_FILE,
2000
2202
  method: _constants.METHODS.HANDLE_UNKNOWN_STATE
@@ -2010,6 +2212,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2010
2212
  clearInterval(this.sessionTimer);
2011
2213
  }
2012
2214
  if (this.mediaConnection) {
2215
+ this.unregisterMediaConnectionListeners();
2013
2216
  this.mediaConnection.close();
2014
2217
  _Logger.default.info('Closing media channel', {
2015
2218
  file: _constants.CALL_FILE,
@@ -2024,11 +2227,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2024
2227
  });
2025
2228
  case 5:
2026
2229
  case "end":
2027
- return _context13.stop();
2230
+ return _context14.stop();
2028
2231
  }
2029
- }, _callee13, this, [[1, 3]]);
2232
+ }, _callee14, this, [[1, 3]]);
2030
2233
  }));
2031
- function handleUnknownState(_x1) {
2234
+ function handleUnknownState(_x10) {
2032
2235
  return _handleUnknownState.apply(this, arguments);
2033
2236
  }
2034
2237
  return handleUnknownState;
@@ -2097,27 +2300,27 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2097
2300
  }, {
2098
2301
  key: "handleRoapEstablished",
2099
2302
  value: (function () {
2100
- var _handleRoapEstablished = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14(context, event) {
2303
+ var _handleRoapEstablished = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15(context, event) {
2101
2304
  var _this8 = this;
2102
- var _ref9, received, message, res, errData, _t10;
2103
- return _regenerator.default.wrap(function (_context14) {
2104
- while (1) switch (_context14.prev = _context14.next) {
2305
+ var _ref0, received, message, res, errData, _t11;
2306
+ return _regenerator.default.wrap(function (_context15) {
2307
+ while (1) switch (_context15.prev = _context15.next) {
2105
2308
  case 0:
2106
2309
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
2107
2310
  file: _constants.CALL_FILE,
2108
2311
  method: _constants.METHODS.HANDLE_ROAP_ESTABLISHED
2109
2312
  });
2110
- _ref9 = event.data, received = _ref9.received, message = _ref9.message;
2313
+ _ref0 = event.data, received = _ref0.received, message = _ref0.message;
2111
2314
  this.receivedRoapOKSeq = message.seq;
2112
2315
  if (received) {
2113
- _context14.next = 5;
2316
+ _context15.next = 5;
2114
2317
  break;
2115
2318
  }
2116
2319
  _Logger.default.info('Sending Media Ok to the remote End', {
2117
2320
  file: _constants.CALL_FILE,
2118
2321
  method: _constants.METHODS.HANDLE_ROAP_ESTABLISHED
2119
2322
  });
2120
- _context14.prev = 1;
2323
+ _context15.prev = 1;
2121
2324
  if (this.callStateMachine.state.value === 'S_RECV_CALL_PROGRESS' || this.callStateMachine.state.value === 'S_SEND_CALL_SETUP') {
2122
2325
  _Logger.default.info('Media negotiation completed before call connect. Setting media negotiation completed flag.', {
2123
2326
  file: _constants.CALL_FILE,
@@ -2126,10 +2329,10 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2126
2329
  this.mediaNegotiationCompleted = true;
2127
2330
  }
2128
2331
  message.seq = this.seq;
2129
- _context14.next = 2;
2332
+ _context15.next = 2;
2130
2333
  return this.postMedia(message);
2131
2334
  case 2:
2132
- res = _context14.sent;
2335
+ res = _context15.sent;
2133
2336
  _Logger.default.log("Response code: ".concat(res.statusCode), {
2134
2337
  file: _constants.CALL_FILE,
2135
2338
  method: _constants.METHODS.HANDLE_ROAP_ESTABLISHED
@@ -2140,16 +2343,16 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2140
2343
  type: 'E_CALL_ESTABLISHED'
2141
2344
  });
2142
2345
  }
2143
- _context14.next = 4;
2346
+ _context15.next = 4;
2144
2347
  break;
2145
2348
  case 3:
2146
- _context14.prev = 3;
2147
- _t10 = _context14["catch"](1);
2349
+ _context15.prev = 3;
2350
+ _t11 = _context15["catch"](1);
2148
2351
  _Logger.default.warn('Failed to process MediaOk request', {
2149
2352
  file: _constants.CALL_FILE,
2150
2353
  method: _constants.METHODS.HANDLE_ROAP_ESTABLISHED
2151
2354
  });
2152
- errData = _t10;
2355
+ errData = _t11;
2153
2356
  (0, _Utils.handleCallErrors)(this.getEmitterCallback(errData), _types.ERROR_LAYER.MEDIA, function (interval) {
2154
2357
  /* Start retry if only it is a midcall case */
2155
2358
  /* istanbul ignore else */
@@ -2162,14 +2365,14 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2162
2365
  }, interval * 1000);
2163
2366
  }
2164
2367
  }, this.getCorrelationId(), errData, this.handleRoapEstablished.name, _constants.CALL_FILE);
2165
- _context14.next = 4;
2368
+ _context15.next = 4;
2166
2369
  return (0, _Utils.uploadLogs)({
2167
2370
  correlationId: this.correlationId,
2168
2371
  callId: this.callId,
2169
2372
  broadworksCorrelationInfo: this.broadworksCorrelationInfo
2170
2373
  });
2171
2374
  case 4:
2172
- _context14.next = 6;
2375
+ _context15.next = 6;
2173
2376
  break;
2174
2377
  case 5:
2175
2378
  _Logger.default.info('Notifying internal-media-core about ROAP OK message', {
@@ -2203,11 +2406,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2203
2406
  }
2204
2407
  case 6:
2205
2408
  case "end":
2206
- return _context14.stop();
2409
+ return _context15.stop();
2207
2410
  }
2208
- }, _callee14, this, [[1, 3]]);
2411
+ }, _callee15, this, [[1, 3]]);
2209
2412
  }));
2210
- function handleRoapEstablished(_x10, _x11) {
2413
+ function handleRoapEstablished(_x11, _x12) {
2211
2414
  return _handleRoapEstablished.apply(this, arguments);
2212
2415
  }
2213
2416
  return handleRoapEstablished;
@@ -2222,11 +2425,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2222
2425
  }, {
2223
2426
  key: "handleRoapError",
2224
2427
  value: (function () {
2225
- var _handleRoapError = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15(context, event) {
2428
+ var _handleRoapError = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee16(context, event) {
2226
2429
  var _this9 = this;
2227
- var message, res, errData, _t11;
2228
- return _regenerator.default.wrap(function (_context15) {
2229
- while (1) switch (_context15.prev = _context15.next) {
2430
+ var message, res, errData, _t12;
2431
+ return _regenerator.default.wrap(function (_context16) {
2432
+ while (1) switch (_context16.prev = _context16.next) {
2230
2433
  case 0:
2231
2434
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
2232
2435
  file: _constants.CALL_FILE,
@@ -2237,28 +2440,28 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2237
2440
  message = event.data;
2238
2441
  /* istanbul ignore else */
2239
2442
  if (!(message && message.messageType === 'ERROR')) {
2240
- _context15.next = 4;
2443
+ _context16.next = 4;
2241
2444
  break;
2242
2445
  }
2243
- _context15.prev = 1;
2244
- _context15.next = 2;
2446
+ _context16.prev = 1;
2447
+ _context16.next = 2;
2245
2448
  return this.postMedia(message);
2246
2449
  case 2:
2247
- res = _context15.sent;
2450
+ res = _context16.sent;
2248
2451
  _Logger.default.info("Response code: ".concat(res.statusCode), {
2249
2452
  file: _constants.CALL_FILE,
2250
2453
  method: _constants.METHODS.HANDLE_ROAP_ERROR
2251
2454
  });
2252
- _context15.next = 4;
2455
+ _context16.next = 4;
2253
2456
  break;
2254
2457
  case 3:
2255
- _context15.prev = 3;
2256
- _t11 = _context15["catch"](1);
2458
+ _context16.prev = 3;
2459
+ _t12 = _context16["catch"](1);
2257
2460
  _Logger.default.warn('Failed to communicate ROAP error to Webex Calling', {
2258
2461
  file: _constants.CALL_FILE,
2259
2462
  method: _constants.METHODS.HANDLE_ROAP_ERROR
2260
2463
  });
2261
- errData = _t11;
2464
+ errData = _t12;
2262
2465
  (0, _Utils.handleCallErrors)(function (error) {
2263
2466
  _this9.emit(_types3.CALL_EVENT_KEYS.CALL_ERROR, error);
2264
2467
  _this9.submitCallErrorMetric(error);
@@ -2268,7 +2471,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2268
2471
  function (interval) {
2269
2472
  return undefined;
2270
2473
  }, this.getCorrelationId(), errData, this.handleRoapError.name, _constants.CALL_FILE);
2271
- _context15.next = 4;
2474
+ _context16.next = 4;
2272
2475
  return (0, _Utils.uploadLogs)({
2273
2476
  correlationId: this.correlationId,
2274
2477
  callId: this.callId,
@@ -2291,11 +2494,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2291
2494
  }
2292
2495
  case 5:
2293
2496
  case "end":
2294
- return _context15.stop();
2497
+ return _context16.stop();
2295
2498
  }
2296
- }, _callee15, this, [[1, 3]]);
2499
+ }, _callee16, this, [[1, 3]]);
2297
2500
  }));
2298
- function handleRoapError(_x12, _x13) {
2501
+ function handleRoapError(_x13, _x14) {
2299
2502
  return _handleRoapError.apply(this, arguments);
2300
2503
  }
2301
2504
  return handleRoapError;
@@ -2310,11 +2513,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2310
2513
  }, {
2311
2514
  key: "handleOutgoingRoapOffer",
2312
2515
  value: (function () {
2313
- var _handleOutgoingRoapOffer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee16(context, event) {
2516
+ var _handleOutgoingRoapOffer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee17(context, event) {
2314
2517
  var _this0 = this;
2315
- var message, res, errData, _t12;
2316
- return _regenerator.default.wrap(function (_context16) {
2317
- while (1) switch (_context16.prev = _context16.next) {
2518
+ var message, res, errData, _t13;
2519
+ return _regenerator.default.wrap(function (_context17) {
2520
+ while (1) switch (_context17.prev = _context17.next) {
2318
2521
  case 0:
2319
2522
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
2320
2523
  file: _constants.CALL_FILE,
@@ -2322,7 +2525,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2322
2525
  });
2323
2526
  message = event.data;
2324
2527
  if (message !== null && message !== void 0 && message.sdp) {
2325
- _context16.next = 1;
2528
+ _context17.next = 1;
2326
2529
  break;
2327
2530
  }
2328
2531
  _Logger.default.info('Initializing Offer...', {
@@ -2330,27 +2533,27 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2330
2533
  method: _constants.METHODS.HANDLE_OUTGOING_ROAP_OFFER
2331
2534
  });
2332
2535
  this.mediaConnection.initiateOffer();
2333
- return _context16.abrupt("return");
2536
+ return _context17.abrupt("return");
2334
2537
  case 1:
2335
- _context16.prev = 1;
2336
- _context16.next = 2;
2538
+ _context17.prev = 1;
2539
+ _context17.next = 2;
2337
2540
  return this.postMedia(message);
2338
2541
  case 2:
2339
- res = _context16.sent;
2542
+ res = _context17.sent;
2340
2543
  _Logger.default.log("Response code: ".concat(res.statusCode), {
2341
2544
  file: _constants.CALL_FILE,
2342
2545
  method: _constants.METHODS.HANDLE_OUTGOING_ROAP_OFFER
2343
2546
  });
2344
- _context16.next = 4;
2547
+ _context17.next = 4;
2345
2548
  break;
2346
2549
  case 3:
2347
- _context16.prev = 3;
2348
- _t12 = _context16["catch"](1);
2550
+ _context17.prev = 3;
2551
+ _t13 = _context17["catch"](1);
2349
2552
  _Logger.default.warn('Failed to send MediaOffer request', {
2350
2553
  file: _constants.CALL_FILE,
2351
2554
  method: _constants.METHODS.HANDLE_OUTGOING_ROAP_OFFER
2352
2555
  });
2353
- errData = _t12;
2556
+ errData = _t13;
2354
2557
  (0, _Utils.handleCallErrors)(this.getEmitterCallback(errData), _types.ERROR_LAYER.MEDIA, function (interval) {
2355
2558
  /* Start retry if only it is a midcall case */
2356
2559
  if (_this0.connected) {
@@ -2362,7 +2565,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2362
2565
  }, interval * 1000);
2363
2566
  }
2364
2567
  }, this.getCorrelationId(), errData, _constants.METHODS.HANDLE_OUTGOING_ROAP_OFFER, _constants.CALL_FILE);
2365
- _context16.next = 4;
2568
+ _context17.next = 4;
2366
2569
  return (0, _Utils.uploadLogs)({
2367
2570
  correlationId: this.correlationId,
2368
2571
  callId: this.callId,
@@ -2370,11 +2573,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2370
2573
  });
2371
2574
  case 4:
2372
2575
  case "end":
2373
- return _context16.stop();
2576
+ return _context17.stop();
2374
2577
  }
2375
- }, _callee16, this, [[1, 3]]);
2578
+ }, _callee17, this, [[1, 3]]);
2376
2579
  }));
2377
- function handleOutgoingRoapOffer(_x14, _x15) {
2580
+ function handleOutgoingRoapOffer(_x15, _x16) {
2378
2581
  return _handleOutgoingRoapOffer.apply(this, arguments);
2379
2582
  }
2380
2583
  return handleOutgoingRoapOffer;
@@ -2389,37 +2592,37 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2389
2592
  }, {
2390
2593
  key: "handleOutgoingRoapAnswer",
2391
2594
  value: (function () {
2392
- var _handleOutgoingRoapAnswer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee17(context, event) {
2595
+ var _handleOutgoingRoapAnswer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee18(context, event) {
2393
2596
  var _this1 = this;
2394
- var message, res, errData, _t13;
2395
- return _regenerator.default.wrap(function (_context17) {
2396
- while (1) switch (_context17.prev = _context17.next) {
2597
+ var message, res, errData, _t14;
2598
+ return _regenerator.default.wrap(function (_context18) {
2599
+ while (1) switch (_context18.prev = _context18.next) {
2397
2600
  case 0:
2398
2601
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
2399
2602
  file: _constants.CALL_FILE,
2400
2603
  method: _constants.METHODS.HANDLE_OUTGOING_ROAP_ANSWER
2401
2604
  });
2402
2605
  message = event.data;
2403
- _context17.prev = 1;
2606
+ _context18.prev = 1;
2404
2607
  message.seq = this.seq;
2405
- _context17.next = 2;
2608
+ _context18.next = 2;
2406
2609
  return this.postMedia(message);
2407
2610
  case 2:
2408
- res = _context17.sent;
2611
+ res = _context18.sent;
2409
2612
  _Logger.default.log("Response code: ".concat(res.statusCode), {
2410
2613
  file: _constants.CALL_FILE,
2411
2614
  method: _constants.METHODS.HANDLE_OUTGOING_ROAP_ANSWER
2412
2615
  });
2413
- _context17.next = 4;
2616
+ _context18.next = 4;
2414
2617
  break;
2415
2618
  case 3:
2416
- _context17.prev = 3;
2417
- _t13 = _context17["catch"](1);
2619
+ _context18.prev = 3;
2620
+ _t14 = _context18["catch"](1);
2418
2621
  _Logger.default.warn('Failed to send MediaAnswer request', {
2419
2622
  file: _constants.CALL_FILE,
2420
2623
  method: _constants.METHODS.HANDLE_OUTGOING_ROAP_ANSWER
2421
2624
  });
2422
- errData = _t13;
2625
+ errData = _t14;
2423
2626
  (0, _Utils.handleCallErrors)(this.getEmitterCallback(errData), _types.ERROR_LAYER.MEDIA, function (interval) {
2424
2627
  /* Start retry if only it is a midcall case */
2425
2628
  if (_this1.connected) {
@@ -2431,7 +2634,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2431
2634
  }, interval * 1000);
2432
2635
  }
2433
2636
  }, this.getCorrelationId(), errData, _constants.METHODS.HANDLE_OUTGOING_ROAP_ANSWER, _constants.CALL_FILE);
2434
- _context17.next = 4;
2637
+ _context18.next = 4;
2435
2638
  return (0, _Utils.uploadLogs)({
2436
2639
  correlationId: this.correlationId,
2437
2640
  callId: this.callId,
@@ -2439,11 +2642,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2439
2642
  });
2440
2643
  case 4:
2441
2644
  case "end":
2442
- return _context17.stop();
2645
+ return _context18.stop();
2443
2646
  }
2444
- }, _callee17, this, [[1, 3]]);
2647
+ }, _callee18, this, [[1, 3]]);
2445
2648
  }));
2446
- function handleOutgoingRoapAnswer(_x16, _x17) {
2649
+ function handleOutgoingRoapAnswer(_x17, _x18) {
2447
2650
  return _handleOutgoingRoapAnswer.apply(this, arguments);
2448
2651
  }
2449
2652
  return handleOutgoingRoapAnswer;
@@ -2515,8 +2718,40 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2515
2718
  }
2516
2719
  }
2517
2720
  }, {
2518
- key: "initMediaConnection",
2519
- value: /* istanbul ignore next */
2721
+ key: "getIceCandidatesTimeout",
2722
+ value:
2723
+ /**
2724
+ * Determines the ICE candidate gathering timeout to use for the media connection.
2725
+ *
2726
+ * When the remote peer advertises itself as an ICE-lite agent (a=ice-lite) in its ROAP offer,
2727
+ * it only provides host candidates and does not perform connectivity checks, so there is no
2728
+ * need to wait the full ICE_CANDIDATES_TIMEOUT for local candidate gathering. In that case a
2729
+ * shorter timeout is returned to avoid stalling media negotiation for ~3 seconds.
2730
+ *
2731
+ * This optimization is opt-in: it only applies when the SDK is initialized with
2732
+ * `iceGathering.reduceTimeoutForIceLite` set to `true`. Otherwise the default
2733
+ * ICE_CANDIDATES_TIMEOUT is always used.
2734
+ *
2735
+ * @returns The ICE candidates timeout in milliseconds.
2736
+ */
2737
+ function getIceCandidatesTimeout() {
2738
+ var _this$iceGatheringCon, _this$remoteRoapMessa2;
2739
+ if (!((_this$iceGatheringCon = this.iceGatheringConfig) !== null && _this$iceGatheringCon !== void 0 && _this$iceGatheringCon.reduceTimeoutForIceLite)) {
2740
+ return _constants.ICE_CANDIDATES_TIMEOUT;
2741
+ }
2742
+ var remoteSdp = (_this$remoteRoapMessa2 = this.remoteRoapMessage) === null || _this$remoteRoapMessa2 === void 0 ? void 0 : _this$remoteRoapMessa2.sdp;
2743
+ if (remoteSdp && /^a=ice-lite[\r\n]*$/im.test(remoteSdp)) {
2744
+ var _this$iceGatheringCon2;
2745
+ _Logger.default.info('Remote offer advertises ice-lite, using reduced ICE candidates timeout', {
2746
+ file: _constants.CALL_FILE,
2747
+ method: _constants.METHODS.INIT_MEDIA_CONNECTION
2748
+ });
2749
+ return (_this$iceGatheringCon2 = this.iceGatheringConfig.iceLiteTimeout) !== null && _this$iceGatheringCon2 !== void 0 ? _this$iceGatheringCon2 : _constants.ICE_LITE_CANDIDATES_TIMEOUT;
2750
+ }
2751
+ return _constants.ICE_CANDIDATES_TIMEOUT;
2752
+ }
2753
+
2754
+ /* istanbul ignore next */
2520
2755
  /**
2521
2756
  * Initialize Media Connection.
2522
2757
  *
@@ -2524,12 +2759,14 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2524
2759
  * @param settings.localAudioTrack - MediaStreamTrack.
2525
2760
  * @param settings.debugId - String.
2526
2761
  */
2527
- function initMediaConnection(localAudioTrack, debugId) {
2762
+ }, {
2763
+ key: "initMediaConnection",
2764
+ value: function initMediaConnection(localAudioTrack, debugId) {
2528
2765
  var _this10 = this;
2529
2766
  var mediaConnection = new _internalMediaCore.RoapMediaConnection({
2530
2767
  skipInactiveTransceivers: true,
2531
2768
  iceServers: [],
2532
- iceCandidatesTimeout: _constants.ICE_CANDIDATES_TIMEOUT,
2769
+ iceCandidatesTimeout: this.getIceCandidatesTimeout(),
2533
2770
  sdpMunging: {
2534
2771
  convertPort9to0: true,
2535
2772
  addContentSlides: false,
@@ -2603,10 +2840,10 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2603
2840
  * @param localAudioStream - The local audio stream for the call.
2604
2841
  */
2605
2842
  function () {
2606
- var _answer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee18(localAudioStream) {
2843
+ var _answer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee19(localAudioStream) {
2607
2844
  var localAudioTrack;
2608
- return _regenerator.default.wrap(function (_context18) {
2609
- while (1) switch (_context18.prev = _context18.next) {
2845
+ return _regenerator.default.wrap(function (_context19) {
2846
+ while (1) switch (_context19.prev = _context19.next) {
2610
2847
  case 0:
2611
2848
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with stream"), {
2612
2849
  file: _constants.CALL_FILE,
@@ -2615,7 +2852,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2615
2852
  this.localAudioStream = localAudioStream;
2616
2853
  localAudioTrack = localAudioStream.outputStream.getAudioTracks()[0];
2617
2854
  if (localAudioTrack) {
2618
- _context18.next = 1;
2855
+ _context19.next = 1;
2619
2856
  break;
2620
2857
  }
2621
2858
  _Logger.default.warn("Did not find a local track while answering the call ".concat(this.getCorrelationId()), {
@@ -2626,13 +2863,14 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2626
2863
  this.sendCallStateMachineEvt({
2627
2864
  type: 'E_SEND_CALL_DISCONNECT'
2628
2865
  });
2629
- return _context18.abrupt("return");
2866
+ return _context19.abrupt("return");
2630
2867
  case 1:
2631
2868
  localAudioTrack.enabled = true;
2632
2869
  if (!this.mediaConnection) {
2633
2870
  this.initMediaConnection(localAudioTrack);
2634
2871
  this.mediaRoapEventsListener();
2635
2872
  this.mediaTrackListener();
2873
+ this.mediaIceEventsListener();
2636
2874
  this.registerListeners(localAudioStream);
2637
2875
  }
2638
2876
  if (this.callStateMachine.state.value === 'S_SEND_CALL_PROGRESS') {
@@ -2647,11 +2885,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2647
2885
  }
2648
2886
  case 2:
2649
2887
  case "end":
2650
- return _context18.stop();
2888
+ return _context19.stop();
2651
2889
  }
2652
- }, _callee18, this);
2890
+ }, _callee19, this);
2653
2891
  }));
2654
- function answer(_x18) {
2892
+ function answer(_x19) {
2655
2893
  return _answer.apply(this, arguments);
2656
2894
  }
2657
2895
  return answer;
@@ -2664,10 +2902,10 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2664
2902
  }, {
2665
2903
  key: "dial",
2666
2904
  value: (function () {
2667
- var _dial = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee19(localAudioStream) {
2905
+ var _dial = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee20(localAudioStream) {
2668
2906
  var localAudioTrack;
2669
- return _regenerator.default.wrap(function (_context19) {
2670
- while (1) switch (_context19.prev = _context19.next) {
2907
+ return _regenerator.default.wrap(function (_context20) {
2908
+ while (1) switch (_context20.prev = _context20.next) {
2671
2909
  case 0:
2672
2910
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with stream"), {
2673
2911
  file: _constants.CALL_FILE,
@@ -2676,7 +2914,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2676
2914
  this.localAudioStream = localAudioStream;
2677
2915
  localAudioTrack = localAudioStream.outputStream.getAudioTracks()[0];
2678
2916
  if (localAudioTrack) {
2679
- _context19.next = 1;
2917
+ _context20.next = 1;
2680
2918
  break;
2681
2919
  }
2682
2920
  _Logger.default.warn("Did not find a local track while dialing the call ".concat(this.getCorrelationId()), {
@@ -2685,13 +2923,14 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2685
2923
  });
2686
2924
  this.deleteCb(this.getCorrelationId());
2687
2925
  this.emit(_types3.CALL_EVENT_KEYS.DISCONNECT, this.getCorrelationId());
2688
- return _context19.abrupt("return");
2926
+ return _context20.abrupt("return");
2689
2927
  case 1:
2690
2928
  localAudioTrack.enabled = true;
2691
2929
  if (!this.mediaConnection) {
2692
2930
  this.initMediaConnection(localAudioTrack);
2693
2931
  this.mediaRoapEventsListener();
2694
2932
  this.mediaTrackListener();
2933
+ this.mediaIceEventsListener();
2695
2934
  this.registerListeners(localAudioStream);
2696
2935
  }
2697
2936
  if (this.mediaStateMachine.state.value === 'S_ROAP_IDLE') {
@@ -2706,11 +2945,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2706
2945
  }
2707
2946
  case 2:
2708
2947
  case "end":
2709
- return _context19.stop();
2948
+ return _context20.stop();
2710
2949
  }
2711
- }, _callee19, this);
2950
+ }, _callee20, this);
2712
2951
  }));
2713
- function dial(_x19) {
2952
+ function dial(_x20) {
2714
2953
  return _dial.apply(this, arguments);
2715
2954
  }
2716
2955
  return dial;
@@ -2724,17 +2963,15 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2724
2963
  * @param state -.
2725
2964
  */
2726
2965
  function () {
2727
- var _patch = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee20(state) {
2728
- return _regenerator.default.wrap(function (_context20) {
2729
- while (1) switch (_context20.prev = _context20.next) {
2966
+ var _patch = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee21(state) {
2967
+ return _regenerator.default.wrap(function (_context21) {
2968
+ while (1) switch (_context21.prev = _context21.next) {
2730
2969
  case 0:
2731
2970
  _Logger.default.info("Send a PATCH for ".concat(state, " to Webex Calling"), {
2732
2971
  file: _constants.CALL_FILE,
2733
2972
  method: 'patch'
2734
2973
  });
2735
- return _context20.abrupt("return", this.webex.request({
2736
- // Sample uri: http://localhost/api/v1/calling/web/devices/{deviceid}/calls/{callid}
2737
-
2974
+ return _context21.abrupt("return", this.apiRequest.makeRequest({
2738
2975
  uri: "".concat(this.mobiusUrl).concat(_constants.DEVICES_ENDPOINT_RESOURCE, "/").concat(this.deviceId, "/").concat(_constants.CALLS_ENDPOINT_RESOURCE, "/").concat(this.callId),
2739
2976
  method: _types2.HTTP_METHODS.PATCH,
2740
2977
  service: _types2.ALLOWED_SERVICES.MOBIUS,
@@ -2751,11 +2988,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2751
2988
  }));
2752
2989
  case 1:
2753
2990
  case "end":
2754
- return _context20.stop();
2991
+ return _context21.stop();
2755
2992
  }
2756
- }, _callee20, this);
2993
+ }, _callee21, this);
2757
2994
  }));
2758
- function patch(_x20) {
2995
+ function patch(_x21) {
2759
2996
  return _patch.apply(this, arguments);
2760
2997
  }
2761
2998
  return patch;
@@ -2770,10 +3007,10 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2770
3007
  }, {
2771
3008
  key: "postSSRequest",
2772
3009
  value: (function () {
2773
- var _postSSRequest = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee21(context, type) {
2774
- var request, transferContext, _t14;
2775
- return _regenerator.default.wrap(function (_context21) {
2776
- while (1) switch (_context21.prev = _context21.next) {
3010
+ var _postSSRequest = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee22(context, type) {
3011
+ var request, transferContext, _t15;
3012
+ return _regenerator.default.wrap(function (_context22) {
3013
+ while (1) switch (_context22.prev = _context22.next) {
2777
3014
  case 0:
2778
3015
  request = {
2779
3016
  uri: "".concat(this.mobiusUrl).concat(_constants2.SERVICES_ENDPOINT),
@@ -2788,15 +3025,15 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2788
3025
  callId: this.callId
2789
3026
  }
2790
3027
  };
2791
- _t14 = type;
2792
- _context21.next = _t14 === _types3.SUPPLEMENTARY_SERVICES.HOLD ? 1 : _t14 === _types3.SUPPLEMENTARY_SERVICES.RESUME ? 2 : _t14 === _types3.SUPPLEMENTARY_SERVICES.TRANSFER ? 3 : 4;
3028
+ _t15 = type;
3029
+ _context22.next = _t15 === _types3.SUPPLEMENTARY_SERVICES.HOLD ? 1 : _t15 === _types3.SUPPLEMENTARY_SERVICES.RESUME ? 2 : _t15 === _types3.SUPPLEMENTARY_SERVICES.TRANSFER ? 3 : 4;
2793
3030
  break;
2794
3031
  case 1:
2795
3032
  request.uri = "".concat(request.uri, "/").concat(_constants.CALL_HOLD_SERVICE, "/").concat(_constants.HOLD_ENDPOINT);
2796
- return _context21.abrupt("continue", 5);
3033
+ return _context22.abrupt("continue", 5);
2797
3034
  case 2:
2798
3035
  request.uri = "".concat(request.uri, "/").concat(_constants.CALL_HOLD_SERVICE, "/").concat(_constants.RESUME_ENDPOINT);
2799
- return _context21.abrupt("continue", 5);
3036
+ return _context22.abrupt("continue", 5);
2800
3037
  case 3:
2801
3038
  request.uri = "".concat(request.uri, "/").concat(_constants.CALL_TRANSFER_SERVICE, "/").concat(_constants.TRANSFER_ENDPOINT);
2802
3039
  transferContext = context;
@@ -2815,21 +3052,21 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2815
3052
  transferType: _types4.TransferType.CONSULT
2816
3053
  });
2817
3054
  }
2818
- return _context21.abrupt("continue", 5);
3055
+ return _context22.abrupt("continue", 5);
2819
3056
  case 4:
2820
3057
  _Logger.default.warn("Unknown type for PUT request: ".concat(type), {
2821
3058
  file: _constants.CALL_FILE,
2822
3059
  method: _constants.METHODS.POST_SS_REQUEST
2823
3060
  });
2824
3061
  case 5:
2825
- return _context21.abrupt("return", this.webex.request(request));
3062
+ return _context22.abrupt("return", this.apiRequest.makeRequest(request));
2826
3063
  case 6:
2827
3064
  case "end":
2828
- return _context21.stop();
3065
+ return _context22.stop();
2829
3066
  }
2830
- }, _callee21, this);
3067
+ }, _callee22, this);
2831
3068
  }));
2832
- function postSSRequest(_x21, _x22) {
3069
+ function postSSRequest(_x22, _x23) {
2833
3070
  return _postSSRequest.apply(this, arguments);
2834
3071
  }
2835
3072
  return postSSRequest;
@@ -2841,11 +3078,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2841
3078
  }, {
2842
3079
  key: "postStatus",
2843
3080
  value: (function () {
2844
- var _postStatus = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee22() {
2845
- return _regenerator.default.wrap(function (_context22) {
2846
- while (1) switch (_context22.prev = _context22.next) {
3081
+ var _postStatus = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee23() {
3082
+ return _regenerator.default.wrap(function (_context23) {
3083
+ while (1) switch (_context23.prev = _context23.next) {
2847
3084
  case 0:
2848
- return _context22.abrupt("return", this.webex.request({
3085
+ return _context23.abrupt("return", this.apiRequest.makeRequest({
2849
3086
  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),
2850
3087
  method: _types2.HTTP_METHODS.POST,
2851
3088
  service: _types2.ALLOWED_SERVICES.MOBIUS,
@@ -2860,9 +3097,9 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2860
3097
  }));
2861
3098
  case 1:
2862
3099
  case "end":
2863
- return _context22.stop();
3100
+ return _context23.stop();
2864
3101
  }
2865
- }, _callee22, this);
3102
+ }, _callee23, this);
2866
3103
  }));
2867
3104
  function postStatus() {
2868
3105
  return _postStatus.apply(this, arguments);
@@ -2881,14 +3118,14 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2881
3118
  }, {
2882
3119
  key: "completeTransfer",
2883
3120
  value: (function () {
2884
- var _completeTransfer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee23(transferType, transferCallId, transferTarget) {
3121
+ var _completeTransfer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee24(transferType, transferCallId, transferTarget) {
2885
3122
  var _this11 = this;
2886
- var context, errData, _context23, _errData, _t15, _t16;
2887
- return _regenerator.default.wrap(function (_context24) {
2888
- while (1) switch (_context24.prev = _context24.next) {
3123
+ var context, errData, _context24, _errData, _t16, _t17;
3124
+ return _regenerator.default.wrap(function (_context25) {
3125
+ while (1) switch (_context25.prev = _context25.next) {
2889
3126
  case 0:
2890
3127
  if (!(transferType === _types4.TransferType.BLIND && transferTarget)) {
2891
- _context24.next = 5;
3128
+ _context25.next = 5;
2892
3129
  break;
2893
3130
  }
2894
3131
  /* blind transfer */
@@ -2901,8 +3138,8 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2901
3138
  transferorCallId: this.getCallId(),
2902
3139
  destination: transferTarget
2903
3140
  };
2904
- _context24.prev = 1;
2905
- _context24.next = 2;
3141
+ _context25.prev = 1;
3142
+ _context25.next = 2;
2906
3143
  return this.postSSRequest(context, _types3.SUPPLEMENTARY_SERVICES.TRANSFER);
2907
3144
  case 2:
2908
3145
  _Logger.default.info("Blind Transfer completed for correlationId ".concat(this.getCorrelationId()), {
@@ -2910,16 +3147,16 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2910
3147
  method: _constants.METHODS.COMPLETE_TRANSFER
2911
3148
  });
2912
3149
  this.metricManager.submitCallMetric(_types5.METRIC_EVENT.CALL, _types5.TRANSFER_ACTION.BLIND, _types5.METRIC_TYPE.BEHAVIORAL, this.getCallId(), this.getCorrelationId(), undefined);
2913
- _context24.next = 4;
3150
+ _context25.next = 4;
2914
3151
  break;
2915
3152
  case 3:
2916
- _context24.prev = 3;
2917
- _t15 = _context24["catch"](1);
3153
+ _context25.prev = 3;
3154
+ _t16 = _context25["catch"](1);
2918
3155
  _Logger.default.warn("Blind Transfer failed for correlationId ".concat(this.getCorrelationId()), {
2919
3156
  file: _constants.CALL_FILE,
2920
3157
  method: _constants.METHODS.COMPLETE_TRANSFER
2921
3158
  });
2922
- errData = _t15;
3159
+ errData = _t16;
2923
3160
  (0, _Utils.handleCallErrors)(function (error) {
2924
3161
  _this11.emit(_types3.CALL_EVENT_KEYS.TRANSFER_ERROR, error);
2925
3162
  _this11.submitCallErrorMetric(error, _types5.TRANSFER_ACTION.BLIND);
@@ -2929,18 +3166,18 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2929
3166
  function (interval) {
2930
3167
  return undefined;
2931
3168
  }, this.getCorrelationId(), errData, _constants.METHODS.COMPLETE_TRANSFER, _constants.CALL_FILE);
2932
- _context24.next = 4;
3169
+ _context25.next = 4;
2933
3170
  return (0, _Utils.uploadLogs)({
2934
3171
  correlationId: this.correlationId,
2935
3172
  callId: this.callId,
2936
3173
  broadworksCorrelationInfo: this.broadworksCorrelationInfo
2937
3174
  });
2938
3175
  case 4:
2939
- _context24.next = 11;
3176
+ _context25.next = 11;
2940
3177
  break;
2941
3178
  case 5:
2942
3179
  if (!(transferType === _types4.TransferType.CONSULT && transferCallId)) {
2943
- _context24.next = 10;
3180
+ _context25.next = 10;
2944
3181
  break;
2945
3182
  }
2946
3183
  /* Consult transfer */
@@ -2949,29 +3186,29 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2949
3186
  file: _constants.CALL_FILE,
2950
3187
  method: _constants.METHODS.COMPLETE_TRANSFER
2951
3188
  });
2952
- _context23 = {
3189
+ _context24 = {
2953
3190
  transferorCallId: this.getCallId(),
2954
3191
  transferToCallId: transferCallId
2955
3192
  };
2956
- _context24.prev = 6;
2957
- _context24.next = 7;
2958
- return this.postSSRequest(_context23, _types3.SUPPLEMENTARY_SERVICES.TRANSFER);
3193
+ _context25.prev = 6;
3194
+ _context25.next = 7;
3195
+ return this.postSSRequest(_context24, _types3.SUPPLEMENTARY_SERVICES.TRANSFER);
2959
3196
  case 7:
2960
3197
  _Logger.default.info("Consult Transfer completed for correlationId ".concat(this.getCorrelationId()), {
2961
3198
  file: _constants.CALL_FILE,
2962
3199
  method: _constants.METHODS.COMPLETE_TRANSFER
2963
3200
  });
2964
3201
  this.metricManager.submitCallMetric(_types5.METRIC_EVENT.CALL, _types5.TRANSFER_ACTION.CONSULT, _types5.METRIC_TYPE.BEHAVIORAL, this.getCallId(), this.getCorrelationId(), undefined);
2965
- _context24.next = 9;
3202
+ _context25.next = 9;
2966
3203
  break;
2967
3204
  case 8:
2968
- _context24.prev = 8;
2969
- _t16 = _context24["catch"](6);
3205
+ _context25.prev = 8;
3206
+ _t17 = _context25["catch"](6);
2970
3207
  _Logger.default.warn("Consult Transfer failed for correlationId ".concat(this.getCorrelationId()), {
2971
3208
  file: _constants.CALL_FILE,
2972
3209
  method: _constants.METHODS.COMPLETE_TRANSFER
2973
3210
  });
2974
- _errData = _t16;
3211
+ _errData = _t17;
2975
3212
  (0, _Utils.handleCallErrors)(function (error) {
2976
3213
  _this11.emit(_types3.CALL_EVENT_KEYS.TRANSFER_ERROR, error);
2977
3214
  _this11.submitCallErrorMetric(error, _types5.TRANSFER_ACTION.CONSULT);
@@ -2981,14 +3218,14 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2981
3218
  function (interval) {
2982
3219
  return undefined;
2983
3220
  }, this.getCorrelationId(), _errData, _constants.METHODS.COMPLETE_TRANSFER, _constants.CALL_FILE);
2984
- _context24.next = 9;
3221
+ _context25.next = 9;
2985
3222
  return (0, _Utils.uploadLogs)({
2986
3223
  correlationId: this.correlationId,
2987
3224
  callId: this.callId,
2988
3225
  broadworksCorrelationInfo: this.broadworksCorrelationInfo
2989
3226
  });
2990
3227
  case 9:
2991
- _context24.next = 11;
3228
+ _context25.next = 11;
2992
3229
  break;
2993
3230
  case 10:
2994
3231
  _Logger.default.warn("Invalid information received, transfer failed for correlationId: ".concat(this.getCorrelationId()), {
@@ -2997,11 +3234,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2997
3234
  });
2998
3235
  case 11:
2999
3236
  case "end":
3000
- return _context24.stop();
3237
+ return _context25.stop();
3001
3238
  }
3002
- }, _callee23, this, [[1, 3], [6, 8]]);
3239
+ }, _callee24, this, [[1, 3], [6, 8]]);
3003
3240
  }));
3004
- function completeTransfer(_x23, _x24, _x25) {
3241
+ function completeTransfer(_x24, _x25, _x26) {
3005
3242
  return _completeTransfer.apply(this, arguments);
3006
3243
  }
3007
3244
  return completeTransfer;
@@ -3013,32 +3250,32 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
3013
3250
  }, {
3014
3251
  key: "getCallStats",
3015
3252
  value: (function () {
3016
- var _getCallStats = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee24() {
3017
- var stats, _t17;
3018
- return _regenerator.default.wrap(function (_context25) {
3019
- while (1) switch (_context25.prev = _context25.next) {
3253
+ var _getCallStats = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee25() {
3254
+ var stats, _t18;
3255
+ return _regenerator.default.wrap(function (_context26) {
3256
+ while (1) switch (_context26.prev = _context26.next) {
3020
3257
  case 0:
3021
- _context25.prev = 0;
3022
- _context25.next = 1;
3258
+ _context26.prev = 0;
3259
+ _context26.next = 1;
3023
3260
  return this.mediaConnection.getStats();
3024
3261
  case 1:
3025
- stats = _context25.sent;
3026
- _context25.next = 3;
3262
+ stats = _context26.sent;
3263
+ _context26.next = 3;
3027
3264
  break;
3028
3265
  case 2:
3029
- _context25.prev = 2;
3030
- _t17 = _context25["catch"](0);
3266
+ _context26.prev = 2;
3267
+ _t18 = _context26["catch"](0);
3031
3268
  _Logger.default.warn('Stats collection failed, using dummy stats', {
3032
3269
  file: _constants.CALL_FILE,
3033
3270
  method: _constants.METHODS.GET_CALL_STATS
3034
3271
  });
3035
3272
  case 3:
3036
- return _context25.abrupt("return", (0, _Utils.parseMediaQualityStatistics)(stats));
3273
+ return _context26.abrupt("return", (0, _Utils.parseMediaQualityStatistics)(stats));
3037
3274
  case 4:
3038
3275
  case "end":
3039
- return _context25.stop();
3276
+ return _context26.stop();
3040
3277
  }
3041
- }, _callee24, this, [[0, 2]]);
3278
+ }, _callee25, this, [[0, 2]]);
3042
3279
  }));
3043
3280
  function getCallStats() {
3044
3281
  return _getCallStats.apply(this, arguments);
@@ -3054,15 +3291,15 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
3054
3291
  }, {
3055
3292
  key: "postMedia",
3056
3293
  value: (function () {
3057
- var _postMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee25(roapMessage) {
3058
- return _regenerator.default.wrap(function (_context26) {
3059
- while (1) switch (_context26.prev = _context26.next) {
3294
+ var _postMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee26(roapMessage) {
3295
+ return _regenerator.default.wrap(function (_context27) {
3296
+ while (1) switch (_context27.prev = _context27.next) {
3060
3297
  case 0:
3061
3298
  _Logger.default.log('Posting message to Webex Calling', {
3062
3299
  file: _constants.CALL_FILE,
3063
3300
  method: _constants.METHODS.POST_MEDIA
3064
3301
  });
3065
- return _context26.abrupt("return", this.webex.request({
3302
+ return _context27.abrupt("return", this.apiRequest.makeRequest({
3066
3303
  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),
3067
3304
  method: _types2.HTTP_METHODS.POST,
3068
3305
  service: _types2.ALLOWED_SERVICES.MOBIUS,
@@ -3081,11 +3318,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
3081
3318
  }));
3082
3319
  case 1:
3083
3320
  case "end":
3084
- return _context26.stop();
3321
+ return _context27.stop();
3085
3322
  }
3086
- }, _callee25, this);
3323
+ }, _callee26, this);
3087
3324
  }));
3088
- function postMedia(_x26) {
3325
+ function postMedia(_x27) {
3089
3326
  return _postMedia.apply(this, arguments);
3090
3327
  }
3091
3328
  return postMedia;
@@ -3098,90 +3335,8 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
3098
3335
  }, {
3099
3336
  key: "mediaRoapEventsListener",
3100
3337
  value: function mediaRoapEventsListener() {
3101
- var _this12 = this;
3102
- this.mediaConnection.on(_internalMediaCore.MediaConnectionEventNames.ROAP_MESSAGE_TO_SEND,
3103
- /*#__PURE__*/
3104
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3105
- function () {
3106
- var _ref0 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee26(event) {
3107
- var _event$roapMessage, _event$roapMessage2;
3108
- var mediaOk, sdpVideoPortZero, _t18;
3109
- return _regenerator.default.wrap(function (_context27) {
3110
- while (1) switch (_context27.prev = _context27.next) {
3111
- case 0:
3112
- _Logger.default.info("ROAP message to send (rcv from MEDIA-SDK) :\n \n type: ".concat((_event$roapMessage = event.roapMessage) === null || _event$roapMessage === void 0 ? void 0 : _event$roapMessage.messageType, ", seq: ").concat(event.roapMessage.seq, " , version: ").concat(event.roapMessage.version), {
3113
- file: _constants.CALL_FILE,
3114
- method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
3115
- });
3116
- _Logger.default.info("SDP message to send : \n ".concat((_event$roapMessage2 = event.roapMessage) === null || _event$roapMessage2 === void 0 ? void 0 : _event$roapMessage2.sdp), {
3117
- file: _constants.CALL_FILE,
3118
- method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
3119
- });
3120
- _t18 = event.roapMessage.messageType;
3121
- _context27.next = _t18 === _types4.RoapScenario.OK ? 1 : _t18 === _types4.RoapScenario.OFFER ? 2 : _t18 === _types4.RoapScenario.ANSWER ? 3 : _t18 === _types4.RoapScenario.ERROR ? 4 : _t18 === _types4.RoapScenario.OFFER_RESPONSE ? 5 : 6;
3122
- break;
3123
- case 1:
3124
- mediaOk = {
3125
- received: false,
3126
- message: event.roapMessage
3127
- };
3128
- _this12.sendMediaStateMachineEvt({
3129
- type: 'E_ROAP_OK',
3130
- data: mediaOk
3131
- });
3132
- return _context27.abrupt("continue", 6);
3133
- case 2:
3134
- // TODO: Remove these after the Media-Core adds the fix
3135
- // Check if at least one IPv6 "c=" line is present
3136
- _Logger.default.info("before modifying sdp: ".concat(event.roapMessage.sdp), {
3137
- file: _constants.CALL_FILE,
3138
- method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
3139
- });
3140
- event.roapMessage.sdp = (0, _Utils.modifySdpForIPv4)(event.roapMessage.sdp);
3141
- sdpVideoPortZero = event.roapMessage.sdp.replace(/^m=(video) (?:\d+) /gim, 'm=$1 0 ');
3142
- _Logger.default.info("after modification sdp: ".concat(sdpVideoPortZero), {
3143
- file: _constants.CALL_FILE,
3144
- method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
3145
- });
3146
- event.roapMessage.sdp = sdpVideoPortZero;
3147
- _this12.localRoapMessage = event.roapMessage;
3148
- _this12.sendCallStateMachineEvt({
3149
- type: 'E_SEND_CALL_SETUP',
3150
- data: event.roapMessage
3151
- });
3152
- return _context27.abrupt("continue", 6);
3153
- case 3:
3154
- event.roapMessage.sdp = (0, _Utils.modifySdpForIPv4)(event.roapMessage.sdp);
3155
- _this12.localRoapMessage = event.roapMessage;
3156
- _this12.sendMediaStateMachineEvt({
3157
- type: 'E_SEND_ROAP_ANSWER',
3158
- data: event.roapMessage
3159
- });
3160
- return _context27.abrupt("continue", 6);
3161
- case 4:
3162
- _this12.sendMediaStateMachineEvt({
3163
- type: 'E_ROAP_ERROR',
3164
- data: event.roapMessage
3165
- });
3166
- return _context27.abrupt("continue", 6);
3167
- case 5:
3168
- event.roapMessage.sdp = (0, _Utils.modifySdpForIPv4)(event.roapMessage.sdp);
3169
- _this12.localRoapMessage = event.roapMessage;
3170
- _this12.sendMediaStateMachineEvt({
3171
- type: 'E_SEND_ROAP_OFFER',
3172
- data: event.roapMessage
3173
- });
3174
- return _context27.abrupt("continue", 6);
3175
- case 6:
3176
- case "end":
3177
- return _context27.stop();
3178
- }
3179
- }, _callee26);
3180
- }));
3181
- return function (_x27) {
3182
- return _ref0.apply(this, arguments);
3183
- };
3184
- }());
3338
+ this.mediaConnection.on(_internalMediaCore.MediaConnectionEventNames.ROAP_MESSAGE_TO_SEND, this.handleMediaRoapEvent);
3339
+ this.mediaConnection.on(_internalMediaCore.MediaConnectionEventNames.ROAP_FAILURE, this.handleRoapFailure);
3185
3340
  }
3186
3341
 
3187
3342
  /* istanbul ignore next */
@@ -3191,13 +3346,34 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
3191
3346
  }, {
3192
3347
  key: "mediaTrackListener",
3193
3348
  value: function mediaTrackListener() {
3194
- var _this13 = this;
3195
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3196
- this.mediaConnection.on(_internalMediaCore.MediaConnectionEventNames.REMOTE_TRACK_ADDED, function (e) {
3197
- if (e.type === _types3.MEDIA_CONNECTION_EVENT_KEYS.MEDIA_TYPE_AUDIO) {
3198
- _this13.emit(_types3.CALL_EVENT_KEYS.REMOTE_MEDIA, e.track);
3199
- }
3200
- });
3349
+ this.mediaConnection.on(_internalMediaCore.MediaConnectionEventNames.REMOTE_TRACK_ADDED, this.handleRemoteTrackAdded);
3350
+ }
3351
+
3352
+ /* istanbul ignore next */
3353
+ /**
3354
+ * Setup listeners for ICE-related media connection events.
3355
+ */
3356
+ }, {
3357
+ key: "mediaIceEventsListener",
3358
+ value: function mediaIceEventsListener() {
3359
+ this.mediaConnection.on(_internalMediaCore.MediaConnectionEventNames.ICE_GATHERING_STATE_CHANGED, this.handleIceGatheringStateChanged);
3360
+ this.mediaConnection.on(_internalMediaCore.MediaConnectionEventNames.PEER_CONNECTION_STATE_CHANGED, this.handlePeerConnectionStateChanged);
3361
+ this.mediaConnection.on(_internalMediaCore.MediaConnectionEventNames.ICE_CONNECTION_STATE_CHANGED, this.handleIceConnectionStateChanged);
3362
+ this.mediaConnection.on(_internalMediaCore.MediaConnectionEventNames.ICE_CANDIDATE_ERROR, this.handleIceCandidateError);
3363
+ }
3364
+ }, {
3365
+ key: "unregisterMediaConnectionListeners",
3366
+ value: function unregisterMediaConnectionListeners() {
3367
+ if (!this.mediaConnection || typeof this.mediaConnection.off !== 'function') {
3368
+ return;
3369
+ }
3370
+ this.mediaConnection.off(_internalMediaCore.MediaConnectionEventNames.ROAP_MESSAGE_TO_SEND, this.handleMediaRoapEvent);
3371
+ this.mediaConnection.off(_internalMediaCore.MediaConnectionEventNames.ROAP_FAILURE, this.handleRoapFailure);
3372
+ this.mediaConnection.off(_internalMediaCore.MediaConnectionEventNames.REMOTE_TRACK_ADDED, this.handleRemoteTrackAdded);
3373
+ this.mediaConnection.off(_internalMediaCore.MediaConnectionEventNames.ICE_GATHERING_STATE_CHANGED, this.handleIceGatheringStateChanged);
3374
+ this.mediaConnection.off(_internalMediaCore.MediaConnectionEventNames.PEER_CONNECTION_STATE_CHANGED, this.handlePeerConnectionStateChanged);
3375
+ this.mediaConnection.off(_internalMediaCore.MediaConnectionEventNames.ICE_CONNECTION_STATE_CHANGED, this.handleIceConnectionStateChanged);
3376
+ this.mediaConnection.off(_internalMediaCore.MediaConnectionEventNames.ICE_CANDIDATE_ERROR, this.handleIceCandidateError);
3201
3377
  }
3202
3378
  }, {
3203
3379
  key: "unregisterListeners",
@@ -3205,8 +3381,8 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
3205
3381
  if (this.localAudioStream) {
3206
3382
  var effect = this.localAudioStream.getEffectByKind(_constants.NOISE_REDUCTION_EFFECT);
3207
3383
  if (effect) {
3208
- effect.off(_webMediaEffects.EffectEvent.Enabled, this.onEffectEnabled);
3209
- effect.off(_webMediaEffects.EffectEvent.Disabled, this.onEffectDisabled);
3384
+ effect.off(_mediaHelpers.EffectEvent.Enabled, this.onEffectEnabled);
3385
+ effect.off(_mediaHelpers.EffectEvent.Disabled, this.onEffectDisabled);
3210
3386
  }
3211
3387
  this.localAudioStream.off(_internalMediaCore.LocalStreamEventNames.EffectAdded, this.registerEffectListener);
3212
3388
  this.localAudioStream.off(_internalMediaCore.LocalStreamEventNames.OutputTrackChange, this.updateTrack);
@@ -3219,8 +3395,8 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
3219
3395
  localAudioStream.on(_internalMediaCore.LocalStreamEventNames.EffectAdded, this.registerEffectListener);
3220
3396
  var effect = localAudioStream.getEffectByKind(_constants.NOISE_REDUCTION_EFFECT);
3221
3397
  if (effect) {
3222
- effect.on(_webMediaEffects.EffectEvent.Enabled, this.onEffectEnabled);
3223
- effect.on(_webMediaEffects.EffectEvent.Disabled, this.onEffectDisabled);
3398
+ effect.on(_mediaHelpers.EffectEvent.Enabled, this.onEffectEnabled);
3399
+ effect.on(_mediaHelpers.EffectEvent.Disabled, this.onEffectDisabled);
3224
3400
  if (effect.isEnabled) {
3225
3401
  this.onEffectEnabled();
3226
3402
  }
@@ -3238,7 +3414,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
3238
3414
  return this.getCallStats();
3239
3415
  case 1:
3240
3416
  disconnectMetrics = _context28.sent;
3241
- return _context28.abrupt("return", this.webex.request({
3417
+ return _context28.abrupt("return", this.apiRequest.makeRequest({
3242
3418
  uri: "".concat(this.mobiusUrl).concat(_constants.DEVICES_ENDPOINT_RESOURCE, "/").concat(this.deviceId, "/").concat(_constants.CALLS_ENDPOINT_RESOURCE, "/").concat(this.callId),
3243
3419
  method: _types2.HTTP_METHODS.DELETE,
3244
3420
  service: _types2.ALLOWED_SERVICES.MOBIUS,
@@ -3276,8 +3452,8 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
3276
3452
  if (error.getCallError().errorLayer === _types.ERROR_LAYER.CALL_CONTROL) {
3277
3453
  this.metricManager.submitCallMetric(_types5.METRIC_EVENT.CALL_ERROR, transferMetricAction || this.callStateMachine.state.value.toString(), _types5.METRIC_TYPE.BEHAVIORAL, this.callId, this.correlationId, error);
3278
3454
  } else {
3279
- var _this$remoteRoapMessa2;
3280
- this.metricManager.submitMediaMetric(_types5.METRIC_EVENT.MEDIA_ERROR, this.mediaStateMachine.state.value.toString(), _types5.METRIC_TYPE.BEHAVIORAL, this.callId, this.correlationId, this.localRoapMessage.sdp, (_this$remoteRoapMessa2 = this.remoteRoapMessage) === null || _this$remoteRoapMessa2 === void 0 ? void 0 : _this$remoteRoapMessa2.sdp, error);
3455
+ var _this$remoteRoapMessa3;
3456
+ this.metricManager.submitMediaMetric(_types5.METRIC_EVENT.MEDIA_ERROR, this.mediaStateMachine.state.value.toString(), _types5.METRIC_TYPE.BEHAVIORAL, this.callId, this.correlationId, this.localRoapMessage.sdp, (_this$remoteRoapMessa3 = this.remoteRoapMessage) === null || _this$remoteRoapMessa3 === void 0 ? void 0 : _this$remoteRoapMessa3.sdp, undefined, error);
3281
3457
  }
3282
3458
  }
3283
3459
 
@@ -3466,6 +3642,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
3466
3642
  }
3467
3643
  return handleTimeout;
3468
3644
  }())
3645
+ }], [{
3646
+ key: "getPeerConnectionStateFromEvent",
3647
+ value: function getPeerConnectionStateFromEvent(event, preferredKey) {
3648
+ return event[preferredKey] || event.state || 'unknown';
3649
+ }
3469
3650
  }]);
3470
3651
  }(_impl.Eventing);
3471
3652
  /**
@@ -3479,7 +3660,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
3479
3660
  * @param indicator - Service Indicator.
3480
3661
  * @param dest -.
3481
3662
  */
3482
- var createCall = exports.createCall = function createCall(activeUrl, webex, dir, deviceId, lineId, deleteCb, indicator, dest) {
3483
- return new Call(activeUrl, webex, dir, deviceId, lineId, deleteCb, indicator, dest);
3663
+ var createCall = exports.createCall = function createCall(activeUrl, webex, dir, deviceId, lineId, deleteCb, indicator, dest, iceGatheringConfig) {
3664
+ return new Call(activeUrl, webex, dir, deviceId, lineId, deleteCb, indicator, dest, iceGatheringConfig);
3484
3665
  };
3485
3666
  //# sourceMappingURL=call.js.map