@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,339 @@
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.default = void 0;
10
+ var _weakMap = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/weak-map"));
11
+ var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
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 _uuid = require("uuid");
20
+ var _constants = require("../../common/constants");
21
+ var _types = require("../../common/types");
22
+ var _types2 = require("./types");
23
+ var _constants2 = require("../constants");
24
+ var _Logger = _interopRequireDefault(require("../../Logger"));
25
+ var _registration = require("../registration");
26
+ var _impl = require("../../Events/impl");
27
+ var _LineError = require("../../Errors/catalog/LineError");
28
+ var _common = require("../../common");
29
+ var _SDKConnector = _interopRequireDefault(require("../../SDKConnector"));
30
+ var _types3 = require("../../Events/types");
31
+ var _callManager = require("../calling/callManager");
32
+ var _types4 = require("../../Errors/types");
33
+ 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)); }
34
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
35
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
36
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
37
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
38
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
39
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
40
+ var _webex = /*#__PURE__*/new _weakMap.default();
41
+ var _mutex = /*#__PURE__*/new _weakMap.default();
42
+ var _sdkConnector = /*#__PURE__*/new _weakMap.default();
43
+ var _primaryMobiusUris = /*#__PURE__*/new _weakMap.default();
44
+ var _backupMobiusUris = /*#__PURE__*/new _weakMap.default();
45
+ var Line = exports.default = /*#__PURE__*/function (_Eventing) {
46
+ function Line(userId, clientDeviceUri, mutex, primaryMobiusUris, backupMobiusUris, logLevel, serviceDataConfig, jwe, phoneNumber, extension, voicemail) {
47
+ var _this;
48
+ (0, _classCallCheck2.default)(this, Line);
49
+ _this = _callSuper(this, Line);
50
+ _classPrivateFieldInitSpec(_this, _webex, void 0);
51
+ _classPrivateFieldInitSpec(_this, _mutex, void 0);
52
+ _classPrivateFieldInitSpec(_this, _sdkConnector, void 0);
53
+ (0, _defineProperty2.default)(_this, "registration", void 0);
54
+ (0, _defineProperty2.default)(_this, "userId", void 0);
55
+ (0, _defineProperty2.default)(_this, "clientDeviceUri", void 0);
56
+ (0, _defineProperty2.default)(_this, "lineId", void 0);
57
+ (0, _defineProperty2.default)(_this, "mobiusDeviceId", void 0);
58
+ (0, _defineProperty2.default)(_this, "mobiusUri", void 0);
59
+ (0, _defineProperty2.default)(_this, "phoneNumber", void 0);
60
+ (0, _defineProperty2.default)(_this, "extension", void 0);
61
+ (0, _defineProperty2.default)(_this, "sipAddresses", []);
62
+ (0, _defineProperty2.default)(_this, "voicemail", void 0);
63
+ (0, _defineProperty2.default)(_this, "lastSeen", void 0);
64
+ (0, _defineProperty2.default)(_this, "keepaliveInterval", void 0);
65
+ (0, _defineProperty2.default)(_this, "callKeepaliveInterval", void 0);
66
+ (0, _defineProperty2.default)(_this, "rehomingIntervalMin", void 0);
67
+ (0, _defineProperty2.default)(_this, "rehomingIntervalMax", void 0);
68
+ (0, _defineProperty2.default)(_this, "voicePortalNumber", void 0);
69
+ (0, _defineProperty2.default)(_this, "voicePortalExtension", void 0);
70
+ (0, _defineProperty2.default)(_this, "callManager", void 0);
71
+ (0, _defineProperty2.default)(_this, "serviceData", void 0);
72
+ _classPrivateFieldInitSpec(_this, _primaryMobiusUris, void 0);
73
+ _classPrivateFieldInitSpec(_this, _backupMobiusUris, void 0);
74
+ /**
75
+ * Line events emitter
76
+ */
77
+ (0, _defineProperty2.default)(_this, "lineEmitter", function (event, deviceInfo, lineError) {
78
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, {
79
+ file: _constants2.LINE_FILE,
80
+ method: _constants2.METHODS.LINE_EMITTER
81
+ });
82
+ switch (event) {
83
+ case _types2.LINE_EVENTS.REGISTERED:
84
+ if (deviceInfo) {
85
+ _this.normalizeLine(deviceInfo);
86
+ _this.emit(event, _this);
87
+ }
88
+ break;
89
+ case _types2.LINE_EVENTS.UNREGISTERED:
90
+ /* lineError is present only when the SDK knows why the registration ended and
91
+ * will not re-establish it, for example a session superseded by another tab. */
92
+ _this.emit(event, lineError);
93
+ break;
94
+ case _types2.LINE_EVENTS.RECONNECTED:
95
+ case _types2.LINE_EVENTS.RECONNECTING:
96
+ _this.emit(event);
97
+ break;
98
+ case _types2.LINE_EVENTS.ERROR:
99
+ if (lineError) {
100
+ _this.emit(event, lineError);
101
+ }
102
+ break;
103
+ default:
104
+ break;
105
+ }
106
+ });
107
+ /**
108
+ * Gets registration status
109
+ */
110
+ (0, _defineProperty2.default)(_this, "getStatus", function () {
111
+ return _this.registration.getStatus();
112
+ });
113
+ /**
114
+ * Gets device id
115
+ */
116
+ (0, _defineProperty2.default)(_this, "getDeviceId", function () {
117
+ var _this$registration$ge;
118
+ return (_this$registration$ge = _this.registration.getDeviceInfo().device) === null || _this$registration$ge === void 0 ? void 0 : _this$registration$ge.deviceId;
119
+ });
120
+ /**
121
+ * Initiates a call to the specified destination.
122
+ * @param dest - The call details including destination information.
123
+ */
124
+ (0, _defineProperty2.default)(_this, "makeCall", function (dest) {
125
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, {
126
+ file: _constants2.LINE_FILE,
127
+ method: _constants2.METHODS.MAKE_CALL
128
+ });
129
+ var call;
130
+ if (dest) {
131
+ var match = dest.address.match(_constants2.VALID_PHONE_REGEX);
132
+ if (match && match[0].length === dest.address.length) {
133
+ var _this$registration$ge2, _call;
134
+ var sanitizedNumber = dest.address.replace(/[^[*+]\d#]/gi, '').replace(/\s+/gi, '').replace(/-/gi, '');
135
+ var formattedDest = {
136
+ type: dest.type,
137
+ address: "tel:".concat(sanitizedNumber)
138
+ };
139
+ call = _this.callManager.createCall(_types.CallDirection.OUTBOUND, (_this$registration$ge2 = _this.registration.getDeviceInfo().device) === null || _this$registration$ge2 === void 0 ? void 0 : _this$registration$ge2.deviceId, _this.lineId, formattedDest);
140
+ _Logger.default.log("New call created, callId: ".concat((_call = call) === null || _call === void 0 ? void 0 : _call.getCallId()), {
141
+ file: _constants2.LINE_FILE,
142
+ method: _constants2.METHODS.MAKE_CALL
143
+ });
144
+ } else {
145
+ _Logger.default.warn('Invalid phone number detected', {
146
+ file: _constants2.LINE_FILE,
147
+ method: _constants2.METHODS.MAKE_CALL
148
+ });
149
+ var err = new _LineError.LineError('An invalid phone number was detected. Check the number and try again.', {}, _types4.ERROR_TYPE.CALL_ERROR, _types.RegistrationStatus.ACTIVE);
150
+ _this.emit(_types2.LINE_EVENTS.ERROR, err);
151
+ }
152
+ return call;
153
+ }
154
+ if (_this.serviceData.indicator === _types.ServiceIndicator.GUEST_CALLING) {
155
+ var _this$registration$ge3;
156
+ call = _this.callManager.createCall(_types.CallDirection.OUTBOUND, (_this$registration$ge3 = _this.registration.getDeviceInfo().device) === null || _this$registration$ge3 === void 0 ? void 0 : _this$registration$ge3.deviceId, _this.lineId);
157
+ _Logger.default.info("New guest call created, callId: ".concat(call.getCallId()), {
158
+ file: _constants2.LINE_FILE,
159
+ method: _constants2.METHODS.MAKE_CALL
160
+ });
161
+ return call;
162
+ }
163
+ return undefined;
164
+ });
165
+ /**
166
+ * @param callId -.
167
+ * @param correlationId -.
168
+ */
169
+ (0, _defineProperty2.default)(_this, "getCall", function (correlationId) {
170
+ return _this.callManager.getCall(correlationId);
171
+ });
172
+ _this.lineId = (0, _uuid.v4)();
173
+ _this.userId = userId;
174
+ _this.clientDeviceUri = clientDeviceUri;
175
+ _this.phoneNumber = phoneNumber;
176
+ _this.extension = extension;
177
+ _this.voicemail = voicemail;
178
+ _classPrivateFieldSet(_sdkConnector, _this, _SDKConnector.default);
179
+ _classPrivateFieldSet(_webex, _this, _classPrivateFieldGet(_sdkConnector, _this).getWebex());
180
+ _classPrivateFieldSet(_mutex, _this, mutex);
181
+ _classPrivateFieldSet(_primaryMobiusUris, _this, primaryMobiusUris);
182
+ _classPrivateFieldSet(_backupMobiusUris, _this, backupMobiusUris);
183
+ _this.serviceData = serviceDataConfig !== null && serviceDataConfig !== void 0 && serviceDataConfig.indicator ? serviceDataConfig : {
184
+ indicator: _types.ServiceIndicator.CALLING,
185
+ domain: ''
186
+ };
187
+ (0, _common.validateServiceData)(_this.serviceData);
188
+ _this.registration = (0, _registration.createRegistration)(_classPrivateFieldGet(_webex, _this), _this.serviceData, _classPrivateFieldGet(_mutex, _this), _this.lineEmitter, logLevel, jwe);
189
+ _Logger.default.setLogger(logLevel, _constants2.LINE_FILE);
190
+ _this.callManager = (0, _callManager.getCallManager)(_classPrivateFieldGet(_webex, _this), _this.serviceData.indicator);
191
+ _this.incomingCallListener();
192
+ return _this;
193
+ }
194
+
195
+ /**
196
+ * Wrapper to for device registration.
197
+ */
198
+ (0, _inherits2.default)(Line, _Eventing);
199
+ return (0, _createClass2.default)(Line, [{
200
+ key: "register",
201
+ value: (function () {
202
+ var _register = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
203
+ var _this2 = this;
204
+ return _regenerator.default.wrap(function (_context2) {
205
+ while (1) switch (_context2.prev = _context2.next) {
206
+ case 0:
207
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, {
208
+ file: _constants2.LINE_FILE,
209
+ method: _constants2.METHODS.REGISTER
210
+ });
211
+ _context2.next = 1;
212
+ return _classPrivateFieldGet(_mutex, this).runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
213
+ return _regenerator.default.wrap(function (_context) {
214
+ while (1) switch (_context.prev = _context.next) {
215
+ case 0:
216
+ _this2.emit(_types2.LINE_EVENTS.CONNECTING);
217
+ _this2.registration.setMobiusServers(_classPrivateFieldGet(_primaryMobiusUris, _this2), _classPrivateFieldGet(_backupMobiusUris, _this2));
218
+ _context.next = 1;
219
+ return _this2.registration.triggerRegistration();
220
+ case 1:
221
+ case "end":
222
+ return _context.stop();
223
+ }
224
+ }, _callee);
225
+ })));
226
+ case 1:
227
+ case "end":
228
+ return _context2.stop();
229
+ }
230
+ }, _callee2, this);
231
+ }));
232
+ function register() {
233
+ return _register.apply(this, arguments);
234
+ }
235
+ return register;
236
+ }()
237
+ /**
238
+ * Wrapper to for device deregister.
239
+ */
240
+ )
241
+ }, {
242
+ key: "deregister",
243
+ value: (function () {
244
+ var _deregister = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
245
+ var closeMobiusWss,
246
+ _args3 = arguments;
247
+ return _regenerator.default.wrap(function (_context3) {
248
+ while (1) switch (_context3.prev = _context3.next) {
249
+ case 0:
250
+ closeMobiusWss = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : false;
251
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, {
252
+ file: _constants2.LINE_FILE,
253
+ method: _constants2.METHODS.DEREGISTER
254
+ });
255
+ _context3.next = 1;
256
+ return this.registration.deregister(closeMobiusWss);
257
+ case 1:
258
+ this.registration.setStatus(_types.RegistrationStatus.IDLE);
259
+ case 2:
260
+ case "end":
261
+ return _context3.stop();
262
+ }
263
+ }, _callee3, this);
264
+ }));
265
+ function deregister() {
266
+ return _deregister.apply(this, arguments);
267
+ }
268
+ return deregister;
269
+ }()
270
+ /**
271
+ * To normalize line class with Mobius response
272
+ */
273
+ )
274
+ }, {
275
+ key: "normalizeLine",
276
+ value: function normalizeLine(deviceInfo) {
277
+ var _device$addresses;
278
+ var device = deviceInfo.device,
279
+ keepaliveInterval = deviceInfo.keepaliveInterval,
280
+ callKeepaliveInterval = deviceInfo.callKeepaliveInterval,
281
+ rehomingIntervalMin = deviceInfo.rehomingIntervalMin,
282
+ rehomingIntervalMax = deviceInfo.rehomingIntervalMax,
283
+ voicePortalNumber = deviceInfo.voicePortalNumber,
284
+ voicePortalExtension = deviceInfo.voicePortalExtension;
285
+ this.mobiusDeviceId = device === null || device === void 0 ? void 0 : device.deviceId;
286
+ this.mobiusUri = device === null || device === void 0 ? void 0 : device.uri;
287
+ this.lastSeen = device === null || device === void 0 ? void 0 : device.lastSeen;
288
+ this.sipAddresses = (_device$addresses = device === null || device === void 0 ? void 0 : device.addresses) !== null && _device$addresses !== void 0 ? _device$addresses : [];
289
+ this.keepaliveInterval = keepaliveInterval;
290
+ this.callKeepaliveInterval = callKeepaliveInterval;
291
+ this.rehomingIntervalMin = rehomingIntervalMin;
292
+ this.rehomingIntervalMax = rehomingIntervalMax;
293
+ this.voicePortalNumber = voicePortalNumber;
294
+ this.voicePortalExtension = voicePortalExtension;
295
+ if (this.mobiusDeviceId) {
296
+ this.callManager.updateLine(this.mobiusDeviceId, this);
297
+ }
298
+ }
299
+ }, {
300
+ key: "getLoggingLevel",
301
+ value:
302
+ /**
303
+ * To get the current log Level.
304
+ */
305
+ function getLoggingLevel() {
306
+ return _Logger.default.getLogLevel();
307
+ }
308
+
309
+ /**
310
+ * To get active url of Mobius.
311
+ */
312
+ }, {
313
+ key: "getActiveMobiusUrl",
314
+ value: function getActiveMobiusUrl() {
315
+ return this.registration.getActiveMobiusUrl();
316
+ }
317
+ }, {
318
+ key: "incomingCallListener",
319
+ value:
320
+ /**
321
+ * An Incoming Call listener.
322
+ */
323
+ function incomingCallListener() {
324
+ var _this3 = this;
325
+ _Logger.default.info(_constants.METHOD_START_MESSAGE, {
326
+ file: _constants2.LINE_FILE,
327
+ method: _constants2.METHODS.INCOMING_CALL_LISTENER
328
+ });
329
+ _Logger.default.info('Listening for incoming calls... ', {
330
+ file: _constants2.LINE_FILE,
331
+ method: _constants2.METHODS.INCOMING_CALL_LISTENER
332
+ });
333
+ this.callManager.on(_types3.LINE_EVENT_KEYS.INCOMING_CALL, function (callObj) {
334
+ _this3.emit(_types2.LINE_EVENTS.INCOMING_CALL, callObj);
335
+ });
336
+ }
337
+ }]);
338
+ }(_impl.Eventing);
339
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_uuid","require","_constants","_types","_types2","_constants2","_Logger","_interopRequireDefault","_registration","_impl","_LineError","_common","_SDKConnector","_types3","_callManager","_types4","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","_classPrivateFieldInitSpec","a","_checkPrivateRedeclaration","set","has","TypeError","_classPrivateFieldGet","s","get","_assertClassBrand","_classPrivateFieldSet","r","n","arguments","length","_webex","_weakMap","_mutex","_sdkConnector","_primaryMobiusUris","_backupMobiusUris","Line","exports","_Eventing","userId","clientDeviceUri","mutex","primaryMobiusUris","backupMobiusUris","logLevel","serviceDataConfig","jwe","phoneNumber","extension","voicemail","_this","_classCallCheck2","_defineProperty2","event","deviceInfo","lineError","log","info","METHOD_START_MESSAGE","file","LINE_FILE","method","METHODS","LINE_EMITTER","LINE_EVENTS","REGISTERED","normalizeLine","emit","UNREGISTERED","RECONNECTED","RECONNECTING","ERROR","registration","getStatus","_this$registration$ge","getDeviceInfo","device","deviceId","dest","MAKE_CALL","match","address","VALID_PHONE_REGEX","_this$registration$ge2","_call","sanitizedNumber","replace","formattedDest","type","concat","callManager","createCall","CallDirection","OUTBOUND","lineId","getCallId","warn","err","LineError","ERROR_TYPE","CALL_ERROR","RegistrationStatus","ACTIVE","serviceData","indicator","ServiceIndicator","GUEST_CALLING","_this$registration$ge3","undefined","correlationId","getCall","uuid","SDKConnector","getWebex","CALLING","domain","validateServiceData","createRegistration","lineEmitter","setLogger","getCallManager","incomingCallListener","_inherits2","_createClass2","key","value","_register","_asyncToGenerator2","_regenerator","mark","_callee2","_this2","wrap","_context2","prev","next","REGISTER","runExclusive","_callee","_context","CONNECTING","setMobiusServers","triggerRegistration","stop","register","_deregister","_callee3","closeMobiusWss","_args3","_context3","DEREGISTER","deregister","setStatus","IDLE","_device$addresses","keepaliveInterval","callKeepaliveInterval","rehomingIntervalMin","rehomingIntervalMax","voicePortalNumber","voicePortalExtension","mobiusDeviceId","mobiusUri","uri","lastSeen","sipAddresses","addresses","updateLine","getLoggingLevel","getLogLevel","getActiveMobiusUrl","_this3","INCOMING_CALL_LISTENER","on","LINE_EVENT_KEYS","INCOMING_CALL","callObj","Eventing"],"sources":["index.ts"],"sourcesContent":["import {Mutex} from 'async-mutex';\nimport {v4 as uuid} from 'uuid';\nimport {METHOD_START_MESSAGE} from '../../common/constants';\nimport {\n CallDetails,\n CallDirection,\n CorrelationId,\n IDeviceInfo,\n MobiusDeviceId,\n RegistrationStatus,\n ServiceData,\n ServiceIndicator,\n} from '../../common/types';\nimport {ILine, LINE_EVENTS} from './types';\nimport {LINE_FILE, METHODS, VALID_PHONE_REGEX} from '../constants';\nimport log from '../../Logger';\nimport {IRegistration} from '../registration/types';\nimport {createRegistration} from '../registration';\nimport {ISDKConnector, WebexSDK} from '../../SDKConnector/types';\nimport {CallingClientConfig} from '../types';\nimport {Eventing} from '../../Events/impl';\nimport {LineError} from '../../Errors/catalog/LineError';\nimport {LOGGER} from '../../Logger/types';\nimport {validateServiceData} from '../../common';\nimport SDKConnector from '../../SDKConnector';\nimport {LINE_EVENT_KEYS, LineEventTypes} from '../../Events/types';\nimport {ICall, ICallManager} from '../calling/types';\nimport {getCallManager} from '../calling/callManager';\nimport {ERROR_TYPE} from '../../Errors/types';\n\nexport default class Line extends Eventing<LineEventTypes> implements ILine {\n #webex: WebexSDK;\n\n #mutex: Mutex;\n\n #sdkConnector: ISDKConnector;\n\n public registration: IRegistration;\n\n public userId: string;\n\n public clientDeviceUri: string;\n\n public lineId: string;\n\n public mobiusDeviceId?: string;\n\n private mobiusUri?: string;\n\n public phoneNumber?: string;\n\n public extension?: string;\n\n public sipAddresses: string[] = [];\n\n public voicemail?: string;\n\n public lastSeen?: string;\n\n public keepaliveInterval?: number;\n\n public callKeepaliveInterval?: number;\n\n public rehomingIntervalMin?: number;\n\n public rehomingIntervalMax?: number;\n\n public voicePortalNumber?: number;\n\n public voicePortalExtension?: number;\n\n private callManager: ICallManager;\n\n private serviceData: ServiceData;\n\n #primaryMobiusUris: string[];\n\n #backupMobiusUris: string[];\n\n constructor(\n userId: string,\n clientDeviceUri: string,\n mutex: Mutex,\n primaryMobiusUris: string[],\n backupMobiusUris: string[],\n logLevel: LOGGER,\n serviceDataConfig?: CallingClientConfig['serviceData'],\n jwe?: string,\n phoneNumber?: string,\n extension?: string,\n voicemail?: string\n ) {\n super();\n this.lineId = uuid();\n this.userId = userId;\n this.clientDeviceUri = clientDeviceUri;\n this.phoneNumber = phoneNumber;\n this.extension = extension;\n this.voicemail = voicemail;\n\n this.#sdkConnector = SDKConnector;\n this.#webex = this.#sdkConnector.getWebex();\n this.#mutex = mutex;\n\n this.#primaryMobiusUris = primaryMobiusUris;\n this.#backupMobiusUris = backupMobiusUris;\n\n this.serviceData = serviceDataConfig?.indicator\n ? serviceDataConfig\n : {indicator: ServiceIndicator.CALLING, domain: ''};\n\n validateServiceData(this.serviceData);\n\n this.registration = createRegistration(\n this.#webex,\n this.serviceData,\n this.#mutex,\n this.lineEmitter,\n logLevel,\n jwe\n );\n\n log.setLogger(logLevel, LINE_FILE);\n\n this.callManager = getCallManager(this.#webex, this.serviceData.indicator);\n\n this.incomingCallListener();\n }\n\n /**\n * Wrapper to for device registration.\n */\n public async register() {\n log.info(METHOD_START_MESSAGE, {\n file: LINE_FILE,\n method: METHODS.REGISTER,\n });\n await this.#mutex.runExclusive(async () => {\n this.emit(LINE_EVENTS.CONNECTING);\n\n this.registration.setMobiusServers(this.#primaryMobiusUris, this.#backupMobiusUris);\n await this.registration.triggerRegistration();\n });\n }\n\n /**\n * Wrapper to for device deregister.\n */\n public async deregister(closeMobiusWss = false) {\n log.info(METHOD_START_MESSAGE, {\n file: LINE_FILE,\n method: METHODS.DEREGISTER,\n });\n await this.registration.deregister(closeMobiusWss);\n this.registration.setStatus(RegistrationStatus.IDLE);\n }\n\n /**\n * To normalize line class with Mobius response\n */\n private normalizeLine(deviceInfo: IDeviceInfo) {\n const {\n device,\n keepaliveInterval,\n callKeepaliveInterval,\n rehomingIntervalMin,\n rehomingIntervalMax,\n voicePortalNumber,\n voicePortalExtension,\n } = deviceInfo;\n\n this.mobiusDeviceId = device?.deviceId;\n this.mobiusUri = device?.uri;\n this.lastSeen = device?.lastSeen;\n this.sipAddresses = device?.addresses ?? [];\n this.keepaliveInterval = keepaliveInterval;\n this.callKeepaliveInterval = callKeepaliveInterval;\n this.rehomingIntervalMin = rehomingIntervalMin;\n this.rehomingIntervalMax = rehomingIntervalMax;\n this.voicePortalNumber = voicePortalNumber;\n this.voicePortalExtension = voicePortalExtension;\n if (this.mobiusDeviceId) {\n this.callManager.updateLine(this.mobiusDeviceId, this);\n }\n }\n\n /**\n * Line events emitter\n */\n public lineEmitter = (event: LINE_EVENTS, deviceInfo?: IDeviceInfo, lineError?: LineError) => {\n log.info(METHOD_START_MESSAGE, {\n file: LINE_FILE,\n method: METHODS.LINE_EMITTER,\n });\n switch (event) {\n case LINE_EVENTS.REGISTERED:\n if (deviceInfo) {\n this.normalizeLine(deviceInfo);\n this.emit(event, this);\n }\n break;\n case LINE_EVENTS.UNREGISTERED:\n /* lineError is present only when the SDK knows why the registration ended and\n * will not re-establish it, for example a session superseded by another tab. */\n this.emit(event, lineError);\n break;\n case LINE_EVENTS.RECONNECTED:\n case LINE_EVENTS.RECONNECTING:\n this.emit(event);\n break;\n case LINE_EVENTS.ERROR:\n if (lineError) {\n this.emit(event, lineError);\n }\n break;\n default:\n break;\n }\n };\n\n /**\n * To get the current log Level.\n */\n public getLoggingLevel(): LOGGER {\n return log.getLogLevel();\n }\n\n /**\n * To get active url of Mobius.\n */\n public getActiveMobiusUrl(): string {\n return this.registration.getActiveMobiusUrl();\n }\n\n /**\n * Gets registration status\n */\n public getStatus = (): RegistrationStatus => this.registration.getStatus();\n\n /**\n * Gets device id\n */\n public getDeviceId = (): MobiusDeviceId | undefined =>\n this.registration.getDeviceInfo().device?.deviceId;\n\n /**\n * Initiates a call to the specified destination.\n * @param dest - The call details including destination information.\n */\n public makeCall = (dest?: CallDetails): ICall | undefined => {\n log.info(METHOD_START_MESSAGE, {\n file: LINE_FILE,\n method: METHODS.MAKE_CALL,\n });\n let call;\n\n if (dest) {\n const match = dest.address.match(VALID_PHONE_REGEX);\n\n if (match && match[0].length === dest.address.length) {\n const sanitizedNumber = dest.address\n .replace(/[^[*+]\\d#]/gi, '')\n .replace(/\\s+/gi, '')\n .replace(/-/gi, '');\n const formattedDest = {\n type: dest.type,\n address: `tel:${sanitizedNumber}`,\n };\n\n call = this.callManager.createCall(\n CallDirection.OUTBOUND,\n this.registration.getDeviceInfo().device?.deviceId as string,\n this.lineId,\n formattedDest\n );\n log.log(`New call created, callId: ${call?.getCallId()}`, {\n file: LINE_FILE,\n method: METHODS.MAKE_CALL,\n });\n } else {\n log.warn('Invalid phone number detected', {\n file: LINE_FILE,\n method: METHODS.MAKE_CALL,\n });\n\n const err = new LineError(\n 'An invalid phone number was detected. Check the number and try again.',\n {},\n ERROR_TYPE.CALL_ERROR,\n RegistrationStatus.ACTIVE\n );\n\n this.emit(LINE_EVENTS.ERROR, err);\n }\n\n return call;\n }\n if (this.serviceData.indicator === ServiceIndicator.GUEST_CALLING) {\n call = this.callManager.createCall(\n CallDirection.OUTBOUND,\n this.registration.getDeviceInfo().device?.deviceId as string,\n this.lineId\n );\n log.info(`New guest call created, callId: ${call.getCallId()}`, {\n file: LINE_FILE,\n method: METHODS.MAKE_CALL,\n });\n\n return call;\n }\n\n return undefined;\n };\n\n /**\n * An Incoming Call listener.\n */\n private incomingCallListener() {\n log.info(METHOD_START_MESSAGE, {\n file: LINE_FILE,\n method: METHODS.INCOMING_CALL_LISTENER,\n });\n log.info('Listening for incoming calls... ', {\n file: LINE_FILE,\n method: METHODS.INCOMING_CALL_LISTENER,\n });\n this.callManager.on(LINE_EVENT_KEYS.INCOMING_CALL, (callObj: ICall) => {\n this.emit(LINE_EVENTS.INCOMING_CALL, callObj);\n });\n }\n\n /**\n * @param callId -.\n * @param correlationId -.\n */\n public getCall = (correlationId: CorrelationId): ICall => {\n return this.callManager.getCall(correlationId);\n };\n}\n"],"mappings":"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","ignoreList":[]}