@webex/calling 3.11.0 → 3.12.0-llmrefactor.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) hide show
  1. package/dist/CallHistory/CallHistory.js +596 -0
  2. package/dist/CallHistory/CallHistory.js.map +1 -0
  3. package/dist/CallHistory/CallHistory.test.js +916 -0
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -0
  5. package/dist/CallHistory/callHistoryFixtures.js +650 -0
  6. package/dist/CallHistory/callHistoryFixtures.js.map +1 -0
  7. package/dist/CallHistory/constants.js +38 -0
  8. package/dist/CallHistory/constants.js.map +1 -0
  9. package/dist/CallHistory/types.js +7 -0
  10. package/dist/CallHistory/types.js.map +1 -0
  11. package/dist/CallRecording/CallRecording.js +160 -0
  12. package/dist/CallRecording/CallRecording.js.map +1 -0
  13. package/dist/CallRecording/CallRecording.test.js +257 -0
  14. package/dist/CallRecording/CallRecording.test.js.map +1 -0
  15. package/dist/CallRecording/WxcCallRecordingConnector.js +577 -0
  16. package/dist/CallRecording/WxcCallRecordingConnector.js.map +1 -0
  17. package/dist/CallRecording/WxcCallRecordingConnector.test.js +652 -0
  18. package/dist/CallRecording/WxcCallRecordingConnector.test.js.map +1 -0
  19. package/dist/CallRecording/callRecordingFixtures.js +235 -0
  20. package/dist/CallRecording/callRecordingFixtures.js.map +1 -0
  21. package/dist/CallRecording/constants.js +50 -0
  22. package/dist/CallRecording/constants.js.map +1 -0
  23. package/dist/CallRecording/types.js +137 -0
  24. package/dist/CallRecording/types.js.map +1 -0
  25. package/dist/CallRecording/utils.js +42 -0
  26. package/dist/CallRecording/utils.js.map +1 -0
  27. package/dist/CallRecording/utils.test.js +97 -0
  28. package/dist/CallRecording/utils.test.js.map +1 -0
  29. package/dist/CallSettings/CallSettings.js +311 -0
  30. package/dist/CallSettings/CallSettings.js.map +1 -0
  31. package/dist/CallSettings/CallSettings.test.js +122 -0
  32. package/dist/CallSettings/CallSettings.test.js.map +1 -0
  33. package/dist/CallSettings/UcmBackendConnector.js +308 -0
  34. package/dist/CallSettings/UcmBackendConnector.js.map +1 -0
  35. package/dist/CallSettings/UcmBackendConnector.test.js +411 -0
  36. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -0
  37. package/dist/CallSettings/WxCallBackendConnector.js +597 -0
  38. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -0
  39. package/dist/CallSettings/WxCallBackendConnector.test.js +904 -0
  40. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -0
  41. package/dist/CallSettings/constants.js +31 -0
  42. package/dist/CallSettings/constants.js.map +1 -0
  43. package/dist/CallSettings/testFixtures.js +68 -0
  44. package/dist/CallSettings/testFixtures.js.map +1 -0
  45. package/dist/CallSettings/types.js +7 -0
  46. package/dist/CallSettings/types.js.map +1 -0
  47. package/dist/CallingClient/CallingClient.js +1349 -0
  48. package/dist/CallingClient/CallingClient.js.map +1 -0
  49. package/dist/CallingClient/CallingClient.test.js +1625 -0
  50. package/dist/CallingClient/CallingClient.test.js.map +1 -0
  51. package/dist/CallingClient/callRecordFixtures.js +101 -0
  52. package/dist/CallingClient/callRecordFixtures.js.map +1 -0
  53. package/dist/CallingClient/calling/CallerId/index.js +275 -0
  54. package/dist/CallingClient/calling/CallerId/index.js.map +1 -0
  55. package/dist/CallingClient/calling/CallerId/index.test.js +275 -0
  56. package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -0
  57. package/dist/CallingClient/calling/CallerId/types.js +7 -0
  58. package/dist/CallingClient/calling/CallerId/types.js.map +1 -0
  59. package/dist/CallingClient/calling/call.js +3666 -0
  60. package/dist/CallingClient/calling/call.js.map +1 -0
  61. package/dist/CallingClient/calling/call.test.js +3970 -0
  62. package/dist/CallingClient/calling/call.test.js.map +1 -0
  63. package/dist/CallingClient/calling/callManager.js +531 -0
  64. package/dist/CallingClient/calling/callManager.js.map +1 -0
  65. package/dist/CallingClient/calling/callManager.test.js +881 -0
  66. package/dist/CallingClient/calling/callManager.test.js.map +1 -0
  67. package/dist/CallingClient/calling/index.js +30 -0
  68. package/dist/CallingClient/calling/index.js.map +1 -0
  69. package/dist/CallingClient/calling/types.js +79 -0
  70. package/dist/CallingClient/calling/types.js.map +1 -0
  71. package/dist/CallingClient/callingClientFixtures.js +143 -0
  72. package/dist/CallingClient/callingClientFixtures.js.map +1 -0
  73. package/dist/CallingClient/constants.js +272 -0
  74. package/dist/CallingClient/constants.js.map +1 -0
  75. package/dist/CallingClient/line/index.js +339 -0
  76. package/dist/CallingClient/line/index.js.map +1 -0
  77. package/dist/CallingClient/line/line.test.js +379 -0
  78. package/dist/CallingClient/line/line.test.js.map +1 -0
  79. package/dist/CallingClient/line/types.js +21 -0
  80. package/dist/CallingClient/line/types.js.map +1 -0
  81. package/dist/CallingClient/registration/index.js +19 -0
  82. package/dist/CallingClient/registration/index.js.map +1 -0
  83. package/dist/CallingClient/registration/register.js +2079 -0
  84. package/dist/CallingClient/registration/register.js.map +1 -0
  85. package/dist/CallingClient/registration/register.test.js +2476 -0
  86. package/dist/CallingClient/registration/register.test.js.map +1 -0
  87. package/dist/CallingClient/registration/registerFixtures.js +36 -0
  88. package/dist/CallingClient/registration/registerFixtures.js.map +1 -0
  89. package/dist/CallingClient/registration/types.js +33 -0
  90. package/dist/CallingClient/registration/types.js.map +1 -0
  91. package/dist/CallingClient/registration/webWorker.js +67 -0
  92. package/dist/CallingClient/registration/webWorker.js.map +1 -0
  93. package/dist/CallingClient/registration/webWorker.test.js +189 -0
  94. package/dist/CallingClient/registration/webWorker.test.js.map +1 -0
  95. package/dist/CallingClient/registration/webWorkerStr.js +15 -0
  96. package/dist/CallingClient/registration/webWorkerStr.js.map +1 -0
  97. package/dist/CallingClient/types.js +14 -0
  98. package/dist/CallingClient/types.js.map +1 -0
  99. package/dist/CallingClient/utils/constants.js +58 -0
  100. package/dist/CallingClient/utils/constants.js.map +1 -0
  101. package/dist/CallingClient/utils/index.js +63 -0
  102. package/dist/CallingClient/utils/index.js.map +1 -0
  103. package/dist/CallingClient/utils/mobiusSocketMapper.js +122 -0
  104. package/dist/CallingClient/utils/mobiusSocketMapper.js.map +1 -0
  105. package/dist/CallingClient/utils/mobiusSocketMapper.test.js +221 -0
  106. package/dist/CallingClient/utils/mobiusSocketMapper.test.js.map +1 -0
  107. package/dist/CallingClient/utils/request.js +435 -0
  108. package/dist/CallingClient/utils/request.js.map +1 -0
  109. package/dist/CallingClient/utils/request.test.js +999 -0
  110. package/dist/CallingClient/utils/request.test.js.map +1 -0
  111. package/dist/CallingClient/utils/types.js +7 -0
  112. package/dist/CallingClient/utils/types.js.map +1 -0
  113. package/dist/CallingClient/utils/wsFeatureFlag.js +70 -0
  114. package/dist/CallingClient/utils/wsFeatureFlag.js.map +1 -0
  115. package/dist/CallingClient/utils/wsFeatureFlag.test.js +139 -0
  116. package/dist/CallingClient/utils/wsFeatureFlag.test.js.map +1 -0
  117. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +142 -0
  118. package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +1 -0
  119. package/dist/Contacts/ContactsClient.js +1208 -0
  120. package/dist/Contacts/ContactsClient.js.map +1 -0
  121. package/dist/Contacts/ContactsClient.test.js +999 -0
  122. package/dist/Contacts/ContactsClient.test.js.map +1 -0
  123. package/dist/Contacts/constants.js +40 -0
  124. package/dist/Contacts/constants.js.map +1 -0
  125. package/dist/Contacts/contactFixtures.js +430 -0
  126. package/dist/Contacts/contactFixtures.js.map +1 -0
  127. package/dist/Contacts/types.js +43 -0
  128. package/dist/Contacts/types.js.map +1 -0
  129. package/dist/Errors/catalog/CallError.js +89 -0
  130. package/dist/Errors/catalog/CallError.js.map +1 -0
  131. package/dist/Errors/catalog/CallingDeviceError.js +83 -0
  132. package/dist/Errors/catalog/CallingDeviceError.js.map +1 -0
  133. package/dist/Errors/catalog/ExtendedError.js +42 -0
  134. package/dist/Errors/catalog/ExtendedError.js.map +1 -0
  135. package/dist/Errors/catalog/LineError.js +85 -0
  136. package/dist/Errors/catalog/LineError.js.map +1 -0
  137. package/dist/Errors/index.js +28 -0
  138. package/dist/Errors/index.js.map +1 -0
  139. package/dist/Errors/types.js +61 -0
  140. package/dist/Errors/types.js.map +1 -0
  141. package/dist/Events/impl/index.js +79 -0
  142. package/dist/Events/impl/index.js.map +1 -0
  143. package/dist/Events/types.js +134 -0
  144. package/dist/Events/types.js.map +1 -0
  145. package/dist/Logger/index.js +228 -0
  146. package/dist/Logger/index.js.map +1 -0
  147. package/dist/Logger/index.test.js +87 -0
  148. package/dist/Logger/index.test.js.map +1 -0
  149. package/dist/Logger/types.js +34 -0
  150. package/dist/Logger/types.js.map +1 -0
  151. package/dist/Metrics/index.js +595 -0
  152. package/dist/Metrics/index.js.map +1 -0
  153. package/dist/Metrics/index.test.js +819 -0
  154. package/dist/Metrics/index.test.js.map +1 -0
  155. package/dist/Metrics/types.js +82 -0
  156. package/dist/Metrics/types.js.map +1 -0
  157. package/dist/SDKConnector/index.js +102 -0
  158. package/dist/SDKConnector/index.js.map +1 -0
  159. package/dist/SDKConnector/index.test.js +9 -0
  160. package/dist/SDKConnector/index.test.js.map +1 -0
  161. package/dist/SDKConnector/types.js +7 -0
  162. package/dist/SDKConnector/types.js.map +1 -0
  163. package/dist/SDKConnector/utils.js +39 -0
  164. package/dist/SDKConnector/utils.js.map +1 -0
  165. package/dist/SDKConnector/utils.test.js +9 -0
  166. package/dist/SDKConnector/utils.test.js.map +1 -0
  167. package/dist/Voicemail/BroadworksBackendConnector.js +699 -0
  168. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -0
  169. package/dist/Voicemail/BroadworksBackendConnector.test.js +820 -0
  170. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -0
  171. package/dist/Voicemail/UcmBackendConnector.js +628 -0
  172. package/dist/Voicemail/UcmBackendConnector.js.map +1 -0
  173. package/dist/Voicemail/UcmBackendConnector.test.js +738 -0
  174. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -0
  175. package/dist/Voicemail/Voicemail.js +472 -0
  176. package/dist/Voicemail/Voicemail.js.map +1 -0
  177. package/dist/Voicemail/Voicemail.test.js +391 -0
  178. package/dist/Voicemail/Voicemail.test.js.map +1 -0
  179. package/dist/Voicemail/WxCallBackendConnector.js +657 -0
  180. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -0
  181. package/dist/Voicemail/WxCallBackendConnector.test.js +1225 -0
  182. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -0
  183. package/dist/Voicemail/constants.js +61 -0
  184. package/dist/Voicemail/constants.js.map +1 -0
  185. package/dist/Voicemail/types.js +7 -0
  186. package/dist/Voicemail/types.js.map +1 -0
  187. package/dist/Voicemail/voicemailFixture.js +524 -0
  188. package/dist/Voicemail/voicemailFixture.js.map +1 -0
  189. package/dist/api.js +213 -0
  190. package/dist/api.js.map +1 -0
  191. package/dist/common/Utils.js +1624 -0
  192. package/dist/common/Utils.js.map +1 -0
  193. package/dist/common/Utils.test.js +2225 -0
  194. package/dist/common/Utils.test.js.map +1 -0
  195. package/dist/common/constants.js +62 -0
  196. package/dist/common/constants.js.map +1 -0
  197. package/dist/common/index.js +19 -0
  198. package/dist/common/index.js.map +1 -0
  199. package/dist/common/testUtil.js +988 -0
  200. package/dist/common/testUtil.js.map +1 -0
  201. package/dist/common/types.js +78 -0
  202. package/dist/common/types.js.map +1 -0
  203. package/dist/index.js +452 -0
  204. package/dist/index.js.map +1 -0
  205. package/dist/mobius-socket/config.js +24 -0
  206. package/dist/mobius-socket/config.js.map +1 -0
  207. package/dist/mobius-socket/errors.js +143 -0
  208. package/dist/mobius-socket/errors.js.map +1 -0
  209. package/dist/mobius-socket/errors.test.js +20 -0
  210. package/dist/mobius-socket/errors.test.js.map +1 -0
  211. package/dist/mobius-socket/index.js +57 -0
  212. package/dist/mobius-socket/index.js.map +1 -0
  213. package/dist/mobius-socket/mobius-socket-events.test.js +492 -0
  214. package/dist/mobius-socket/mobius-socket-events.test.js.map +1 -0
  215. package/dist/mobius-socket/mobius-socket.js +849 -0
  216. package/dist/mobius-socket/mobius-socket.js.map +1 -0
  217. package/dist/mobius-socket/mobius-socket.test.js +1898 -0
  218. package/dist/mobius-socket/mobius-socket.test.js.map +1 -0
  219. package/dist/mobius-socket/socket/constants.js +55 -0
  220. package/dist/mobius-socket/socket/constants.js.map +1 -0
  221. package/dist/mobius-socket/socket/index.js +15 -0
  222. package/dist/mobius-socket/socket/index.js.map +1 -0
  223. package/dist/mobius-socket/socket/socket-base.js +604 -0
  224. package/dist/mobius-socket/socket/socket-base.js.map +1 -0
  225. package/dist/mobius-socket/socket/socket.js +19 -0
  226. package/dist/mobius-socket/socket/socket.js.map +1 -0
  227. package/dist/mobius-socket/socket/socket.shim.js +26 -0
  228. package/dist/mobius-socket/socket/socket.shim.js.map +1 -0
  229. package/dist/mobius-socket/socket/types.js +7 -0
  230. package/dist/mobius-socket/socket/types.js.map +1 -0
  231. package/dist/mobius-socket/socket.test.js +727 -0
  232. package/dist/mobius-socket/socket.test.js.map +1 -0
  233. package/dist/mobius-socket/test/mocha-helpers.js +23 -0
  234. package/dist/mobius-socket/test/mocha-helpers.js.map +1 -0
  235. package/dist/mobius-socket/test/promise-tick.js +28 -0
  236. package/dist/mobius-socket/test/promise-tick.js.map +1 -0
  237. package/dist/mobius-socket/types.js +7 -0
  238. package/dist/mobius-socket/types.js.map +1 -0
  239. package/dist/module/CallHistory/CallHistory.js +28 -17
  240. package/dist/module/CallRecording/CallRecording.js +56 -0
  241. package/dist/module/CallRecording/WxcCallRecordingConnector.js +257 -0
  242. package/dist/module/CallRecording/callRecordingFixtures.js +201 -0
  243. package/dist/module/CallRecording/constants.js +28 -0
  244. package/dist/module/CallRecording/types.js +19 -0
  245. package/dist/module/CallRecording/utils.js +14 -0
  246. package/dist/module/CallingClient/CallingClient.js +166 -8
  247. package/dist/module/CallingClient/calling/call.js +201 -68
  248. package/dist/module/CallingClient/calling/callManager.js +51 -11
  249. package/dist/module/CallingClient/calling/types.js +2 -0
  250. package/dist/module/CallingClient/constants.js +29 -0
  251. package/dist/module/CallingClient/line/index.js +4 -2
  252. package/dist/module/CallingClient/registration/register.js +274 -64
  253. package/dist/module/CallingClient/registration/types.js +5 -1
  254. package/dist/module/CallingClient/registration/webWorker.js +42 -61
  255. package/dist/module/CallingClient/registration/webWorkerStr.js +47 -82
  256. package/dist/module/CallingClient/utils/constants.js +36 -0
  257. package/dist/module/CallingClient/utils/index.js +5 -0
  258. package/dist/module/CallingClient/utils/mobiusSocketMapper.js +72 -0
  259. package/dist/module/CallingClient/utils/request.js +211 -0
  260. package/dist/module/CallingClient/utils/types.js +1 -0
  261. package/dist/module/CallingClient/utils/wsFeatureFlag.js +41 -0
  262. package/dist/module/Contacts/ContactsClient.js +1 -1
  263. package/dist/module/Errors/types.js +2 -0
  264. package/dist/module/Events/types.js +23 -10
  265. package/dist/module/Metrics/index.js +48 -1
  266. package/dist/module/Metrics/types.js +18 -0
  267. package/dist/module/api.js +3 -2
  268. package/dist/module/common/Utils.js +85 -22
  269. package/dist/module/common/testUtil.js +6 -1
  270. package/dist/module/common/types.js +3 -0
  271. package/dist/module/index.js +7 -3
  272. package/dist/module/mobius-socket/config.js +15 -0
  273. package/dist/module/mobius-socket/errors.js +58 -0
  274. package/dist/module/mobius-socket/index.js +24 -0
  275. package/dist/module/mobius-socket/mobius-socket.js +593 -0
  276. package/dist/module/mobius-socket/socket/constants.js +26 -0
  277. package/dist/module/mobius-socket/socket/index.js +4 -0
  278. package/dist/module/mobius-socket/socket/socket-base.js +368 -0
  279. package/dist/module/mobius-socket/socket/socket.js +9 -0
  280. package/dist/module/mobius-socket/socket/socket.shim.js +12 -0
  281. package/dist/module/mobius-socket/socket/types.js +1 -0
  282. package/dist/module/mobius-socket/types.js +1 -0
  283. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  284. package/dist/types/CallRecording/CallRecording.d.ts +18 -0
  285. package/dist/types/CallRecording/CallRecording.d.ts.map +1 -0
  286. package/dist/types/CallRecording/WxcCallRecordingConnector.d.ts +23 -0
  287. package/dist/types/CallRecording/WxcCallRecordingConnector.d.ts.map +1 -0
  288. package/dist/types/CallRecording/callRecordingFixtures.d.ts +61 -0
  289. package/dist/types/CallRecording/callRecordingFixtures.d.ts.map +1 -0
  290. package/dist/types/CallRecording/constants.d.ts +29 -0
  291. package/dist/types/CallRecording/constants.d.ts.map +1 -0
  292. package/dist/types/CallRecording/types.d.ts +176 -0
  293. package/dist/types/CallRecording/types.d.ts.map +1 -0
  294. package/dist/types/CallRecording/utils.d.ts +3 -0
  295. package/dist/types/CallRecording/utils.d.ts.map +1 -0
  296. package/dist/types/CallingClient/CallingClient.d.ts +10 -1
  297. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  298. package/dist/types/CallingClient/calling/call.d.ts +17 -3
  299. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  300. package/dist/types/CallingClient/calling/callManager.d.ts +8 -4
  301. package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
  302. package/dist/types/CallingClient/calling/types.d.ts +38 -9
  303. package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
  304. package/dist/types/CallingClient/constants.d.ts +29 -0
  305. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  306. package/dist/types/CallingClient/line/index.d.ts +1 -1
  307. package/dist/types/CallingClient/line/index.d.ts.map +1 -1
  308. package/dist/types/CallingClient/registration/register.d.ts +10 -2
  309. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  310. package/dist/types/CallingClient/registration/types.d.ts +29 -3
  311. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  312. package/dist/types/CallingClient/registration/webWorker.d.ts.map +1 -1
  313. package/dist/types/CallingClient/registration/webWorkerStr.d.ts +1 -1
  314. package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -1
  315. package/dist/types/CallingClient/types.d.ts +6 -3
  316. package/dist/types/CallingClient/types.d.ts.map +1 -1
  317. package/dist/types/CallingClient/utils/constants.d.ts +35 -0
  318. package/dist/types/CallingClient/utils/constants.d.ts.map +1 -0
  319. package/dist/types/CallingClient/utils/index.d.ts +6 -0
  320. package/dist/types/CallingClient/utils/index.d.ts.map +1 -0
  321. package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts +5 -0
  322. package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts.map +1 -0
  323. package/dist/types/CallingClient/utils/request.d.ts +28 -0
  324. package/dist/types/CallingClient/utils/request.d.ts.map +1 -0
  325. package/dist/types/CallingClient/utils/types.d.ts +34 -0
  326. package/dist/types/CallingClient/utils/types.d.ts.map +1 -0
  327. package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts +4 -0
  328. package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts.map +1 -0
  329. package/dist/types/Errors/types.d.ts +2 -0
  330. package/dist/types/Errors/types.d.ts.map +1 -1
  331. package/dist/types/Events/types.d.ts +80 -16
  332. package/dist/types/Events/types.d.ts.map +1 -1
  333. package/dist/types/Metrics/index.d.ts.map +1 -1
  334. package/dist/types/Metrics/types.d.ts +19 -2
  335. package/dist/types/Metrics/types.d.ts.map +1 -1
  336. package/dist/types/SDKConnector/types.d.ts +39 -12
  337. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  338. package/dist/types/api.d.ts +6 -4
  339. package/dist/types/api.d.ts.map +1 -1
  340. package/dist/types/common/Utils.d.ts +9 -4
  341. package/dist/types/common/Utils.d.ts.map +1 -1
  342. package/dist/types/common/testUtil.d.ts +5 -1
  343. package/dist/types/common/testUtil.d.ts.map +1 -1
  344. package/dist/types/common/types.d.ts +9 -1
  345. package/dist/types/common/types.d.ts.map +1 -1
  346. package/dist/types/index.d.ts +9 -4
  347. package/dist/types/index.d.ts.map +1 -1
  348. package/dist/types/mobius-socket/config.d.ts +17 -0
  349. package/dist/types/mobius-socket/config.d.ts.map +1 -0
  350. package/dist/types/mobius-socket/errors.d.ts +32 -0
  351. package/dist/types/mobius-socket/errors.d.ts.map +1 -0
  352. package/dist/types/mobius-socket/index.d.ts +14 -0
  353. package/dist/types/mobius-socket/index.d.ts.map +1 -0
  354. package/dist/types/mobius-socket/mobius-socket.d.ts +48 -0
  355. package/dist/types/mobius-socket/mobius-socket.d.ts.map +1 -0
  356. package/dist/types/mobius-socket/socket/constants.d.ts +27 -0
  357. package/dist/types/mobius-socket/socket/constants.d.ts.map +1 -0
  358. package/dist/types/mobius-socket/socket/index.d.ts +5 -0
  359. package/dist/types/mobius-socket/socket/index.d.ts.map +1 -0
  360. package/dist/types/mobius-socket/socket/socket-base.d.ts +43 -0
  361. package/dist/types/mobius-socket/socket/socket-base.d.ts.map +1 -0
  362. package/dist/types/mobius-socket/socket/socket.d.ts +6 -0
  363. package/dist/types/mobius-socket/socket/socket.d.ts.map +1 -0
  364. package/dist/types/mobius-socket/socket/socket.shim.d.ts +6 -0
  365. package/dist/types/mobius-socket/socket/socket.shim.d.ts.map +1 -0
  366. package/dist/types/mobius-socket/socket/types.d.ts +61 -0
  367. package/dist/types/mobius-socket/socket/types.d.ts.map +1 -0
  368. package/dist/types/mobius-socket/types.d.ts +21 -0
  369. package/dist/types/mobius-socket/types.d.ts.map +1 -0
  370. package/package.json +21 -5
  371. package/src/mobius-socket/socket/socket.shim.ts +22 -0
  372. package/src/mobius-socket/socket/socket.ts +14 -0
