@webex/calling 3.0.0-next.5 → 3.0.0-next.50

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 (246) hide show
  1. package/dist/CallHistory/CallHistory.js +201 -0
  2. package/dist/CallHistory/CallHistory.js.map +1 -0
  3. package/dist/CallHistory/CallHistory.test.js +142 -0
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -0
  5. package/dist/CallHistory/callHistoryFixtures.js +366 -0
  6. package/dist/CallHistory/callHistoryFixtures.js.map +1 -0
  7. package/dist/CallHistory/constants.js +17 -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/CallSettings/CallSettings.js +279 -0
  12. package/dist/CallSettings/CallSettings.js.map +1 -0
  13. package/dist/CallSettings/CallSettings.test.js +122 -0
  14. package/dist/CallSettings/CallSettings.test.js.map +1 -0
  15. package/dist/CallSettings/UcmBackendConnector.js +216 -0
  16. package/dist/CallSettings/UcmBackendConnector.js.map +1 -0
  17. package/dist/CallSettings/UcmBackendConnector.test.js +259 -0
  18. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -0
  19. package/dist/CallSettings/WxCallBackendConnector.js +547 -0
  20. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -0
  21. package/dist/CallSettings/WxCallBackendConnector.test.js +802 -0
  22. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -0
  23. package/dist/CallSettings/constants.js +19 -0
  24. package/dist/CallSettings/constants.js.map +1 -0
  25. package/dist/CallSettings/testFixtures.js +68 -0
  26. package/dist/CallSettings/testFixtures.js.map +1 -0
  27. package/dist/CallSettings/types.js +7 -0
  28. package/dist/CallSettings/types.js.map +1 -0
  29. package/dist/CallingClient/CallingClient.js +631 -0
  30. package/dist/CallingClient/CallingClient.js.map +1 -0
  31. package/dist/CallingClient/CallingClient.test.js +992 -0
  32. package/dist/CallingClient/CallingClient.test.js.map +1 -0
  33. package/dist/CallingClient/callRecordFixtures.js +101 -0
  34. package/dist/CallingClient/callRecordFixtures.js.map +1 -0
  35. package/dist/CallingClient/calling/CallerId/index.js +267 -0
  36. package/dist/CallingClient/calling/CallerId/index.js.map +1 -0
  37. package/dist/CallingClient/calling/CallerId/index.test.js +274 -0
  38. package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -0
  39. package/dist/CallingClient/calling/CallerId/types.js +7 -0
  40. package/dist/CallingClient/calling/CallerId/types.js.map +1 -0
  41. package/dist/CallingClient/calling/call.js +3055 -0
  42. package/dist/CallingClient/calling/call.js.map +1 -0
  43. package/dist/CallingClient/calling/call.test.js +2858 -0
  44. package/dist/CallingClient/calling/call.test.js.map +1 -0
  45. package/dist/CallingClient/calling/callManager.js +432 -0
  46. package/dist/CallingClient/calling/callManager.js.map +1 -0
  47. package/dist/CallingClient/calling/callManager.test.js +683 -0
  48. package/dist/CallingClient/calling/callManager.test.js.map +1 -0
  49. package/dist/CallingClient/calling/index.js +30 -0
  50. package/dist/CallingClient/calling/index.js.map +1 -0
  51. package/dist/CallingClient/calling/types.js +69 -0
  52. package/dist/CallingClient/calling/types.js.map +1 -0
  53. package/dist/CallingClient/callingClientFixtures.js +143 -0
  54. package/dist/CallingClient/callingClientFixtures.js.map +1 -0
  55. package/dist/CallingClient/constants.js +134 -0
  56. package/dist/CallingClient/constants.js.map +1 -0
  57. package/dist/CallingClient/line/index.js +314 -0
  58. package/dist/CallingClient/line/index.js.map +1 -0
  59. package/dist/CallingClient/line/line.test.js +270 -0
  60. package/dist/CallingClient/line/line.test.js.map +1 -0
  61. package/dist/CallingClient/line/types.js +21 -0
  62. package/dist/CallingClient/line/types.js.map +1 -0
  63. package/dist/CallingClient/registration/index.js +19 -0
  64. package/dist/CallingClient/registration/index.js.map +1 -0
  65. package/dist/CallingClient/registration/register.js +1286 -0
  66. package/dist/CallingClient/registration/register.js.map +1 -0
  67. package/dist/CallingClient/registration/register.test.js +839 -0
  68. package/dist/CallingClient/registration/register.test.js.map +1 -0
  69. package/dist/CallingClient/registration/registerFixtures.js +36 -0
  70. package/dist/CallingClient/registration/registerFixtures.js.map +1 -0
  71. package/dist/CallingClient/registration/types.js +7 -0
  72. package/dist/CallingClient/registration/types.js.map +1 -0
  73. package/dist/CallingClient/types.js +7 -0
  74. package/dist/CallingClient/types.js.map +1 -0
  75. package/dist/Contacts/ContactsClient.js +1156 -0
  76. package/dist/Contacts/ContactsClient.js.map +1 -0
  77. package/dist/Contacts/ContactsClient.test.js +725 -0
  78. package/dist/Contacts/ContactsClient.test.js.map +1 -0
  79. package/dist/Contacts/constants.js +28 -0
  80. package/dist/Contacts/constants.js.map +1 -0
  81. package/dist/Contacts/contactFixtures.js +314 -0
  82. package/dist/Contacts/contactFixtures.js.map +1 -0
  83. package/dist/Contacts/types.js +43 -0
  84. package/dist/Contacts/types.js.map +1 -0
  85. package/dist/Errors/catalog/CallError.js +92 -0
  86. package/dist/Errors/catalog/CallError.js.map +1 -0
  87. package/dist/Errors/catalog/CallingDeviceError.js +86 -0
  88. package/dist/Errors/catalog/CallingDeviceError.js.map +1 -0
  89. package/dist/Errors/catalog/ExtendedError.js +44 -0
  90. package/dist/Errors/catalog/ExtendedError.js.map +1 -0
  91. package/dist/Errors/catalog/LineError.js +88 -0
  92. package/dist/Errors/catalog/LineError.js.map +1 -0
  93. package/dist/Errors/index.js +28 -0
  94. package/dist/Errors/index.js.map +1 -0
  95. package/dist/Errors/types.js +57 -0
  96. package/dist/Errors/types.js.map +1 -0
  97. package/dist/Events/impl/index.js +81 -0
  98. package/dist/Events/impl/index.js.map +1 -0
  99. package/dist/Events/types.js +103 -0
  100. package/dist/Events/types.js.map +1 -0
  101. package/dist/Logger/index.js +220 -0
  102. package/dist/Logger/index.js.map +1 -0
  103. package/dist/Logger/index.test.js +62 -0
  104. package/dist/Logger/index.test.js.map +1 -0
  105. package/dist/Logger/types.js +34 -0
  106. package/dist/Logger/types.js.map +1 -0
  107. package/dist/Metrics/index.js +327 -0
  108. package/dist/Metrics/index.js.map +1 -0
  109. package/dist/Metrics/index.test.js +291 -0
  110. package/dist/Metrics/index.test.js.map +1 -0
  111. package/dist/Metrics/types.js +45 -0
  112. package/dist/Metrics/types.js.map +1 -0
  113. package/dist/SDKConnector/index.js +104 -0
  114. package/dist/SDKConnector/index.js.map +1 -0
  115. package/dist/SDKConnector/index.test.js +9 -0
  116. package/dist/SDKConnector/index.test.js.map +1 -0
  117. package/dist/SDKConnector/types.js +7 -0
  118. package/dist/SDKConnector/types.js.map +1 -0
  119. package/dist/SDKConnector/utils.js +39 -0
  120. package/dist/SDKConnector/utils.js.map +1 -0
  121. package/dist/SDKConnector/utils.test.js +9 -0
  122. package/dist/SDKConnector/utils.test.js.map +1 -0
  123. package/dist/Voicemail/BroadworksBackendConnector.js +641 -0
  124. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -0
  125. package/dist/Voicemail/BroadworksBackendConnector.test.js +733 -0
  126. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -0
  127. package/dist/Voicemail/UcmBackendConnector.js +574 -0
  128. package/dist/Voicemail/UcmBackendConnector.js.map +1 -0
  129. package/dist/Voicemail/UcmBackendConnector.test.js +629 -0
  130. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -0
  131. package/dist/Voicemail/Voicemail.js +380 -0
  132. package/dist/Voicemail/Voicemail.js.map +1 -0
  133. package/dist/Voicemail/Voicemail.test.js +226 -0
  134. package/dist/Voicemail/Voicemail.test.js.map +1 -0
  135. package/dist/Voicemail/WxCallBackendConnector.js +547 -0
  136. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -0
  137. package/dist/Voicemail/WxCallBackendConnector.test.js +942 -0
  138. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -0
  139. package/dist/Voicemail/constants.js +37 -0
  140. package/dist/Voicemail/constants.js.map +1 -0
  141. package/dist/Voicemail/types.js +7 -0
  142. package/dist/Voicemail/types.js.map +1 -0
  143. package/dist/Voicemail/voicemailFixture.js +524 -0
  144. package/dist/Voicemail/voicemailFixture.js.map +1 -0
  145. package/dist/api.js +157 -0
  146. package/dist/api.js.map +1 -0
  147. package/dist/common/Utils.js +1257 -0
  148. package/dist/common/Utils.js.map +1 -0
  149. package/dist/common/Utils.test.js +1227 -0
  150. package/dist/common/Utils.test.js.map +1 -0
  151. package/dist/common/constants.js +49 -0
  152. package/dist/common/constants.js.map +1 -0
  153. package/dist/common/index.js +19 -0
  154. package/dist/common/index.js.map +1 -0
  155. package/dist/common/testUtil.js +959 -0
  156. package/dist/common/testUtil.js.map +1 -0
  157. package/dist/common/types.js +66 -0
  158. package/dist/common/types.js.map +1 -0
  159. package/dist/index.js +309 -0
  160. package/dist/index.js.map +1 -0
  161. package/dist/module/CallHistory/CallHistory.js +7 -5
  162. package/dist/module/CallHistory/callHistoryFixtures.js +59 -0
  163. package/dist/module/CallSettings/UcmBackendConnector.js +4 -4
  164. package/dist/module/CallingClient/CallingClient.js +59 -42
  165. package/dist/module/CallingClient/calling/CallerId/index.js +3 -23
  166. package/dist/module/CallingClient/calling/call.js +69 -26
  167. package/dist/module/CallingClient/calling/callManager.js +0 -6
  168. package/dist/module/CallingClient/callingClientFixtures.js +119 -1
  169. package/dist/module/CallingClient/constants.js +8 -4
  170. package/dist/module/CallingClient/line/index.js +9 -12
  171. package/dist/module/CallingClient/line/types.js +0 -5
  172. package/dist/module/CallingClient/registration/register.js +28 -20
  173. package/dist/module/Contacts/ContactsClient.js +3 -0
  174. package/dist/module/Errors/catalog/CallingDeviceError.js +2 -2
  175. package/dist/module/Errors/catalog/LineError.js +2 -2
  176. package/dist/module/Errors/index.js +1 -0
  177. package/dist/module/Events/types.js +2 -0
  178. package/dist/module/api.js +6 -5
  179. package/dist/module/common/Utils.js +14 -19
  180. package/dist/module/common/testUtil.js +2 -1
  181. package/dist/module/common/types.js +6 -5
  182. package/dist/module/index.js +9 -0
  183. package/dist/types/CallHistory/CallHistory.d.ts +2 -1
  184. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  185. package/dist/types/CallHistory/callHistoryFixtures.d.ts +1 -0
  186. package/dist/types/CallHistory/callHistoryFixtures.d.ts.map +1 -1
  187. package/dist/types/CallSettings/CallSettings.d.ts.map +1 -1
  188. package/dist/types/CallSettings/UcmBackendConnector.d.ts +1 -1
  189. package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
  190. package/dist/types/CallSettings/types.d.ts +1 -0
  191. package/dist/types/CallSettings/types.d.ts.map +1 -1
  192. package/dist/types/CallingClient/CallingClient.d.ts +2 -0
  193. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  194. package/dist/types/CallingClient/calling/CallerId/index.d.ts.map +1 -1
  195. package/dist/types/CallingClient/calling/CallerId/types.d.ts.map +1 -1
  196. package/dist/types/CallingClient/calling/call.d.ts +2 -0
  197. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  198. package/dist/types/CallingClient/calling/callManager.d.ts +0 -1
  199. package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
  200. package/dist/types/CallingClient/calling/types.d.ts +30 -30
  201. package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
  202. package/dist/types/CallingClient/callingClientFixtures.d.ts +69 -1
  203. package/dist/types/CallingClient/callingClientFixtures.d.ts.map +1 -1
  204. package/dist/types/CallingClient/constants.d.ts +7 -3
  205. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  206. package/dist/types/CallingClient/line/index.d.ts +6 -6
  207. package/dist/types/CallingClient/line/index.d.ts.map +1 -1
  208. package/dist/types/CallingClient/line/types.d.ts +11 -23
  209. package/dist/types/CallingClient/line/types.d.ts.map +1 -1
  210. package/dist/types/CallingClient/registration/register.d.ts +3 -3
  211. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  212. package/dist/types/CallingClient/registration/types.d.ts +14 -14
  213. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  214. package/dist/types/CallingClient/types.d.ts +6 -4
  215. package/dist/types/CallingClient/types.d.ts.map +1 -1
  216. package/dist/types/Contacts/ContactsClient.d.ts +3 -2
  217. package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
  218. package/dist/types/Contacts/types.d.ts +2 -0
  219. package/dist/types/Contacts/types.d.ts.map +1 -1
  220. package/dist/types/Errors/catalog/CallingDeviceError.d.ts +4 -4
  221. package/dist/types/Errors/catalog/CallingDeviceError.d.ts.map +1 -1
  222. package/dist/types/Errors/catalog/LineError.d.ts +4 -4
  223. package/dist/types/Errors/catalog/LineError.d.ts.map +1 -1
  224. package/dist/types/Errors/index.d.ts +1 -0
  225. package/dist/types/Errors/index.d.ts.map +1 -1
  226. package/dist/types/Errors/types.d.ts +2 -3
  227. package/dist/types/Errors/types.d.ts.map +1 -1
  228. package/dist/types/Events/types.d.ts +28 -5
  229. package/dist/types/Events/types.d.ts.map +1 -1
  230. package/dist/types/SDKConnector/types.d.ts +2 -1
  231. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  232. package/dist/types/Voicemail/UcmBackendConnector.d.ts +1 -1
  233. package/dist/types/Voicemail/Voicemail.d.ts.map +1 -1
  234. package/dist/types/Voicemail/WxCallBackendConnector.d.ts +1 -1
  235. package/dist/types/Voicemail/types.d.ts +10 -10
  236. package/dist/types/Voicemail/types.d.ts.map +1 -1
  237. package/dist/types/api.d.ts +10 -10
  238. package/dist/types/api.d.ts.map +1 -1
  239. package/dist/types/common/Utils.d.ts.map +1 -1
  240. package/dist/types/common/testUtil.d.ts +1 -0
  241. package/dist/types/common/testUtil.d.ts.map +1 -1
  242. package/dist/types/common/types.d.ts +3 -2
  243. package/dist/types/common/types.d.ts.map +1 -1
  244. package/dist/types/index.d.ts +13 -0
  245. package/dist/types/index.d.ts.map +1 -1
  246. package/package.json +4 -3
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Media","_interopRequireWildcard","require","_asyncMutex","_Utils","_types","_SDKConnector","_interopRequireDefault","_impl","_types2","_types3","_Logger","_callManager","_constants","_line","_types4","_Metrics","_getRequireWildcardCache","e","_WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","_Object$defineProperty","_Object$getOwnPropertyDescriptor","u","Object","prototype","hasOwnProperty","call","i","set","_createForOfIteratorHelper","o","allowArrayLike","it","_Symbol","_Symbol$iterator","_Array$isArray","_unsupportedIterableToArray","length","F","s","done","value","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","return","minLen","_arrayLikeToArray","toString","slice","constructor","name","_Array$from","test","arr","len","arr2","Array","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","valueOf","CallingClient","exports","_Eventing","_inherits2","_super","webex","config","_this$sdkConfig","_this$sdkConfig$servi","_this$sdkConfig2","_this$sdkConfig2$logg","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","_asyncToGenerator2","_regenerator","mark","_callee2","registration","wrap","_callee2$","_context2","prev","_values","lineDict","isDeviceRegistered","mutex","runExclusive","_callee","_callee$","_context","isReconnectPending","log","file","CALLING_CLIENT_FILE","method","CALLS_CLEARED_HANDLER_UTIL","reconnectOnFailure","stop","sdkConnector","SDKConnector","getWebex","setWebex","Mutex","sdkConfig","serviceData","indicator","ServiceIndicator","CALLING","domain","logLevel","logger","level","LOGGER","ERROR","validateServiceData","callManager","getCallManager","metricManager","getMetricManager","mediaEngine","primaryMobiusUris","backupMobiusUris","mobiusClusters","internal","services","_hostCatalog","MOBIUS_US_PROD","MOBIUS_EU_PROD","MOBIUS_US_INT","MOBIUS_EU_INT","mobiusHost","registerSessionsListener","setLogger","registerCallsClearedListener","_createClass2","key","_init","_callee3","_callee3$","_context3","getMobiusServers","createLine","detectNetworkChange","init","_detectNetworkChange","_callee5","_this2","retry","line","_callee5$","_context5","setInterval","_callee4","_callee4$","_context4","mercury","connected","_keys","getActiveCalls","warn","clearKeepaliveTimer","getStatus","RegistrationStatus","IDLE","handleConnectionRestoration","sent","NETWORK_FLAP_TIMEOUT","_getClientRegionInfo","_callee6","_this3","regionInfo","_iterator","_step","mobius","temp","myIP","response","clientRegionInfo","_callee6$","_context6","concat","host","API_V1","request","uri","URL_ENDPOINT","IP_ENDPOINT","HTTP_METHODS","GET","headers","CISCO_DEVICE_URL","device","url","SPARK_USER_AGENT","CALLING_USER_AGENT","service","ALLOWED_SERVICES","MOBIUS","body","ipv4","DISCOVERY_URL","addAuthHeader","clientRegion","countryCode","abrupt","t0","handleCallingClientErrors","clientError","submitRegistrationMetric","METRIC_EVENT","REGISTRATION_ERROR","REG_ACTION","REGISTER","METRIC_TYPE","BEHAVIORAL","emit","CALLING_CLIENT_EVENT_KEYS","GET_MOBIUS_SERVERS_UTIL","t1","finish","getClientRegionInfo","_getMobiusServers","_callee7","_this$sdkConfig3","_this$sdkConfig3$disc","_this$sdkConfig4","_this$sdkConfig4$disc","_this4","useDefault","_this$sdkConfig5","_this$sdkConfig5$disc","_this$sdkConfig6","_this$sdkConfig6$disc","mobiusServers","mobiusUris","_callee7$","_context7","discovery","country","region","info","_serviceUrls","filterMobiusUris","primary","backup","logContext","on","ALL_CALLS_CLEARED","callsClearedHandler","getLoggingLevel","getLogLevel","getSDKConnector","_this5","registerListener","MOBIUS_EVENT_KEYS","CALL_SESSION_EVENT_INCLUSIVE","_ref4","_callee8","event","sessionArr","_callee8$","_context8","data","userSessions","sessionType","SessionType","WEBEX_CALLING","splice","USER_SESSION_INFO","_x","_createLine","_callee9","_this$sdkConfig7","_callee9$","_context9","Line","userId","lineId","getLines","activeCalls","calls","forEach","correlationId","push","getConnectedCall","connectCall","isConnected","isHeld","Eventing","createClient","_ref5","_callee10","callingClientInstance","_callee10$","_context10","_x2","_x3"],"sources":["CallingClient.ts"],"sourcesContent":["/* eslint-disable no-underscore-dangle */\n/* eslint-disable valid-jsdoc */\n/* eslint-disable @typescript-eslint/no-shadow */\nimport * as Media from '@webex/internal-media-core';\nimport {Mutex} from 'async-mutex';\nimport {filterMobiusUris, handleCallingClientErrors, validateServiceData} from '../common/Utils';\nimport {LOGGER, LogContext} from '../Logger/types';\nimport SDKConnector from '../SDKConnector';\nimport {ClientRegionInfo, ISDKConnector, ServiceHost, WebexSDK} from '../SDKConnector/types';\nimport {Eventing} from '../Events/impl';\nimport {\n CallingClientEventTypes,\n MOBIUS_EVENT_KEYS,\n CallSessionEvent,\n SessionType,\n CALLING_CLIENT_EVENT_KEYS,\n} from '../Events/types';\nimport {\n ServiceIndicator,\n RegionInfo,\n ALLOWED_SERVICES,\n HTTP_METHODS,\n IpInfo,\n MobiusServers,\n WebexRequestPayload,\n RegistrationStatus,\n} from '../common/types';\nimport {ICallingClient, CallingClientConfig} from './types';\nimport {ICall, ICallManager} from './calling/types';\nimport log from '../Logger';\nimport {getCallManager} from './calling/callManager';\nimport {\n CALLING_CLIENT_FILE,\n CALLS_CLEARED_HANDLER_UTIL,\n CALLING_USER_AGENT,\n CISCO_DEVICE_URL,\n DISCOVERY_URL,\n GET_MOBIUS_SERVERS_UTIL,\n IP_ENDPOINT,\n SPARK_USER_AGENT,\n URL_ENDPOINT,\n NETWORK_FLAP_TIMEOUT,\n API_V1,\n MOBIUS_US_PROD,\n MOBIUS_EU_PROD,\n MOBIUS_US_INT,\n MOBIUS_EU_INT,\n} from './constants';\nimport Line from './line';\nimport {ILine} from './line/types';\nimport {METRIC_EVENT, REG_ACTION, METRIC_TYPE, IMetricManager} from '../Metrics/types';\nimport {getMetricManager} from '../Metrics';\n\n/**\n * The `CallingClient` module provides a set of APIs for line registration and calling functionalities within the SDK.\n *\n * The following code snippet demonstrates how to create an instance of `CallingClient` using a `webex` instance and `callingConfig`:\n *\n * @example\n * ```javascript\n * const callingClient = createClient(webex, callingConfig);\n * ```\n */\n\nexport class CallingClient extends Eventing<CallingClientEventTypes> implements ICallingClient {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private mutex: Mutex;\n\n private callManager: ICallManager;\n\n private metricManager: IMetricManager;\n\n private sdkConfig?: CallingClientConfig;\n\n private primaryMobiusUris: string[];\n\n private backupMobiusUris: string[];\n\n private mobiusClusters: ServiceHost[];\n\n private mobiusHost: string;\n\n public mediaEngine: typeof Media;\n\n private lineDict: Record<string, ILine> = {};\n\n /**\n * @ignore\n */\n constructor(webex: WebexSDK, config?: CallingClientConfig) {\n super();\n this.sdkConnector = SDKConnector;\n\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n this.mutex = new Mutex();\n this.webex = this.sdkConnector.getWebex();\n\n this.sdkConfig = config;\n const serviceData = this.sdkConfig?.serviceData?.indicator\n ? this.sdkConfig.serviceData\n : {indicator: ServiceIndicator.CALLING, domain: ''};\n\n const logLevel = this.sdkConfig?.logger?.level ? this.sdkConfig.logger.level : LOGGER.ERROR;\n validateServiceData(serviceData);\n\n this.callManager = getCallManager(this.webex, serviceData.indicator);\n this.metricManager = getMetricManager(this.webex, serviceData.indicator);\n\n this.mediaEngine = Media;\n\n this.primaryMobiusUris = [];\n this.backupMobiusUris = [];\n this.mobiusClusters =\n this.webex.internal.services._hostCatalog[MOBIUS_US_PROD] ||\n this.webex.internal.services._hostCatalog[MOBIUS_EU_PROD] ||\n this.webex.internal.services._hostCatalog[MOBIUS_US_INT] ||\n this.webex.internal.services._hostCatalog[MOBIUS_EU_INT];\n this.mobiusHost = '';\n\n this.registerSessionsListener();\n\n log.setLogger(logLevel, CALLING_CLIENT_FILE);\n\n this.registerCallsClearedListener();\n }\n\n // async calls required to run after constructor\n\n /**\n * Initializes the `CallingClient` by performing the following steps:\n *\n * 1. Retrieves list of servers.\n * 2. Creates a line.\n * 3. Sets up network change detection.\n *\n * This method should be called once to initialize the `callingClient`.\n *\n * @returns A promise that resolves when the initialization is complete.\n * @ignore\n */\n public async init() {\n await this.getMobiusServers();\n await this.createLine();\n\n /* Better to run the timer once rather than after every registration */\n this.detectNetworkChange();\n }\n\n /**\n * Register callbacks for network changes.\n */\n private async detectNetworkChange() {\n let retry = false;\n\n // this is a temporary logic to get registration obj\n // it will change once we have proper lineId and multiple lines as well\n const line = Object.values(this.lineDict)[0];\n\n setInterval(async () => {\n if (\n !this.webex.internal.mercury.connected &&\n !retry &&\n !Object.keys(this.callManager.getActiveCalls()).length\n ) {\n log.warn(`Network has flapped, waiting for mercury connection to be up`, {\n file: CALLING_CLIENT_FILE,\n method: this.detectNetworkChange.name,\n });\n\n line.registration.clearKeepaliveTimer();\n\n retry = true;\n }\n\n if (retry && this.webex.internal.mercury.connected) {\n if (line.getStatus() !== RegistrationStatus.IDLE) {\n retry = await line.registration.handleConnectionRestoration(retry);\n } else {\n retry = false;\n }\n }\n }, NETWORK_FLAP_TIMEOUT);\n }\n\n /**\n * Fetches countryCode and region of the client.\n */\n private async getClientRegionInfo(): Promise<RegionInfo> {\n const regionInfo = {} as RegionInfo;\n\n for (const mobius of this.mobiusClusters) {\n this.mobiusHost = `https://${mobius.host}${API_V1}`;\n\n try {\n // eslint-disable-next-line no-await-in-loop\n const temp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.mobiusHost}${URL_ENDPOINT}${IP_ENDPOINT}`,\n method: HTTP_METHODS.GET,\n headers: {\n [CISCO_DEVICE_URL]: this.webex.internal.device.url,\n [SPARK_USER_AGENT]: CALLING_USER_AGENT,\n },\n service: ALLOWED_SERVICES.MOBIUS,\n });\n\n const myIP = (temp.body as IpInfo).ipv4;\n // eslint-disable-next-line no-await-in-loop\n const response = <WebexRequestPayload>await this.webex.request({\n uri: `${DISCOVERY_URL}/${myIP}`,\n method: HTTP_METHODS.GET,\n addAuthHeader: false,\n headers: {\n [SPARK_USER_AGENT]: null,\n },\n });\n\n const clientRegionInfo = response.body as ClientRegionInfo;\n\n regionInfo.clientRegion = clientRegionInfo?.clientRegion\n ? clientRegionInfo.clientRegion\n : '';\n\n regionInfo.countryCode = clientRegionInfo?.countryCode ? clientRegionInfo.countryCode : '';\n break;\n } catch (err: unknown) {\n handleCallingClientErrors(\n err as WebexRequestPayload,\n (clientError) => {\n this.metricManager.submitRegistrationMetric(\n METRIC_EVENT.REGISTRATION_ERROR,\n REG_ACTION.REGISTER,\n METRIC_TYPE.BEHAVIORAL,\n clientError\n );\n this.emit(CALLING_CLIENT_EVENT_KEYS.ERROR, clientError);\n },\n {method: GET_MOBIUS_SERVERS_UTIL, file: CALLING_CLIENT_FILE}\n );\n regionInfo.clientRegion = '';\n regionInfo.countryCode = '';\n }\n }\n\n return regionInfo;\n }\n\n /**\n * Local method for finding the mobius servers.\n */\n private async getMobiusServers() {\n /* Following operations are performed in a synchronous way ->\n\n 1. Get RegionInfo\n 2. Get Mobius Server with that RegionInfo\n 3. Check whether Mobius server was found without any error\n 4. If there is error , we don't need to send registration\n 5. Otherwise send registration\n */\n\n let useDefault = false;\n\n let clientRegion: string;\n let countryCode: string;\n\n if (this.sdkConfig?.discovery?.country && this.sdkConfig?.discovery?.region) {\n log.info('Updating region and country from the SDK config', {\n file: CALLING_CLIENT_FILE,\n method: GET_MOBIUS_SERVERS_UTIL,\n });\n clientRegion = this.sdkConfig?.discovery?.region;\n countryCode = this.sdkConfig?.discovery?.country;\n this.mobiusHost = this.webex.internal.services._serviceUrls.mobius;\n } else {\n log.info('Updating region and country through Region discovery', {\n file: CALLING_CLIENT_FILE,\n method: GET_MOBIUS_SERVERS_UTIL,\n });\n\n const regionInfo = await this.getClientRegionInfo();\n\n clientRegion = regionInfo.clientRegion;\n countryCode = regionInfo.countryCode;\n }\n\n if (clientRegion && countryCode) {\n log.log(\n `Found Region: ${clientRegion} and country: ${countryCode}, going to fetch Mobius server`,\n '' as LogContext\n );\n\n try {\n // eslint-disable-next-line no-await-in-loop\n const temp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.mobiusHost}${URL_ENDPOINT}?regionCode=${clientRegion}&countryCode=${countryCode}`,\n method: HTTP_METHODS.GET,\n headers: {\n [CISCO_DEVICE_URL]: this.webex.internal.device.url,\n [SPARK_USER_AGENT]: CALLING_USER_AGENT,\n },\n service: ALLOWED_SERVICES.MOBIUS,\n });\n\n log.log('Mobius Server found for the region', '' as LogContext);\n const mobiusServers = temp.body as MobiusServers;\n\n /* update arrays of Mobius Uris. */\n const mobiusUris = filterMobiusUris(mobiusServers, this.mobiusHost);\n this.primaryMobiusUris = mobiusUris.primary;\n this.backupMobiusUris = mobiusUris.backup;\n log.info(\n `Final list of Mobius Servers, primary: ${mobiusUris.primary} and backup: ${mobiusUris.backup}`,\n '' as LogContext\n );\n } catch (err: unknown) {\n handleCallingClientErrors(\n err as WebexRequestPayload,\n (clientError) => {\n this.metricManager.submitRegistrationMetric(\n METRIC_EVENT.REGISTRATION_ERROR,\n REG_ACTION.REGISTER,\n METRIC_TYPE.BEHAVIORAL,\n clientError\n );\n this.emit(CALLING_CLIENT_EVENT_KEYS.ERROR, clientError);\n },\n {method: GET_MOBIUS_SERVERS_UTIL, file: CALLING_CLIENT_FILE}\n );\n\n useDefault = true;\n }\n } else {\n /* Setting this to true because region info is possibly undefined */\n useDefault = true;\n }\n\n /* Use a default URL if Mobius discovery fails either because of region info failure\n * or because the discovered Mobius couldn't be reached\n */\n\n if (useDefault) {\n log.warn(\n `Couldn't resolve the region and country code. Defaulting to the catalog entries to discover mobius servers`,\n '' as LogContext\n );\n this.mobiusHost = `https://${this.mobiusClusters[0].host}${API_V1}`;\n this.primaryMobiusUris = [`${this.mobiusHost}${URL_ENDPOINT}`];\n }\n }\n\n /**\n * Registers a listener/handler for ALL_CALLS_CLEARED\n * event emitted by callManager when all the calls\n * present on sdk are cleaned up.\n */\n private registerCallsClearedListener() {\n const logContext = {\n file: CALLING_CLIENT_FILE,\n method: this.registerCallsClearedListener.name,\n };\n\n log.log('Registering listener for all calls cleared event', logContext);\n this.callManager.on(CALLING_CLIENT_EVENT_KEYS.ALL_CALLS_CLEARED, this.callsClearedHandler);\n }\n\n /**\n * Handler registered for ALL_CALLS_CLEARED event emitted by callManager.\n *\n * If re-register attempt was deferred earlier due to active call(s), then it\n * will be attempted here on receiving a notification from callManager that all\n * calls are cleaned up.\n */\n private callsClearedHandler = async () => {\n // this is a temporary logic to get registration obj\n // it will change once we have proper lineId and multiple lines as well\n const {registration} = Object.values(this.lineDict)[0];\n\n if (!registration.isDeviceRegistered()) {\n await this.mutex.runExclusive(async () => {\n if (registration.isReconnectPending()) {\n log.log('All calls cleared, reconnecting', {\n file: CALLING_CLIENT_FILE,\n method: CALLS_CLEARED_HANDLER_UTIL,\n });\n await registration.reconnectOnFailure(CALLS_CLEARED_HANDLER_UTIL);\n }\n });\n }\n };\n\n /**\n * To get the current log Level.\n * @ignore\n */\n public getLoggingLevel(): LOGGER {\n return log.getLogLevel();\n }\n\n /**\n * To return the `sdkConnector` instance that was used during sdk initialisation.\n * @ignore\n */\n public getSDKConnector(): ISDKConnector {\n return this.sdkConnector;\n }\n\n private registerSessionsListener() {\n this.sdkConnector.registerListener<CallSessionEvent>(\n MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_INCLUSIVE,\n async (event?: CallSessionEvent) => {\n if (event && event.data.userSessions.userSessions) {\n const sessionArr = event?.data.userSessions.userSessions;\n\n if (sessionArr.length === 1) {\n if (sessionArr[0].sessionType !== SessionType.WEBEX_CALLING) {\n return;\n }\n }\n\n for (let i = 0; i < sessionArr.length; i += 1) {\n if (sessionArr[i].sessionType !== SessionType.WEBEX_CALLING) {\n sessionArr.splice(i, 1);\n }\n }\n this.emit(CALLING_CLIENT_EVENT_KEYS.USER_SESSION_INFO, event as CallSessionEvent);\n }\n }\n );\n }\n\n /**\n * Creates line object inside calling client per user\n * NOTE: currently multiple lines are not supported\n */\n private async createLine(): Promise<void> {\n const line = new Line(\n this.webex.internal.device.userId,\n this.webex.internal.device.url,\n this.mutex,\n this.primaryMobiusUris,\n this.backupMobiusUris,\n this.getLoggingLevel(),\n this.sdkConfig?.serviceData\n );\n\n this.lineDict[line.lineId] = line;\n }\n\n /**\n * Retrieves details of all the Line objects belonging to a User\n * NOTE: currently multiple lines are not supported\n */\n public getLines(): Record<string, ILine> {\n return this.lineDict;\n }\n\n /**\n * Retrieves call objects for all the active calls present in the client\n */\n public getActiveCalls(): Record<string, ICall[]> {\n const activeCalls = {};\n const calls = this.callManager.getActiveCalls();\n Object.keys(calls).forEach((correlationId) => {\n const call = calls[correlationId];\n if (!activeCalls[call.lineId]) {\n activeCalls[call.lineId] = [];\n }\n activeCalls[call.lineId].push(call);\n });\n\n return activeCalls;\n }\n\n /**\n * Retrieves call object for the connected call in the client\n */\n public getConnectedCall(): ICall | undefined {\n let connectCall;\n const calls = this.callManager.getActiveCalls();\n\n Object.keys(calls).forEach((correlationId) => {\n if (calls[correlationId].isConnected() && !calls[correlationId].isHeld()) {\n connectCall = calls[correlationId];\n }\n });\n\n return connectCall;\n }\n}\n\n/**\n * Create the `CallingClient` instance using the `webex` object and callingSdk `config`\n * @param webex - A webex instance.\n * @param config - Config to start the CallingClient with.\n */\nexport const createClient = async (\n webex: WebexSDK,\n config?: CallingClientConfig\n): Promise<ICallingClient> => {\n const callingClientInstance = new CallingClient(webex, config);\n await callingClientInstance.init();\n\n return callingClientInstance;\n};\n"],"mappings":"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"}