@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,379 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs2/helpers/typeof");
4
+ var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
5
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
6
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
7
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
8
+ var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
9
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
10
+ var _WeakMap = require("@babel/runtime-corejs2/core-js/weak-map");
11
+ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
13
+ var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
15
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
16
+ var _asyncMutex = require("async-mutex");
17
+ var _testUtil = require("../../common/testUtil");
18
+ var _registerFixtures = require("../registration/registerFixtures");
19
+ var _common = require("../../common");
20
+ var _types = require("../../common/types");
21
+ var _types2 = require("./types");
22
+ var _ = _interopRequireDefault(require("."));
23
+ var utils = _interopRequireWildcard(require("../../common/Utils"));
24
+ var _SDKConnector = _interopRequireDefault(require("../../SDKConnector"));
25
+ var _LineError = require("../../Errors/catalog/LineError");
26
+ var _types3 = require("../../Errors/types");
27
+ var _constants = require("../constants");
28
+ var _types4 = require("../../Logger/types");
29
+ var regUtils = _interopRequireWildcard(require("../registration/register"));
30
+ var _request = require("../utils/request");
31
+ function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
32
+ function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
33
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
34
+ jest.mock('../../mobius-socket', function () {
35
+ return {
36
+ getMobiusSocketInstance: jest.fn().mockReturnValue({
37
+ sendWssRequest: jest.fn()
38
+ })
39
+ };
40
+ });
41
+ jest.spyOn(utils, 'uploadLogs').mockResolvedValue(undefined);
42
+ describe('Line Tests', function () {
43
+ var mutex = new _asyncMutex.Mutex();
44
+ var webex = (0, _testUtil.getTestUtilsWebex)();
45
+ _SDKConnector.default.setWebex(webex);
46
+ beforeEach(function () {
47
+ _request.APIRequest.resetInstance();
48
+ _request.APIRequest.getInstance({
49
+ webex: webex,
50
+ isMobiusSocketEnabled: false
51
+ });
52
+ });
53
+ var defaultServiceData = {
54
+ indicator: _types.ServiceIndicator.CALLING,
55
+ domain: ''
56
+ };
57
+ var createRegistrationSpy = jest.spyOn(regUtils, 'createRegistration');
58
+ var mobiusUris = (0, _common.filterMobiusUris)((0, _testUtil.getMobiusDiscoveryResponse)(), _registerFixtures.URL);
59
+ var primaryMobiusUris = jest.fn(function () {
60
+ return mobiusUris.primary;
61
+ });
62
+ var backupMobiusUris = jest.fn(function () {
63
+ return mobiusUris.backup;
64
+ });
65
+ var userId = webex.internal.device.userId;
66
+ var clientDeviceUri = webex.internal.device.url;
67
+ var mockJwe = 'mockJwe';
68
+ var guestServiceData = {
69
+ indicator: _types.ServiceIndicator.GUEST_CALLING,
70
+ domain: '',
71
+ guestName: 'testUser'
72
+ };
73
+ var handleErrorSpy = jest.spyOn(utils, 'handleRegistrationErrors');
74
+ // Simulate node fetch by adding the mock webex.request
75
+ global.fetch = webex.request;
76
+ jest.clearAllMocks();
77
+ describe('Line Registration tests', function () {
78
+ var line;
79
+ var mockRegistrationBody = (0, _testUtil.getMockDeviceInfo)();
80
+ var discoveryBody = (0, _testUtil.getMobiusDiscoveryResponse)();
81
+ var primaryUrl = "".concat(discoveryBody.primary.uris[0], "/calling/web/");
82
+ var registrationPayload = {
83
+ statusCode: 200,
84
+ body: mockRegistrationBody
85
+ };
86
+ beforeEach(function () {
87
+ line = new _.default(userId, clientDeviceUri, mutex, primaryMobiusUris(), backupMobiusUris(), _types4.LOGGER.INFO);
88
+ });
89
+ afterEach(function () {
90
+ jest.clearAllTimers();
91
+ jest.clearAllMocks();
92
+ jest.useRealTimers();
93
+ line.removeAllListeners();
94
+ });
95
+ it('verify successful Registration cases and keepalive', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
96
+ return _regenerator.default.wrap(function (_context) {
97
+ while (1) switch (_context.prev = _context.next) {
98
+ case 0:
99
+ jest.useFakeTimers();
100
+ webex.request.mockReturnValue(registrationPayload);
101
+ expect(createRegistrationSpy).toBeCalledOnceWith(webex, defaultServiceData, expect.any(_asyncMutex.Mutex), expect.anything(), _types4.LOGGER.INFO, undefined);
102
+ expect(line.getStatus()).toEqual(_types.RegistrationStatus.IDLE);
103
+ _context.next = 1;
104
+ return line.register();
105
+ case 1:
106
+ expect(webex.request).toBeCalledOnceWith(_objectSpread(_objectSpread({}, (0, _testUtil.getMockRequestTemplate)()), {}, {
107
+ body: {
108
+ userId: userId,
109
+ clientDeviceUri: clientDeviceUri,
110
+ serviceData: defaultServiceData
111
+ },
112
+ uri: "".concat(primaryUrl, "device"),
113
+ method: 'POST'
114
+ }));
115
+ expect(handleErrorSpy).not.toBeCalled();
116
+ expect(line.getStatus()).toEqual(_types.RegistrationStatus.ACTIVE);
117
+ expect(line.getActiveMobiusUrl()).toEqual(primaryUrl);
118
+ expect(line.getLoggingLevel()).toEqual(_types4.LOGGER.INFO);
119
+ expect(line.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);
120
+ expect(line.callManager.lineDict[mockRegistrationBody.device.deviceId]).toEqual(line);
121
+ webex.request.mockClear();
122
+ jest.advanceTimersByTime(30 * 1000);
123
+ _context.next = 2;
124
+ return _promise.default.resolve();
125
+ case 2:
126
+ jest.useRealTimers();
127
+ case 3:
128
+ case "end":
129
+ return _context.stop();
130
+ }
131
+ }, _callee);
132
+ })));
133
+ it('verify successful Registration cases and keepalive for a guest user', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
134
+ var guestLine;
135
+ return _regenerator.default.wrap(function (_context2) {
136
+ while (1) switch (_context2.prev = _context2.next) {
137
+ case 0:
138
+ createRegistrationSpy.mockClear();
139
+ guestLine = new _.default(userId, clientDeviceUri, mutex, primaryMobiusUris(), backupMobiusUris(), _types4.LOGGER.INFO, guestServiceData, mockJwe);
140
+ jest.useFakeTimers();
141
+ webex.request.mockReturnValue(registrationPayload);
142
+ expect(createRegistrationSpy).toBeCalledOnceWith(webex, guestServiceData, expect.any(_asyncMutex.Mutex), expect.anything(), _types4.LOGGER.INFO, mockJwe);
143
+ expect(guestLine.getStatus()).toEqual(_types.RegistrationStatus.IDLE);
144
+ _context2.next = 1;
145
+ return guestLine.register();
146
+ case 1:
147
+ expect(webex.request).toBeCalledOnceWith(_objectSpread(_objectSpread({}, (0, _testUtil.getMockRequestTemplate)()), {}, {
148
+ body: {
149
+ userId: userId,
150
+ clientDeviceUri: clientDeviceUri,
151
+ serviceData: _objectSpread(_objectSpread({}, guestServiceData), {}, {
152
+ jwe: mockJwe
153
+ })
154
+ },
155
+ uri: "".concat(primaryUrl, "device"),
156
+ method: 'POST'
157
+ }));
158
+ expect(handleErrorSpy).not.toBeCalled();
159
+ expect(guestLine.getStatus()).toEqual(_types.RegistrationStatus.ACTIVE);
160
+ expect(guestLine.getActiveMobiusUrl()).toEqual(primaryUrl);
161
+ expect(guestLine.getLoggingLevel()).toEqual(_types4.LOGGER.INFO);
162
+ expect(guestLine.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);
163
+ webex.request.mockClear();
164
+ jest.advanceTimersByTime(30 * 1000);
165
+ _context2.next = 2;
166
+ return _promise.default.resolve();
167
+ case 2:
168
+ jest.useRealTimers();
169
+ case 3:
170
+ case "end":
171
+ return _context2.stop();
172
+ }
173
+ }, _callee2);
174
+ })));
175
+ it('verify failure Registration cases all requests fail ', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
176
+ return _regenerator.default.wrap(function (_context3) {
177
+ while (1) switch (_context3.prev = _context3.next) {
178
+ case 0:
179
+ line.removeAllListeners(_types2.LINE_EVENTS.ERROR);
180
+ webex.request.mockRejectedValue({
181
+ statusCode: 401
182
+ });
183
+ line.on(_types2.LINE_EVENTS.ERROR, function (error) {
184
+ expect(error.message).toBe('User is unauthorized due to an expired token. Sign out, then sign back in.');
185
+ });
186
+ expect(line.getStatus()).toBe(_types.RegistrationStatus.IDLE);
187
+ line.register();
188
+ _context3.next = 1;
189
+ return utils.waitForMsecs(20);
190
+ case 1:
191
+ expect(line.getStatus()).toBe(_types.RegistrationStatus.INACTIVE);
192
+ expect(handleErrorSpy).toBeCalledOnceWith(expect.anything(), expect.anything(), {
193
+ file: _constants.REGISTRATION_FILE,
194
+ method: 'triggerRegistration'
195
+ }, expect.anything(), expect.any(Number));
196
+ case 2:
197
+ case "end":
198
+ return _context3.stop();
199
+ }
200
+ }, _callee3);
201
+ })));
202
+ it('verify successful de-registration cases', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
203
+ return _regenerator.default.wrap(function (_context4) {
204
+ while (1) switch (_context4.prev = _context4.next) {
205
+ case 0:
206
+ webex.request.mockReturnValueOnce(registrationPayload);
207
+ expect(line.getStatus()).toEqual(_types.RegistrationStatus.IDLE);
208
+ _context4.next = 1;
209
+ return line.register();
210
+ case 1:
211
+ expect(line.getStatus()).toEqual(_types.RegistrationStatus.ACTIVE);
212
+ _context4.next = 2;
213
+ return line.deregister();
214
+ case 2:
215
+ expect(line.getStatus()).toEqual(_types.RegistrationStatus.IDLE);
216
+ case 3:
217
+ case "end":
218
+ return _context4.stop();
219
+ }
220
+ }, _callee4);
221
+ })));
222
+ });
223
+ describe('Line event emission tests', function () {
224
+ var line;
225
+ beforeEach(function () {
226
+ line = new _.default(userId, clientDeviceUri, mutex, primaryMobiusUris(), backupMobiusUris(), _types4.LOGGER.INFO);
227
+ });
228
+ afterEach(function () {
229
+ jest.clearAllMocks();
230
+ line.removeAllListeners();
231
+ });
232
+ var supersededError = function supersededError() {
233
+ return (0, _LineError.createLineError)('session superseded', {
234
+ file: _constants.REGISTRATION_FILE,
235
+ method: 'startKeepaliveTimer'
236
+ }, _types3.ERROR_TYPE.SESSION_SUPERSEDED, _types.RegistrationStatus.INACTIVE);
237
+ };
238
+ it.each([_types2.LINE_EVENTS.ERROR, _types2.LINE_EVENTS.UNREGISTERED])('re-emits %s with the line error to the consumer', function (event) {
239
+ var listener = jest.fn();
240
+ var lineError = supersededError();
241
+ line.on(event, listener);
242
+ line.lineEmitter(event, undefined, lineError);
243
+ expect(listener).toBeCalledOnceWith(lineError);
244
+ });
245
+ it('emits unregistered without a reason when no line error is provided', function () {
246
+ var listener = jest.fn();
247
+ line.on(_types2.LINE_EVENTS.UNREGISTERED, listener);
248
+ line.lineEmitter(_types2.LINE_EVENTS.UNREGISTERED);
249
+ expect(listener).toBeCalledOnceWith(undefined);
250
+ });
251
+ it('does not emit error when no line error is provided', function () {
252
+ var listener = jest.fn();
253
+ line.on(_types2.LINE_EVENTS.ERROR, listener);
254
+ line.lineEmitter(_types2.LINE_EVENTS.ERROR);
255
+ expect(listener).not.toBeCalled();
256
+ });
257
+ });
258
+ describe('Line calling tests', function () {
259
+ var line;
260
+ beforeEach(function () {
261
+ line = new _.default(userId, clientDeviceUri, mutex, primaryMobiusUris(), backupMobiusUris(), _types4.LOGGER.INFO);
262
+ });
263
+ afterEach(function () {
264
+ jest.clearAllTimers();
265
+ jest.clearAllMocks();
266
+ jest.useRealTimers();
267
+ line.removeAllListeners();
268
+ });
269
+ it('Return a successful call object while making call', function () {
270
+ var createCallSpy = jest.spyOn(line.callManager, 'createCall');
271
+ var call = line.makeCall({
272
+ address: '5003',
273
+ type: _types.CallType.URI
274
+ });
275
+ expect(createCallSpy).toBeCalledOnceWith(_types.CallDirection.OUTBOUND, undefined, line.lineId, {
276
+ address: 'tel:5003',
277
+ type: 'uri'
278
+ });
279
+ expect(call).toBeTruthy();
280
+ expect(line.getCall(call ? call.getCorrelationId() : '')).toBe(call);
281
+ expect(call ? call.direction : undefined).toStrictEqual(_types.CallDirection.OUTBOUND);
282
+ call === null || call === void 0 ? void 0 : call.end();
283
+ });
284
+ it('Return a successful call object while making call to FAC codes', function () {
285
+ var createCallSpy = jest.spyOn(line.callManager, 'createCall');
286
+ var call = line.makeCall({
287
+ address: '*25',
288
+ type: _types.CallType.URI
289
+ });
290
+ expect(createCallSpy).toBeCalledOnceWith(_types.CallDirection.OUTBOUND, undefined, line.lineId, {
291
+ address: 'tel:*25',
292
+ type: 'uri'
293
+ });
294
+ expect(call).toBeTruthy();
295
+ expect(call ? call.direction : undefined).toStrictEqual(_types.CallDirection.OUTBOUND);
296
+ call === null || call === void 0 ? void 0 : call.end();
297
+ });
298
+ it('Remove spaces from dialled number while making call', function () {
299
+ var createCallSpy = jest.spyOn(line.callManager, 'createCall');
300
+ var call = line.makeCall({
301
+ address: '+91 123 456 7890',
302
+ type: _types.CallType.URI
303
+ });
304
+ expect(createCallSpy).toBeCalledOnceWith(_types.CallDirection.OUTBOUND, undefined, line.lineId, {
305
+ address: 'tel:+911234567890',
306
+ type: 'uri'
307
+ });
308
+ expect(call).toBeTruthy();
309
+ expect(call ? call.direction : undefined).toStrictEqual(_types.CallDirection.OUTBOUND);
310
+ expect(call ? call.destination.address : undefined).toStrictEqual('tel:+911234567890');
311
+ call === null || call === void 0 ? void 0 : call.end();
312
+ });
313
+ it('Remove hyphen from dialled number while making call', function () {
314
+ var createCallSpy = jest.spyOn(line.callManager, 'createCall');
315
+ var call = line.makeCall({
316
+ address: '123-456-7890',
317
+ type: _types.CallType.URI
318
+ });
319
+ expect(createCallSpy).toBeCalledOnceWith(_types.CallDirection.OUTBOUND, undefined, line.lineId, {
320
+ address: 'tel:1234567890',
321
+ type: 'uri'
322
+ });
323
+ expect(call).toBeTruthy();
324
+ expect(call ? call.direction : undefined).toStrictEqual(_types.CallDirection.OUTBOUND);
325
+ expect(call ? call.destination.address : undefined).toStrictEqual('tel:1234567890');
326
+ call === null || call === void 0 ? void 0 : call.end();
327
+ });
328
+ it('attempt to create call with incorrect number format 1', function (done) {
329
+ // There may be other listeners , which may create race
330
+ line.removeAllListeners(_types2.LINE_EVENTS.ERROR);
331
+ var createCallSpy = jest.spyOn(line.callManager, 'createCall');
332
+ line.on(_types2.LINE_EVENTS.ERROR, function (error) {
333
+ expect(error.message).toBe('An invalid phone number was detected. Check the number and try again.');
334
+ done();
335
+ });
336
+ try {
337
+ var call = line.makeCall({
338
+ address: 'select#$@^^',
339
+ type: _types.CallType.URI
340
+ });
341
+ expect(call).toBeUndefined();
342
+ expect(createCallSpy).not.toBeCalledOnceWith({});
343
+ } catch (error) {
344
+ done(error);
345
+ }
346
+ });
347
+ it('attempt to create call with incorrect number format 2', function (done) {
348
+ expect.assertions(4);
349
+ var createCallSpy = jest.spyOn(line.callManager, 'createCall');
350
+ line.on(_types2.LINE_EVENTS.ERROR, function (error) {
351
+ expect(error.message).toBe('An invalid phone number was detected. Check the number and try again.');
352
+ done();
353
+ });
354
+ try {
355
+ var call = line.makeCall({
356
+ address: '+1@8883332505',
357
+ type: _types.CallType.URI
358
+ });
359
+ expect(call).toBeUndefined();
360
+ expect(createCallSpy).not.toBeCalledOnceWith({});
361
+ } catch (error) {
362
+ done(error);
363
+ }
364
+ });
365
+ it('attempt to create call with guest calling service indicator', function () {
366
+ expect.assertions(2);
367
+ var createCallSpy = jest.spyOn(line.callManager, 'createCall');
368
+
369
+ // Mocking the serviceData to have GUEST_CALLING indicator
370
+ line = new _.default(userId, clientDeviceUri, mutex, primaryMobiusUris(), backupMobiusUris(), _types4.LOGGER.INFO, {
371
+ indicator: _types.ServiceIndicator.GUEST_CALLING
372
+ });
373
+ var call = line.makeCall();
374
+ expect(call).toBeTruthy();
375
+ expect(createCallSpy).toBeCalledWith(_types.CallDirection.OUTBOUND, undefined, expect.any(String));
376
+ });
377
+ });
378
+ });
379
+ //# sourceMappingURL=line.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_asyncMutex","require","_testUtil","_registerFixtures","_common","_types","_types2","_","_interopRequireDefault","utils","_interopRequireWildcard","_SDKConnector","_LineError","_types3","_constants","_types4","regUtils","_request","e","t","_WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t","hasOwnProperty","call","_Object$defineProperty","_Object$getOwnPropertyDescriptor","ownKeys","_Object$keys","_Object$getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","_Object$getOwnPropertyDescriptors","_Object$defineProperties","jest","mock","getMobiusSocketInstance","fn","mockReturnValue","sendWssRequest","spyOn","mockResolvedValue","undefined","describe","mutex","Mutex","webex","getTestUtilsWebex","SDKConnector","setWebex","beforeEach","APIRequest","resetInstance","getInstance","isMobiusSocketEnabled","defaultServiceData","indicator","ServiceIndicator","CALLING","domain","createRegistrationSpy","mobiusUris","filterMobiusUris","getMobiusDiscoveryResponse","URL","primaryMobiusUris","primary","backupMobiusUris","backup","userId","internal","device","clientDeviceUri","url","mockJwe","guestServiceData","GUEST_CALLING","guestName","handleErrorSpy","global","fetch","request","clearAllMocks","line","mockRegistrationBody","getMockDeviceInfo","discoveryBody","primaryUrl","concat","uris","registrationPayload","statusCode","body","Line","LOGGER","INFO","afterEach","clearAllTimers","useRealTimers","removeAllListeners","it","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_context","prev","next","useFakeTimers","expect","toBeCalledOnceWith","any","anything","getStatus","toEqual","RegistrationStatus","IDLE","register","getMockRequestTemplate","serviceData","uri","method","not","toBeCalled","ACTIVE","getActiveMobiusUrl","getLoggingLevel","getDeviceId","deviceId","callManager","lineDict","mockClear","advanceTimersByTime","_promise","resolve","stop","_callee2","guestLine","_context2","jwe","_callee3","_context3","LINE_EVENTS","ERROR","mockRejectedValue","on","error","message","toBe","waitForMsecs","INACTIVE","file","REGISTRATION_FILE","Number","_callee4","_context4","mockReturnValueOnce","deregister","supersededError","createLineError","ERROR_TYPE","SESSION_SUPERSEDED","each","UNREGISTERED","event","listener","lineError","lineEmitter","createCallSpy","makeCall","address","type","CallType","URI","CallDirection","OUTBOUND","lineId","toBeTruthy","getCall","getCorrelationId","direction","toStrictEqual","end","destination","done","toBeUndefined","assertions","toBeCalledWith","String"],"sources":["line.test.ts"],"sourcesContent":["import {Mutex} from 'async-mutex';\nimport {\n getMobiusDiscoveryResponse,\n getMockDeviceInfo,\n getMockRequestTemplate,\n getTestUtilsWebex,\n} from '../../common/testUtil';\nimport {URL} from '../registration/registerFixtures';\nimport {filterMobiusUris} from '../../common';\nimport {\n CallDirection,\n CallType,\n MobiusServers,\n RegistrationStatus,\n ServiceIndicator,\n WebexRequestPayload,\n} from '../../common/types';\nimport {LINE_EVENTS} from './types';\nimport Line from '.';\nimport * as utils from '../../common/Utils';\nimport SDKConnector from '../../SDKConnector';\nimport {createLineError} from '../../Errors/catalog/LineError';\nimport {ERROR_TYPE} from '../../Errors/types';\nimport {REGISTRATION_FILE} from '../constants';\nimport {LOGGER} from '../../Logger/types';\nimport * as regUtils from '../registration/register';\nimport {APIRequest} from '../utils/request';\n\njest.mock('../../mobius-socket', () => ({\n getMobiusSocketInstance: jest.fn().mockReturnValue({\n sendWssRequest: jest.fn(),\n }),\n}));\njest.spyOn(utils, 'uploadLogs').mockResolvedValue(undefined);\n\ndescribe('Line Tests', () => {\n const mutex = new Mutex();\n const webex = getTestUtilsWebex();\n SDKConnector.setWebex(webex);\n\n beforeEach(() => {\n APIRequest.resetInstance();\n APIRequest.getInstance({webex, isMobiusSocketEnabled: false});\n });\n\n const defaultServiceData = {indicator: ServiceIndicator.CALLING, domain: ''};\n const createRegistrationSpy = jest.spyOn(regUtils, 'createRegistration');\n\n const mobiusUris = filterMobiusUris(getMobiusDiscoveryResponse(), URL);\n const primaryMobiusUris = jest.fn(() => mobiusUris.primary);\n const backupMobiusUris = jest.fn(() => mobiusUris.backup);\n const userId = webex.internal.device.userId;\n const clientDeviceUri = webex.internal.device.url;\n const mockJwe = 'mockJwe';\n const guestServiceData = {\n indicator: ServiceIndicator.GUEST_CALLING,\n domain: '',\n guestName: 'testUser',\n };\n\n const handleErrorSpy = jest.spyOn(utils, 'handleRegistrationErrors');\n // Simulate node fetch by adding the mock webex.request\n global.fetch = webex.request;\n\n jest.clearAllMocks();\n\n describe('Line Registration tests', () => {\n let line;\n const mockRegistrationBody = getMockDeviceInfo();\n\n const discoveryBody: MobiusServers = getMobiusDiscoveryResponse();\n const primaryUrl = `${discoveryBody.primary.uris[0]}/calling/web/`;\n\n const registrationPayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: mockRegistrationBody,\n });\n\n beforeEach(() => {\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO\n );\n });\n\n afterEach(() => {\n jest.clearAllTimers();\n jest.clearAllMocks();\n jest.useRealTimers();\n line.removeAllListeners();\n });\n\n it('verify successful Registration cases and keepalive', async () => {\n jest.useFakeTimers();\n webex.request.mockReturnValue(registrationPayload);\n\n expect(createRegistrationSpy).toBeCalledOnceWith(\n webex,\n defaultServiceData,\n expect.any(Mutex),\n expect.anything(),\n LOGGER.INFO,\n undefined\n );\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n await line.register();\n\n expect(webex.request).toBeCalledOnceWith({\n ...getMockRequestTemplate(),\n body: {\n userId,\n clientDeviceUri,\n serviceData: defaultServiceData,\n },\n uri: `${primaryUrl}device`,\n method: 'POST',\n });\n expect(handleErrorSpy).not.toBeCalled();\n\n expect(line.getStatus()).toEqual(RegistrationStatus.ACTIVE);\n expect(line.getActiveMobiusUrl()).toEqual(primaryUrl);\n expect(line.getLoggingLevel()).toEqual(LOGGER.INFO);\n expect(line.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);\n expect(line.callManager.lineDict[mockRegistrationBody.device.deviceId]).toEqual(line);\n\n webex.request.mockClear();\n\n jest.advanceTimersByTime(30 * 1000);\n await Promise.resolve();\n\n jest.useRealTimers();\n });\n\n it('verify successful Registration cases and keepalive for a guest user', async () => {\n createRegistrationSpy.mockClear();\n const guestLine = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO,\n guestServiceData,\n mockJwe\n );\n jest.useFakeTimers();\n webex.request.mockReturnValue(registrationPayload);\n\n expect(createRegistrationSpy).toBeCalledOnceWith(\n webex,\n guestServiceData,\n expect.any(Mutex),\n expect.anything(),\n LOGGER.INFO,\n mockJwe\n );\n expect(guestLine.getStatus()).toEqual(RegistrationStatus.IDLE);\n await guestLine.register();\n\n expect(webex.request).toBeCalledOnceWith({\n ...getMockRequestTemplate(),\n body: {\n userId,\n clientDeviceUri,\n serviceData: {...guestServiceData, jwe: mockJwe},\n },\n uri: `${primaryUrl}device`,\n method: 'POST',\n });\n expect(handleErrorSpy).not.toBeCalled();\n\n expect(guestLine.getStatus()).toEqual(RegistrationStatus.ACTIVE);\n expect(guestLine.getActiveMobiusUrl()).toEqual(primaryUrl);\n expect(guestLine.getLoggingLevel()).toEqual(LOGGER.INFO);\n expect(guestLine.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);\n\n webex.request.mockClear();\n\n jest.advanceTimersByTime(30 * 1000);\n await Promise.resolve();\n\n jest.useRealTimers();\n });\n\n it('verify failure Registration cases all requests fail ', async () => {\n line.removeAllListeners(LINE_EVENTS.ERROR);\n\n webex.request.mockRejectedValue({\n statusCode: 401,\n });\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'User is unauthorized due to an expired token. Sign out, then sign back in.'\n );\n });\n\n expect(line.getStatus()).toBe(RegistrationStatus.IDLE);\n line.register();\n await utils.waitForMsecs(20);\n\n expect(line.getStatus()).toBe(RegistrationStatus.INACTIVE);\n expect(handleErrorSpy).toBeCalledOnceWith(\n expect.anything(),\n expect.anything(),\n {\n file: REGISTRATION_FILE,\n method: 'triggerRegistration',\n },\n expect.anything(),\n expect.any(Number)\n );\n });\n\n it('verify successful de-registration cases', async () => {\n webex.request.mockReturnValueOnce(registrationPayload);\n\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n await line.register();\n expect(line.getStatus()).toEqual(RegistrationStatus.ACTIVE);\n\n await line.deregister();\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n });\n });\n\n describe('Line event emission tests', () => {\n let line;\n\n beforeEach(() => {\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO\n );\n });\n\n afterEach(() => {\n jest.clearAllMocks();\n line.removeAllListeners();\n });\n\n const supersededError = () =>\n createLineError(\n 'session superseded',\n {file: REGISTRATION_FILE, method: 'startKeepaliveTimer'},\n ERROR_TYPE.SESSION_SUPERSEDED,\n RegistrationStatus.INACTIVE\n );\n\n it.each([LINE_EVENTS.ERROR, LINE_EVENTS.UNREGISTERED])(\n 're-emits %s with the line error to the consumer',\n (event) => {\n const listener = jest.fn();\n const lineError = supersededError();\n\n line.on(event, listener);\n line.lineEmitter(event, undefined, lineError);\n\n expect(listener).toBeCalledOnceWith(lineError);\n }\n );\n\n it('emits unregistered without a reason when no line error is provided', () => {\n const listener = jest.fn();\n\n line.on(LINE_EVENTS.UNREGISTERED, listener);\n line.lineEmitter(LINE_EVENTS.UNREGISTERED);\n\n expect(listener).toBeCalledOnceWith(undefined);\n });\n\n it('does not emit error when no line error is provided', () => {\n const listener = jest.fn();\n\n line.on(LINE_EVENTS.ERROR, listener);\n line.lineEmitter(LINE_EVENTS.ERROR);\n\n expect(listener).not.toBeCalled();\n });\n });\n\n describe('Line calling tests', () => {\n let line;\n\n beforeEach(() => {\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO\n );\n });\n\n afterEach(() => {\n jest.clearAllTimers();\n jest.clearAllMocks();\n jest.useRealTimers();\n line.removeAllListeners();\n });\n it('Return a successful call object while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '5003', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:5003',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(line.getCall(call ? call.getCorrelationId() : '')).toBe(call);\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n call?.end();\n });\n\n it('Return a successful call object while making call to FAC codes', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '*25', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:*25',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n call?.end();\n });\n\n it('Remove spaces from dialled number while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '+91 123 456 7890', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:+911234567890',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n expect(call ? call.destination.address : undefined).toStrictEqual('tel:+911234567890');\n call?.end();\n });\n\n it('Remove hyphen from dialled number while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '123-456-7890', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:1234567890',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n expect(call ? call.destination.address : undefined).toStrictEqual('tel:1234567890');\n call?.end();\n });\n\n it('attempt to create call with incorrect number format 1', (done) => {\n // There may be other listeners , which may create race\n line.removeAllListeners(LINE_EVENTS.ERROR);\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'An invalid phone number was detected. Check the number and try again.'\n );\n done();\n });\n try {\n const call = line.makeCall({address: 'select#$@^^', type: CallType.URI});\n\n expect(call).toBeUndefined();\n expect(createCallSpy).not.toBeCalledOnceWith({});\n } catch (error) {\n done(error);\n }\n });\n\n it('attempt to create call with incorrect number format 2', (done) => {\n expect.assertions(4);\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'An invalid phone number was detected. Check the number and try again.'\n );\n done();\n });\n\n try {\n const call = line.makeCall({address: '+1@8883332505', type: CallType.URI});\n\n expect(call).toBeUndefined();\n expect(createCallSpy).not.toBeCalledOnceWith({});\n } catch (error) {\n done(error);\n }\n });\n\n it('attempt to create call with guest calling service indicator', () => {\n expect.assertions(2);\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n\n // Mocking the serviceData to have GUEST_CALLING indicator\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO,\n {indicator: ServiceIndicator.GUEST_CALLING}\n );\n const call = line.makeCall();\n\n expect(call).toBeTruthy();\n expect(createCallSpy).toBeCalledWith(CallDirection.OUTBOUND, undefined, expect.any(String));\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
+ _Object$defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.LINE_EVENTS = void 0;
8
+ var LINE_EVENTS = exports.LINE_EVENTS = /*#__PURE__*/function (LINE_EVENTS) {
9
+ LINE_EVENTS["CONNECTING"] = "connecting";
10
+ LINE_EVENTS["ERROR"] = "error";
11
+ LINE_EVENTS["RECONNECTED"] = "reconnected";
12
+ LINE_EVENTS["RECONNECTING"] = "reconnecting";
13
+ LINE_EVENTS["REGISTERED"] = "registered";
14
+ LINE_EVENTS["UNREGISTERED"] = "unregistered";
15
+ LINE_EVENTS["INCOMING_CALL"] = "line:incoming_call";
16
+ return LINE_EVENTS;
17
+ }({});
18
+ /**
19
+ * Represents an interface for managing a telephony line.
20
+ */
21
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["LINE_EVENTS","exports"],"sources":["types.ts"],"sourcesContent":["import {LineEventTypes} from '../../Events/types';\nimport {Eventing} from '../../Events/impl';\nimport {IRegistration} from '../registration/types';\nimport {LineError} from '../../Errors/catalog/LineError';\nimport {\n CallDetails,\n CorrelationId,\n IDeviceInfo,\n MobiusDeviceId,\n RegistrationStatus,\n} from '../../common/types';\nimport {ICall} from '../calling/types';\n\nexport enum LINE_EVENTS {\n CONNECTING = 'connecting',\n ERROR = 'error',\n RECONNECTED = 'reconnected',\n RECONNECTING = 'reconnecting',\n REGISTERED = 'registered',\n UNREGISTERED = 'unregistered',\n INCOMING_CALL = 'line:incoming_call',\n}\n\n/**\n * Represents an interface for managing a telephony line.\n */\nexport interface ILine extends Eventing<LineEventTypes> {\n /**\n * The unique identifier of the user associated with the line.\n */\n userId: string;\n\n /**\n * The URI of the client device associated with the line.\n */\n clientDeviceUri: string;\n\n /**\n * The unique identifier of the line.\n */\n lineId: string;\n\n /**\n * The optional Mobius device identifier associated with the line.\n */\n mobiusDeviceId?: string;\n\n /**\n * The phone number associated with the line.\n */\n phoneNumber?: string;\n\n /**\n * The extension number associated with the line.\n */\n extension?: string;\n\n /**\n * An array of SIP addresses associated with the line.\n */\n sipAddresses?: string[];\n\n /**\n * The voicemail number associated with the line.\n */\n voicemail?: string;\n\n /**\n * The timestamp when the line was last seen.\n */\n lastSeen?: string;\n\n /**\n * The interval for sending keep-alive messages for the line.\n */\n keepaliveInterval?: number;\n\n /**\n * The interval for sending call keep-alive messages for the line.\n */\n callKeepaliveInterval?: number;\n\n /**\n * The minimum rehoming interval for the line.\n */\n rehomingIntervalMin?: number;\n\n /**\n * The maximum rehoming interval for the line.\n */\n rehomingIntervalMax?: number;\n\n /**\n * The voice portal number associated with the line.\n */\n voicePortalNumber?: number;\n\n /**\n * The voice portal extension associated with the line.\n */\n voicePortalExtension?: number;\n\n /**\n * The registration information for the line as {@link IRegistration}.\n */\n registration: IRegistration;\n\n /**\n * Registers the line.\n */\n register(): void;\n\n /**\n * Deregisters the line.\n */\n deregister(): void;\n\n /**\n * Retrieves the active Mobius server URL associated with the line.\n *\n */\n getActiveMobiusUrl(): string;\n\n /**\n * Retrieves the registration status of the line as {@link MobiusStatus}.\n *\n */\n getStatus(): RegistrationStatus;\n\n /**\n * Retrieves the device identifier associated with the line as {@link MobiusDeviceId},\n * or `undefined` if no device is associated.\n *\n */\n getDeviceId(): MobiusDeviceId | undefined;\n\n /**\n * Emits line-related events.\n *\n * @param event - The line event to emit.\n * @param deviceInfo - Additional device information (optional).\n * @param lineError - Information about line-related errors (optional).\n *\n * @example\n * ```typescript\n * line.lineEmitter(LINE_EVENTS.UNREGISTERED);\n * ```\n * @ignore\n */\n lineEmitter: (event: LINE_EVENTS, deviceInfo?: IDeviceInfo, lineError?: LineError) => void;\n\n /**\n * Initiates a call to the specified destination.\n *\n * @param dest - The call details including destination information.\n *\n * @example\n * ```typescript\n * const callDetails : CallDetails = {type: 'uri', address: 'example@webex.com'};\n * const callObj: ICall = line.makeCall(callDetails);\n * ```\n */\n makeCall(dest?: CallDetails): ICall | undefined;\n\n /**\n * Retrieves a call object based on the provided correlation identifier.\n *\n * @param correlationId - The correlation identifier of the call.\n * @example\n * ```typescript\n * const callObj: ICall = line.getCall(correlationId);\n * ```\n */\n getCall(correlationId: CorrelationId): ICall;\n}\n\nexport type LineEmitterCallback = (\n event: LINE_EVENTS,\n deviceInfo?: IDeviceInfo,\n clientError?: LineError\n) => void;\n\nexport type LineErrorEmitterCallback = (err: LineError, finalError?: boolean) => void;\n"],"mappings":";;;;;;;IAaYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAUvB;AACA;AACA","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
+ var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
5
+ _Object$defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ var _register = require("./register");
9
+ _Object$keys(_register).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _register[key]) return;
12
+ _Object$defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _register[key];
16
+ }
17
+ });
18
+ });
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_register","require","_Object$keys","forEach","key","exports","_Object$defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["export * from './register';\n"],"mappings":";;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAAAC,YAAA,CAAAF,SAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAJ,SAAA,CAAAI,GAAA;EAAAE,sBAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAR,SAAA,CAAAI,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}