@@ -0,0 +1,531 @@
1
+ "use strict";
2
+
3
+ var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
4
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
5
+ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
+ _Object$defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.getCallManager = exports.CallManager = void 0;
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
11
+ var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
13
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
15
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
16
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
17
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
18
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
19
+ var _request = require("../utils/request");
20
+ var _constants = require("../../common/constants");
21
+ var _constants2 = require("../constants");
22
+ var _types = require("../../Events/types");
23
+ var _impl = require("../../Events/impl");
24
+ var _SDKConnector = _interopRequireDefault(require("../../SDKConnector"));
25
+ var _types2 = require("../../common/types");
26
+ var _types3 = require("./types");
27
+ var _call4 = require("./call");
28
+ var _Logger = _interopRequireDefault(require("../../Logger"));
29
+ 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)); }
30
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* eslint-disable dot-notation */ /* eslint-disable valid-jsdoc */
31
+ var callManager;
32
+
33
+ /**
34
+ *
35
+ */
36
+ var CallManager = exports.CallManager = /*#__PURE__*/function (_Eventing) {
37
+ /**
38
+ * @param webex -.
39
+ * @param indicator - Service Indicator.
40
+ * @param iceGatheringConfig - Optional ICE candidate gathering configuration.
41
+ */
42
+ function CallManager(webex, indicator, iceGatheringConfig) {
43
+ var _this;
44
+ (0, _classCallCheck2.default)(this, CallManager);
45
+ _this = _callSuper(this, CallManager);
46
+ (0, _defineProperty2.default)(_this, "sdkConnector", void 0);
47
+ (0, _defineProperty2.default)(_this, "webex", void 0);
48
+ (0, _defineProperty2.default)(_this, "callCollection", void 0);
49
+ (0, _defineProperty2.default)(_this, "activeMobiusUrl", void 0);
50
+ (0, _defineProperty2.default)(_this, "serviceIndicator", void 0);
51
+ (0, _defineProperty2.default)(_this, "lineDict", void 0);
52
+ (0, _defineProperty2.default)(_this, "apiRequest", void 0);
53
+ (0, _defineProperty2.default)(_this, "isMobiusSocketListenerRegistered", false);
54
+ (0, _defineProperty2.default)(_this, "iceGatheringConfig", void 0);
55
+ /**
56
+ * @param direction -.
57
+ * @param deviceId -.
58
+ * @param destination -.
59
+ */
60
+ (0, _defineProperty2.default)(_this, "createCall", function (direction, deviceId, lineId, destination) {
61
+ _Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with ").concat(direction, ", ").concat(deviceId, " and ").concat(lineId), {
62
+ file: _constants2.CALL_MANAGER_FILE,
63
+ method: _constants2.METHODS.CREATE_CALL
64
+ });
65
+ _Logger.default.log('Creating call object', {});
66
+ var newCall = (0, _call4.createCall)(_this.activeMobiusUrl, _this.webex, direction, deviceId, lineId, function (correlationId) {
67
+ delete _this.callCollection[correlationId];
68
+ var activeCalls = (0, _keys.default)(_this.getActiveCalls()).length;
69
+ _Logger.default.info("DELETE:: Deleted corelationId: ".concat(newCall.getCorrelationId(), " from CallManager, Number of call records :- ").concat(activeCalls), {});
70
+ if (activeCalls === 0) {
71
+ /* Notify CallingClient when all calls are cleared. */
72
+ _this.emit(_types.CALLING_CLIENT_EVENT_KEYS.ALL_CALLS_CLEARED);
73
+ _Logger.default.log('All calls have been cleared', {
74
+ file: _constants2.CALL_MANAGER_FILE,
75
+ method: _constants2.METHODS.CREATE_CALL
76
+ });
77
+ }
78
+ }, _this.serviceIndicator, destination, _this.iceGatheringConfig);
79
+ _this.callCollection[newCall.getCorrelationId()] = newCall;
80
+ _Logger.default.log("New call created with correlationId: ".concat(newCall.getCorrelationId()), {});
81
+ _Logger.default.info("ADD:: Added corelationId: ".concat(newCall.getCorrelationId(), " to CallManager , Number of call records now:- ").concat((0, _keys.default)(_this.getActiveCalls()).length), {});
82
+ return newCall;
83
+ });
84
+ /**
85
+ * @param correlationId -.
86
+ */
87
+ (0, _defineProperty2.default)(_this, "getCall", function (correlationId) {
88
+ return _this.callCollection[correlationId];
89
+ });
90
+ /**
91
+ *
92
+ */
93
+ (0, _defineProperty2.default)(_this, "getActiveCalls", function () {
94
+ return _this.callCollection;
95
+ });
96
+ _this.sdkConnector = _SDKConnector.default;
97
+ _this.serviceIndicator = indicator;
98
+ _this.iceGatheringConfig = iceGatheringConfig;
99
+ if (!_this.sdkConnector.getWebex()) {
100
+ _SDKConnector.default.setWebex(webex);
101
+ }
102
+ _this.lineDict = {};
103
+ _this.webex = _this.sdkConnector.getWebex();
104
+ _this.apiRequest = _request.APIRequest.getInstance({
105
+ webex: _this.webex
106
+ });
107
+ _this.callCollection = {};
108
+ _this.activeMobiusUrl = '';
109
+ _this.listenForWsEvents();
110
+ return _this;
111
+ }
112
+ (0, _inherits2.default)(CallManager, _Eventing);
113
+ return (0, _createClass2.default)(CallManager, [{
114
+ key: "updateActiveMobius",
115
+ value:
116
+ /**
117
+ * Update Active Mobius Url.
118
+ *
119
+ * @param url - Mobius Url.
120
+ */
121
+ function updateActiveMobius(url) {
122
+ this.activeMobiusUrl = url;
123
+ _Logger.default.log("Successfully updated active Mobius URL to: ".concat(url), {
124
+ file: _constants2.CALL_MANAGER_FILE,
125
+ method: _constants2.METHODS.UPDATE_ACTIVE_MOBIUS
126
+ });
127
+
128
+ /*
129
+ * The active transport is resolved per Mobius server group during registration: a
130
+ * group with no WSS URL falls back to HTTP even while the Mobius socket feature is
131
+ * enabled, so the final transport is only known once registration succeeds. Re-align
132
+ * the Mobius event source with that transport now that the device has registered.
133
+ */
134
+ this.listenForWsEvents();
135
+ }
136
+
137
+ /**
138
+ * Aligns the Mobius event source with the active transport.
139
+ *
140
+ * Call events reach {@link dequeueWsEvents} over one of two paths:
141
+ * - HTTP transport: a Mercury `event:mobius` listener owned by this CallManager.
142
+ * - WebSocket transport: CallingClient forwards Mobius socket events to dequeueWsEvents().
143
+ *
144
+ * Because the transport can fall back from WSS to HTTP per server group during
145
+ * registration, this is invoked both at construction and whenever the active Mobius
146
+ * URL changes. It registers the Mercury listener for HTTP and removes it for the
147
+ * WebSocket transport, and is idempotent so repeated calls do not duplicate listeners.
148
+ */
149
+ }, {
150
+ key: "listenForWsEvents",
151
+ value: function listenForWsEvents() {
152
+ var _this2 = this;
153
+ var socketEnabled = this.apiRequest.isSocketEnabled();
154
+ if (!socketEnabled && !this.isMobiusSocketListenerRegistered) {
155
+ this.sdkConnector.registerListener('event:mobius', /*#__PURE__*/function () {
156
+ var _ref = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(event) {
157
+ return _regenerator.default.wrap(function (_context) {
158
+ while (1) switch (_context.prev = _context.next) {
159
+ case 0:
160
+ _this2.dequeueWsEvents(event);
161
+ case 1:
162
+ case "end":
163
+ return _context.stop();
164
+ }
165
+ }, _callee);
166
+ }));
167
+ return function (_x) {
168
+ return _ref.apply(this, arguments);
169
+ };
170
+ }());
171
+ this.isMobiusSocketListenerRegistered = true;
172
+ _Logger.default.info('Successfully registered listener for Mobius events', {
173
+ file: _constants2.CALL_MANAGER_FILE,
174
+ method: _constants2.METHODS.REGISTER_SESSIONS_LISTENER
175
+ });
176
+ } else if (socketEnabled && this.isMobiusSocketListenerRegistered) {
177
+ this.sdkConnector.unregisterListener('event:mobius');
178
+ this.isMobiusSocketListenerRegistered = false;
179
+ _Logger.default.info('Unregistered Mercury listener for Mobius events; using WebSocket transport', {
180
+ file: _constants2.CALL_MANAGER_FILE,
181
+ method: _constants2.METHODS.REGISTER_SESSIONS_LISTENER
182
+ });
183
+ }
184
+ }
185
+
186
+ /**
187
+ * This a Queue where Mobius Events are reported by the underlying Mercury
188
+ * Connection. We handle the events in the order they are posted here. New call
189
+ * Objects are generated from here.
190
+ *
191
+ * @param event - Mobius Events.
192
+ */
193
+ }, {
194
+ key: "dequeueWsEvents",
195
+ value: function dequeueWsEvents(event) {
196
+ var _this3 = this;
197
+ _Logger.default.info("".concat(_constants.METHOD_START_MESSAGE, " with event ").concat(event), {
198
+ file: _constants2.CALL_MANAGER_FILE,
199
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
200
+ });
201
+ var mobiusEvent = event;
202
+ var _ref2 = mobiusEvent.data,
203
+ callId = _ref2.callId,
204
+ correlationId = _ref2.correlationId;
205
+ switch (mobiusEvent.data.eventType) {
206
+ case _types3.MobiusEventType.CALL_SETUP:
207
+ {
208
+ _Logger.default.log("Received call Setup message for call: ".concat(callId), {
209
+ file: _constants2.CALL_MANAGER_FILE,
210
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
211
+ });
212
+ /* Check whether MidCall or not */
213
+ if (mobiusEvent.data.midCallService) {
214
+ mobiusEvent.data.midCallService.forEach(function (midCallEvent) {
215
+ var call = _this3.getCall(correlationId);
216
+ if (call) {
217
+ call.handleMidCallEvent(midCallEvent);
218
+ } else {
219
+ _Logger.default.info("Dropping midcall event of type: ".concat(midCallEvent.eventType, " as it doesn't match with any existing call"), {
220
+ file: _constants2.CALL_MANAGER_FILE,
221
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
222
+ });
223
+ }
224
+ });
225
+ return;
226
+ }
227
+ /* Check if the Call.Media was processed before Call.Setup.
228
+ * In that case , the Call Object is already created while processing
229
+ * Media message.
230
+ */
231
+
232
+ var newId = (0, _keys.default)(this.callCollection).find(function (id) {
233
+ return _this3.callCollection[id].getCallId() === callId;
234
+ });
235
+ var newCall;
236
+ if (!newId) {
237
+ /* This means it's a new call ...
238
+ * Create an incoming call object and add to our records
239
+ */
240
+ var lineId = this.getLineId(mobiusEvent.data.deviceId);
241
+ newCall = this.createCall(_types2.CallDirection.INBOUND, mobiusEvent.data.deviceId, lineId, {});
242
+ _Logger.default.log("New incoming call created with correlationId from Call Setup message: ".concat(newCall.getCorrelationId()), {
243
+ file: _constants2.CALL_MANAGER_FILE,
244
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
245
+ });
246
+ newCall.setCallId(callId);
247
+ if (mobiusEvent.data.broadworksCorrelationInfo) {
248
+ _Logger.default.info("Found broadworksCorrelationInfo: ".concat(mobiusEvent.data.broadworksCorrelationInfo), {
249
+ file: _constants2.CALL_MANAGER_FILE,
250
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
251
+ });
252
+ newCall.setBroadworksCorrelationInfo(mobiusEvent.data.broadworksCorrelationInfo);
253
+ }
254
+ } else {
255
+ _Logger.default.info("Found the call Object with a matching callId: ".concat(callId, " from our records with correlationId: ").concat(newId), {
256
+ file: _constants2.CALL_MANAGER_FILE,
257
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
258
+ });
259
+ newCall = this.getCall(newId);
260
+ }
261
+ if (mobiusEvent.data.callerId) {
262
+ _Logger.default.info('Processing Caller-Id data', {
263
+ file: _constants2.CALL_MANAGER_FILE,
264
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
265
+ });
266
+ newCall.startCallerIdResolution(mobiusEvent.data.callerId);
267
+ }
268
+ /* Signal Line */
269
+
270
+ this.emit(_types.LINE_EVENT_KEYS.INCOMING_CALL, newCall);
271
+ newCall.sendCallStateMachineEvt({
272
+ type: 'E_RECV_CALL_SETUP',
273
+ data: mobiusEvent.data
274
+ });
275
+ break;
276
+ }
277
+ case _types3.MobiusEventType.CALL_PROGRESS:
278
+ {
279
+ _Logger.default.log("Received call progress mobiusEvent for call: ".concat(correlationId), {
280
+ file: _constants2.CALL_MANAGER_FILE,
281
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
282
+ });
283
+ var call = this.getCall(correlationId);
284
+ if (mobiusEvent.data.callerId) {
285
+ _Logger.default.info('Processing Caller-Id data', {
286
+ file: _constants2.CALL_MANAGER_FILE,
287
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
288
+ });
289
+ call.startCallerIdResolution(mobiusEvent.data.callerId);
290
+ }
291
+ call.sendCallStateMachineEvt({
292
+ type: 'E_RECV_CALL_PROGRESS',
293
+ data: mobiusEvent.data
294
+ });
295
+ break;
296
+ }
297
+ case _types3.MobiusEventType.CALL_INFO:
298
+ {
299
+ _Logger.default.log("Received call info mobiusEvent for call: ".concat(correlationId), {
300
+ file: _constants2.CALL_MANAGER_FILE,
301
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
302
+ });
303
+ var _call = this.getCall(correlationId);
304
+ if (_call && mobiusEvent.data.callerId) {
305
+ _Logger.default.info('Processing Caller-Id data', {
306
+ file: _constants2.CALL_MANAGER_FILE,
307
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
308
+ });
309
+ _call.startCallerIdResolution(mobiusEvent.data.callerId);
310
+ }
311
+ break;
312
+ }
313
+ case _types3.MobiusEventType.CALL_MEDIA:
314
+ {
315
+ _Logger.default.log("Received call media mobiusEvent for call: ".concat(correlationId), {
316
+ file: _constants2.CALL_MANAGER_FILE,
317
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
318
+ });
319
+ var activeCall;
320
+ if (correlationId) {
321
+ /* The Call.Media message had correlation id (Except the first message) */
322
+ activeCall = this.getCall(correlationId);
323
+ } else {
324
+ /* This is possibly the first Media message for the call.
325
+ * We should scan our record to see if we can find a call with
326
+ * this callId.
327
+ */
328
+
329
+ var _newId = (0, _keys.default)(this.callCollection).find(function (id) {
330
+ return _this3.callCollection[id].getCallId() === callId;
331
+ });
332
+ if (_newId) {
333
+ /* Call.Media arrived after Call.Setup but the correlationId was Null. */
334
+
335
+ _Logger.default.info("Found the call Object with a matching callId: ".concat(callId, " from our records with correlationId: ").concat(_newId), {
336
+ file: _constants2.CALL_MANAGER_FILE,
337
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
338
+ });
339
+ activeCall = this.getCall(_newId);
340
+ } else {
341
+ /* If Call.Media arrived before Call.Setup , we create the Call Object here */
342
+
343
+ var _lineId = this.getLineId(mobiusEvent.data.deviceId);
344
+ activeCall = this.createCall(_types2.CallDirection.INBOUND, mobiusEvent.data.deviceId, _lineId, {});
345
+ _Logger.default.log("New incoming call created with correlationId from ROAP Message: ".concat(activeCall.getCorrelationId()), {
346
+ file: _constants2.CALL_MANAGER_FILE,
347
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
348
+ });
349
+ activeCall.setCallId(callId);
350
+ }
351
+ }
352
+ if (activeCall) {
353
+ var _mobiusEvent$data$mes, _mobiusEvent$data$mes2, _mobiusEvent$data$mes3, _mobiusEvent$data$mes4, _mobiusEvent$data$mes5;
354
+ /* Only Handle if the call is present */
355
+
356
+ _Logger.default.info("SDP from mobius ".concat((_mobiusEvent$data$mes = mobiusEvent.data.message) === null || _mobiusEvent$data$mes === void 0 ? void 0 : _mobiusEvent$data$mes.sdp), {
357
+ file: _constants2.CALL_MANAGER_FILE,
358
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
359
+ });
360
+ _Logger.default.log("ROAP message from mobius with type: ".concat((_mobiusEvent$data$mes2 = mobiusEvent.data.message) === null || _mobiusEvent$data$mes2 === void 0 ? void 0 : _mobiusEvent$data$mes2.messageType, ", seq: ").concat((_mobiusEvent$data$mes3 = mobiusEvent.data.message) === null || _mobiusEvent$data$mes3 === void 0 ? void 0 : _mobiusEvent$data$mes3.seq, " , version: ").concat((_mobiusEvent$data$mes4 = mobiusEvent.data.message) === null || _mobiusEvent$data$mes4 === void 0 ? void 0 : _mobiusEvent$data$mes4.version), {
361
+ file: _constants2.CALL_MANAGER_FILE,
362
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
363
+ });
364
+ var mediaState = (_mobiusEvent$data$mes5 = mobiusEvent.data.message) === null || _mobiusEvent$data$mes5 === void 0 ? void 0 : _mobiusEvent$data$mes5.messageType;
365
+ switch (mediaState) {
366
+ case _types3.MediaState.OFFER:
367
+ {
368
+ _Logger.default.log('Received OFFER', {
369
+ file: _constants2.CALL_MANAGER_FILE,
370
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
371
+ });
372
+ activeCall.sendMediaStateMachineEvt({
373
+ type: 'E_RECV_ROAP_OFFER',
374
+ data: mobiusEvent.data.message
375
+ });
376
+ break;
377
+ }
378
+ case _types3.MediaState.ANSWER:
379
+ {
380
+ _Logger.default.log('Received ANSWER', {
381
+ file: _constants2.CALL_MANAGER_FILE,
382
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
383
+ });
384
+ activeCall.sendMediaStateMachineEvt({
385
+ type: 'E_RECV_ROAP_ANSWER',
386
+ data: mobiusEvent.data.message
387
+ });
388
+ break;
389
+ }
390
+ case _types3.MediaState.OFFER_REQUEST:
391
+ {
392
+ _Logger.default.log('Received OFFER_REQUEST', {
393
+ file: _constants2.CALL_MANAGER_FILE,
394
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
395
+ });
396
+ activeCall.sendMediaStateMachineEvt({
397
+ type: 'E_RECV_ROAP_OFFER_REQUEST',
398
+ data: mobiusEvent.data.message
399
+ });
400
+ break;
401
+ }
402
+ case _types3.MediaState.OK:
403
+ {
404
+ _Logger.default.log('Received OK', {
405
+ file: _constants2.CALL_MANAGER_FILE,
406
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
407
+ });
408
+ var mediaOk = {
409
+ received: true,
410
+ message: mobiusEvent.data.message
411
+ };
412
+ activeCall.sendMediaStateMachineEvt({
413
+ type: 'E_ROAP_OK',
414
+ data: mediaOk
415
+ });
416
+ break;
417
+ }
418
+ case _types3.MediaState.ERROR:
419
+ {
420
+ _Logger.default.log('Received Error...', {
421
+ file: _constants2.CALL_MANAGER_FILE,
422
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
423
+ });
424
+ break;
425
+ }
426
+ default:
427
+ {
428
+ _Logger.default.log("Unknown Media mobiusEvent: ".concat(mediaState, " "), {
429
+ file: _constants2.CALL_MANAGER_FILE,
430
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
431
+ });
432
+ }
433
+ }
434
+ } else {
435
+ _Logger.default.info("CorrelationId: ".concat(correlationId, " doesn't exist , discarding.."), {
436
+ file: _constants2.CALL_MANAGER_FILE,
437
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
438
+ });
439
+ // TODO: Maybe add a queue for these mobiusEvents per callID and handle them once the call is setup ?
440
+ }
441
+ break;
442
+ }
443
+ case _types3.MobiusEventType.CALL_CONNECTED:
444
+ {
445
+ _Logger.default.log("Received call connect for call: ".concat(correlationId), {
446
+ file: _constants2.CALL_MANAGER_FILE,
447
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
448
+ });
449
+ var _call2 = this.getCall(correlationId);
450
+ _call2.sendCallStateMachineEvt({
451
+ type: 'E_RECV_CALL_CONNECT',
452
+ data: mobiusEvent.data
453
+ });
454
+ break;
455
+ }
456
+ case _types3.MobiusEventType.CALL_DISCONNECTED:
457
+ {
458
+ _Logger.default.log("Received call disconnect for call: ".concat(correlationId), {
459
+ file: _constants2.CALL_MANAGER_FILE,
460
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
461
+ });
462
+ var _call3 = this.getCall(correlationId);
463
+ if (_call3) {
464
+ _call3.sendCallStateMachineEvt({
465
+ type: 'E_RECV_CALL_DISCONNECT'
466
+ });
467
+ }
468
+ break;
469
+ }
470
+ default:
471
+ {
472
+ _Logger.default.log("Unknown Call Event mobiusEvent: ".concat(mobiusEvent.data.eventType), {
473
+ file: _constants2.CALL_MANAGER_FILE,
474
+ method: _constants2.METHODS.DEQUEUE_WS_EVENTS
475
+ });
476
+ }
477
+ }
478
+ }
479
+ }, {
480
+ key: "updateLine",
481
+ value:
482
+ /**
483
+ * Adds line instance to lineDict
484
+ */
485
+ function updateLine(deviceId, line) {
486
+ this.lineDict[deviceId] = line;
487
+ _Logger.default.log("Successfully updated line for deviceId: ".concat(deviceId), {
488
+ file: _constants2.CALL_MANAGER_FILE,
489
+ method: _constants2.METHODS.UPDATE_LINE
490
+ });
491
+ }
492
+
493
+ /**
494
+ * Retrieves line id
495
+ */
496
+ }, {
497
+ key: "getLineId",
498
+ value: function getLineId(deviceId) {
499
+ return this.lineDict[deviceId].lineId;
500
+ }
501
+
502
+ /**
503
+ * Updates the ICE candidate gathering configuration applied to newly created calls.
504
+ *
505
+ * The {@link CallManager} is a module-level singleton that may be first constructed by a
506
+ * collaborator (e.g. line or registration) that does not have the SDK config. This lets the
507
+ * `CallingClient` seed the config on the shared instance regardless of construction order.
508
+ *
509
+ * @param iceGatheringConfig - The ICE candidate gathering configuration.
510
+ */
511
+ }, {
512
+ key: "setIceGatheringConfig",
513
+ value: function setIceGatheringConfig(iceGatheringConfig) {
514
+ this.iceGatheringConfig = iceGatheringConfig;
515
+ }
516
+ }]);
517
+ }(_impl.Eventing);
518
+ /**
519
+ * @param webex -.
520
+ * @param indicator - Service Indicator.
521
+ * @param iceGatheringConfig - Optional ICE candidate gathering configuration.
522
+ */
523
+ var getCallManager = exports.getCallManager = function getCallManager(webex, indicator, iceGatheringConfig) {
524
+ if (!callManager) {
525
+ callManager = new CallManager(webex, indicator, iceGatheringConfig);
526
+ } else if (iceGatheringConfig) {
527
+ callManager.setIceGatheringConfig(iceGatheringConfig);
528
+ }
529
+ return callManager;
530
+ };
531
+ //# sourceMappingURL=callManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_request","require","_constants","_constants2","_types","_impl","_SDKConnector","_interopRequireDefault","_types2","_types3","_call4","_Logger","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","callManager","CallManager","exports","_Eventing","webex","indicator","iceGatheringConfig","_this","_classCallCheck2","_defineProperty2","direction","deviceId","lineId","destination","log","info","concat","METHOD_START_MESSAGE","file","CALL_MANAGER_FILE","method","METHODS","CREATE_CALL","newCall","createCall","activeMobiusUrl","correlationId","callCollection","activeCalls","_keys","getActiveCalls","length","getCorrelationId","emit","CALLING_CLIENT_EVENT_KEYS","ALL_CALLS_CLEARED","serviceIndicator","sdkConnector","SDKConnector","getWebex","setWebex","lineDict","apiRequest","APIRequest","getInstance","listenForWsEvents","_inherits2","_createClass2","key","value","updateActiveMobius","url","UPDATE_ACTIVE_MOBIUS","_this2","socketEnabled","isSocketEnabled","isMobiusSocketListenerRegistered","registerListener","_ref","_asyncToGenerator2","_regenerator","mark","_callee","event","wrap","_context","prev","next","dequeueWsEvents","stop","_x","arguments","REGISTER_SESSIONS_LISTENER","unregisterListener","_this3","DEQUEUE_WS_EVENTS","mobiusEvent","_ref2","data","callId","eventType","MobiusEventType","CALL_SETUP","midCallService","forEach","midCallEvent","getCall","handleMidCallEvent","newId","find","id","getCallId","getLineId","CallDirection","INBOUND","setCallId","broadworksCorrelationInfo","setBroadworksCorrelationInfo","callerId","startCallerIdResolution","LINE_EVENT_KEYS","INCOMING_CALL","sendCallStateMachineEvt","type","CALL_PROGRESS","CALL_INFO","CALL_MEDIA","activeCall","_mobiusEvent$data$mes","_mobiusEvent$data$mes2","_mobiusEvent$data$mes3","_mobiusEvent$data$mes4","_mobiusEvent$data$mes5","message","sdp","messageType","seq","version","mediaState","MediaState","OFFER","sendMediaStateMachineEvt","ANSWER","OFFER_REQUEST","OK","mediaOk","received","ERROR","CALL_CONNECTED","CALL_DISCONNECTED","updateLine","line","UPDATE_LINE","setIceGatheringConfig","Eventing","getCallManager"],"sources":["callManager.ts"],"sourcesContent":["/* eslint-disable dot-notation */\n/* eslint-disable valid-jsdoc */\nimport {APIRequest} from '../utils/request';\nimport {METHOD_START_MESSAGE} from '../../common/constants';\nimport {CALL_MANAGER_FILE, METHODS} from '../constants';\nimport {CALLING_CLIENT_EVENT_KEYS, CallEventTypes, LINE_EVENT_KEYS} from '../../Events/types';\nimport {Eventing} from '../../Events/impl';\nimport SDKConnector from '../../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../../SDKConnector/types';\nimport {CallDetails, CallDirection, CorrelationId, ServiceIndicator} from '../../common/types';\nimport {\n ICall,\n ICallManager,\n IceGatheringConfig,\n MediaState,\n MidCallEvent,\n MobiusAsyncEvent,\n MobiusCallData,\n MobiusEventType,\n} from './types';\nimport {createCall} from './call';\nimport log from '../../Logger';\nimport {ILine} from '../line/types';\n\nlet callManager: ICallManager;\n\n/**\n *\n */\nexport class CallManager extends Eventing<CallEventTypes> implements ICallManager {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private callCollection: Record<CorrelationId, ICall>;\n\n private activeMobiusUrl!: string;\n\n private serviceIndicator: ServiceIndicator;\n\n private lineDict: Record<string, ILine>;\n\n private apiRequest: APIRequest;\n\n private isMobiusSocketListenerRegistered = false;\n\n private iceGatheringConfig?: IceGatheringConfig;\n\n /**\n * @param webex -.\n * @param indicator - Service Indicator.\n * @param iceGatheringConfig - Optional ICE candidate gathering configuration.\n */\n constructor(\n webex: WebexSDK,\n indicator: ServiceIndicator,\n iceGatheringConfig?: IceGatheringConfig\n ) {\n super();\n this.sdkConnector = SDKConnector;\n this.serviceIndicator = indicator;\n this.iceGatheringConfig = iceGatheringConfig;\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n this.lineDict = {};\n this.webex = this.sdkConnector.getWebex();\n this.apiRequest = APIRequest.getInstance({webex: this.webex});\n this.callCollection = {};\n this.activeMobiusUrl = '';\n this.listenForWsEvents();\n }\n\n /**\n * @param direction -.\n * @param deviceId -.\n * @param destination -.\n */\n public createCall = (\n direction: CallDirection,\n deviceId: string,\n lineId: string,\n destination?: CallDetails\n ): ICall => {\n log.info(`${METHOD_START_MESSAGE} with ${direction}, ${deviceId} and ${lineId}`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.CREATE_CALL,\n });\n log.log('Creating call object', {});\n const newCall = createCall(\n this.activeMobiusUrl,\n this.webex,\n direction,\n deviceId,\n lineId,\n (correlationId: CorrelationId) => {\n delete this.callCollection[correlationId];\n const activeCalls = Object.keys(this.getActiveCalls()).length;\n\n log.info(\n `DELETE:: Deleted corelationId: ${newCall.getCorrelationId()} from CallManager, Number of call records :- ${activeCalls}`,\n {}\n );\n if (activeCalls === 0) {\n /* Notify CallingClient when all calls are cleared. */\n this.emit(CALLING_CLIENT_EVENT_KEYS.ALL_CALLS_CLEARED);\n log.log('All calls have been cleared', {\n file: CALL_MANAGER_FILE,\n method: METHODS.CREATE_CALL,\n });\n }\n },\n this.serviceIndicator,\n destination,\n this.iceGatheringConfig\n );\n\n this.callCollection[newCall.getCorrelationId()] = newCall;\n log.log(`New call created with correlationId: ${newCall.getCorrelationId()}`, {});\n log.info(\n `ADD:: Added corelationId: ${newCall.getCorrelationId()} to CallManager , Number of call records now:- ${\n Object.keys(this.getActiveCalls()).length\n }`,\n {}\n );\n\n return newCall;\n };\n\n /**\n * Update Active Mobius Url.\n *\n * @param url - Mobius Url.\n */\n public updateActiveMobius(url: string) {\n this.activeMobiusUrl = url;\n log.log(`Successfully updated active Mobius URL to: ${url}`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.UPDATE_ACTIVE_MOBIUS,\n });\n\n /*\n * The active transport is resolved per Mobius server group during registration: a\n * group with no WSS URL falls back to HTTP even while the Mobius socket feature is\n * enabled, so the final transport is only known once registration succeeds. Re-align\n * the Mobius event source with that transport now that the device has registered.\n */\n this.listenForWsEvents();\n }\n\n /**\n * Aligns the Mobius event source with the active transport.\n *\n * Call events reach {@link dequeueWsEvents} over one of two paths:\n * - HTTP transport: a Mercury `event:mobius` listener owned by this CallManager.\n * - WebSocket transport: CallingClient forwards Mobius socket events to dequeueWsEvents().\n *\n * Because the transport can fall back from WSS to HTTP per server group during\n * registration, this is invoked both at construction and whenever the active Mobius\n * URL changes. It registers the Mercury listener for HTTP and removes it for the\n * WebSocket transport, and is idempotent so repeated calls do not duplicate listeners.\n */\n private listenForWsEvents() {\n const socketEnabled = this.apiRequest.isSocketEnabled();\n\n if (!socketEnabled && !this.isMobiusSocketListenerRegistered) {\n this.sdkConnector.registerListener('event:mobius', async (event) => {\n this.dequeueWsEvents(event);\n });\n this.isMobiusSocketListenerRegistered = true;\n log.info('Successfully registered listener for Mobius events', {\n file: CALL_MANAGER_FILE,\n method: METHODS.REGISTER_SESSIONS_LISTENER,\n });\n } else if (socketEnabled && this.isMobiusSocketListenerRegistered) {\n this.sdkConnector.unregisterListener('event:mobius');\n this.isMobiusSocketListenerRegistered = false;\n log.info('Unregistered Mercury listener for Mobius events; using WebSocket transport', {\n file: CALL_MANAGER_FILE,\n method: METHODS.REGISTER_SESSIONS_LISTENER,\n });\n }\n }\n\n /**\n * This a Queue where Mobius Events are reported by the underlying Mercury\n * Connection. We handle the events in the order they are posted here. New call\n * Objects are generated from here.\n *\n * @param event - Mobius Events.\n */\n public dequeueWsEvents(event: MobiusAsyncEvent | unknown) {\n log.info(`${METHOD_START_MESSAGE} with event ${event}`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n const mobiusEvent = event as MobiusAsyncEvent;\n\n const {callId, correlationId} = mobiusEvent.data as MobiusCallData;\n\n switch (mobiusEvent.data.eventType) {\n case MobiusEventType.CALL_SETUP: {\n log.log(`Received call Setup message for call: ${callId}`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n /* Check whether MidCall or not */\n if (mobiusEvent.data.midCallService) {\n mobiusEvent.data.midCallService.forEach((midCallEvent: MidCallEvent) => {\n const call = this.getCall(correlationId);\n\n if (call) {\n call.handleMidCallEvent(midCallEvent);\n } else {\n log.info(\n `Dropping midcall event of type: ${midCallEvent.eventType} as it doesn't match with any existing call`,\n {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n }\n );\n }\n });\n\n return;\n }\n /* Check if the Call.Media was processed before Call.Setup.\n * In that case , the Call Object is already created while processing\n * Media message.\n */\n\n const newId = (Object.keys(this.callCollection) as Array<string>).find(\n (id) => this.callCollection[id].getCallId() === callId\n );\n let newCall: ICall;\n\n if (!newId) {\n /* This means it's a new call ...\n * Create an incoming call object and add to our records\n */\n const lineId = this.getLineId(mobiusEvent.data.deviceId);\n newCall = this.createCall(\n CallDirection.INBOUND,\n mobiusEvent.data.deviceId,\n lineId,\n {} as CallDetails\n );\n log.log(\n `New incoming call created with correlationId from Call Setup message: ${newCall.getCorrelationId()}`,\n {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n }\n );\n newCall.setCallId(callId);\n if (mobiusEvent.data.broadworksCorrelationInfo) {\n log.info(\n `Found broadworksCorrelationInfo: ${mobiusEvent.data.broadworksCorrelationInfo}`,\n {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n }\n );\n newCall.setBroadworksCorrelationInfo(mobiusEvent.data.broadworksCorrelationInfo);\n }\n } else {\n log.info(\n `Found the call Object with a matching callId: ${callId} from our records with correlationId: ${newId}`,\n {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n }\n );\n newCall = this.getCall(newId);\n }\n\n if (mobiusEvent.data.callerId) {\n log.info('Processing Caller-Id data', {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n newCall.startCallerIdResolution(mobiusEvent.data.callerId);\n }\n /* Signal Line */\n\n this.emit(LINE_EVENT_KEYS.INCOMING_CALL, newCall);\n\n newCall.sendCallStateMachineEvt({type: 'E_RECV_CALL_SETUP', data: mobiusEvent.data});\n\n break;\n }\n case MobiusEventType.CALL_PROGRESS: {\n log.log(`Received call progress mobiusEvent for call: ${correlationId}`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n const call = this.getCall(correlationId);\n\n if (mobiusEvent.data.callerId) {\n log.info('Processing Caller-Id data', {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n call.startCallerIdResolution(mobiusEvent.data.callerId);\n }\n\n call.sendCallStateMachineEvt({type: 'E_RECV_CALL_PROGRESS', data: mobiusEvent.data});\n break;\n }\n case MobiusEventType.CALL_INFO: {\n log.log(`Received call info mobiusEvent for call: ${correlationId}`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n const call = this.getCall(correlationId);\n\n if (call && mobiusEvent.data.callerId) {\n log.info('Processing Caller-Id data', {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n call.startCallerIdResolution(mobiusEvent.data.callerId);\n }\n break;\n }\n case MobiusEventType.CALL_MEDIA: {\n log.log(`Received call media mobiusEvent for call: ${correlationId}`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n\n let activeCall: ICall;\n\n if (correlationId) {\n /* The Call.Media message had correlation id (Except the first message) */\n activeCall = this.getCall(correlationId);\n } else {\n /* This is possibly the first Media message for the call.\n * We should scan our record to see if we can find a call with\n * this callId.\n */\n\n const newId = (Object.keys(this.callCollection) as Array<string>).find(\n (id) => this.callCollection[id].getCallId() === callId\n );\n\n if (newId) {\n /* Call.Media arrived after Call.Setup but the correlationId was Null. */\n\n log.info(\n `Found the call Object with a matching callId: ${callId} from our records with correlationId: ${newId}`,\n {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n }\n );\n activeCall = this.getCall(newId);\n } else {\n /* If Call.Media arrived before Call.Setup , we create the Call Object here */\n\n const lineId = this.getLineId(mobiusEvent.data.deviceId);\n activeCall = this.createCall(\n CallDirection.INBOUND,\n mobiusEvent.data.deviceId,\n lineId,\n {} as CallDetails\n );\n log.log(\n `New incoming call created with correlationId from ROAP Message: ${activeCall.getCorrelationId()}`,\n {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n }\n );\n activeCall.setCallId(callId);\n }\n }\n\n if (activeCall) {\n /* Only Handle if the call is present */\n\n log.info(`SDP from mobius ${mobiusEvent.data.message?.sdp}`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n log.log(\n `ROAP message from mobius with type: ${mobiusEvent.data.message?.messageType}, seq: ${mobiusEvent.data.message?.seq} , version: ${mobiusEvent.data.message?.version}`,\n {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n }\n );\n const mediaState = mobiusEvent.data.message?.messageType;\n\n switch (mediaState) {\n case MediaState.OFFER: {\n log.log('Received OFFER', {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n activeCall.sendMediaStateMachineEvt({\n type: 'E_RECV_ROAP_OFFER',\n data: mobiusEvent.data.message,\n });\n break;\n }\n case MediaState.ANSWER: {\n log.log('Received ANSWER', {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n activeCall.sendMediaStateMachineEvt({\n type: 'E_RECV_ROAP_ANSWER',\n data: mobiusEvent.data.message,\n });\n break;\n }\n case MediaState.OFFER_REQUEST: {\n log.log('Received OFFER_REQUEST', {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n activeCall.sendMediaStateMachineEvt({\n type: 'E_RECV_ROAP_OFFER_REQUEST',\n data: mobiusEvent.data.message,\n });\n break;\n }\n case MediaState.OK: {\n log.log('Received OK', {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n const mediaOk = {\n received: true,\n message: mobiusEvent.data.message,\n };\n\n activeCall.sendMediaStateMachineEvt({\n type: 'E_ROAP_OK',\n data: mediaOk,\n });\n break;\n }\n case MediaState.ERROR: {\n log.log('Received Error...', {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n break;\n }\n default: {\n log.log(`Unknown Media mobiusEvent: ${mediaState} `, {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n }\n }\n } else {\n log.info(`CorrelationId: ${correlationId} doesn't exist , discarding..`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n // TODO: Maybe add a queue for these mobiusEvents per callID and handle them once the call is setup ?\n }\n break;\n }\n case MobiusEventType.CALL_CONNECTED: {\n log.log(`Received call connect for call: ${correlationId}`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n const call = this.getCall(correlationId);\n\n call.sendCallStateMachineEvt({type: 'E_RECV_CALL_CONNECT', data: mobiusEvent.data});\n\n break;\n }\n case MobiusEventType.CALL_DISCONNECTED: {\n log.log(`Received call disconnect for call: ${correlationId}`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n const call = this.getCall(correlationId);\n\n if (call) {\n call.sendCallStateMachineEvt({type: 'E_RECV_CALL_DISCONNECT'});\n }\n break;\n }\n default: {\n log.log(`Unknown Call Event mobiusEvent: ${mobiusEvent.data.eventType}`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.DEQUEUE_WS_EVENTS,\n });\n }\n }\n }\n\n /**\n * @param correlationId -.\n */\n public getCall = (correlationId: CorrelationId): ICall => {\n return this.callCollection[correlationId];\n };\n\n /**\n *\n */\n public getActiveCalls = (): Record<string, ICall> => {\n return this.callCollection;\n };\n\n /**\n * Adds line instance to lineDict\n */\n public updateLine(deviceId: string, line: ILine) {\n this.lineDict[deviceId] = line;\n log.log(`Successfully updated line for deviceId: ${deviceId}`, {\n file: CALL_MANAGER_FILE,\n method: METHODS.UPDATE_LINE,\n });\n }\n\n /**\n * Retrieves line id\n */\n private getLineId(deviceId: string) {\n return this.lineDict[deviceId].lineId;\n }\n\n /**\n * Updates the ICE candidate gathering configuration applied to newly created calls.\n *\n * The {@link CallManager} is a module-level singleton that may be first constructed by a\n * collaborator (e.g. line or registration) that does not have the SDK config. This lets the\n * `CallingClient` seed the config on the shared instance regardless of construction order.\n *\n * @param iceGatheringConfig - The ICE candidate gathering configuration.\n */\n public setIceGatheringConfig(iceGatheringConfig?: IceGatheringConfig) {\n this.iceGatheringConfig = iceGatheringConfig;\n }\n}\n\n/**\n * @param webex -.\n * @param indicator - Service Indicator.\n * @param iceGatheringConfig - Optional ICE candidate gathering configuration.\n */\nexport const getCallManager = (\n webex: WebexSDK,\n indicator: ServiceIndicator,\n iceGatheringConfig?: IceGatheringConfig\n): ICallManager => {\n if (!callManager) {\n callManager = new CallManager(webex, indicator, iceGatheringConfig);\n } else if (iceGatheringConfig) {\n (callManager as CallManager).setIceGatheringConfig(iceGatheringConfig);\n }\n\n return callManager;\n};\n"],"mappings":"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","ignoreList":[]}