@webex/calling 3.8.1-next.14 → 3.8.1-next.16

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.
@@ -335,7 +335,7 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
335
335
  value: (function () {
336
336
  var _getClientRegionInfo = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
337
337
  var _this3 = this;
338
- var regionInfo, _iterator, _step, _loop;
338
+ var abort, regionInfo, _iterator, _step, _loop, _ret;
339
339
  return _regenerator.default.wrap(function _callee6$(_context7) {
340
340
  while (1) switch (_context7.prev = _context7.next) {
341
341
  case 0:
@@ -380,7 +380,7 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
380
380
  clientRegionInfo = response.body;
381
381
  regionInfo.clientRegion = clientRegionInfo !== null && clientRegionInfo !== void 0 && clientRegionInfo.clientRegion ? clientRegionInfo.clientRegion : '';
382
382
  regionInfo.countryCode = clientRegionInfo !== null && clientRegionInfo !== void 0 && clientRegionInfo.countryCode ? clientRegionInfo.countryCode : '';
383
- return _context6.abrupt("return", 1);
383
+ return _context6.abrupt("return", 0);
384
384
  case 16:
385
385
  _context6.prev = 16;
386
386
  _context6.t0 = _context6["catch"](2);
@@ -389,7 +389,10 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
389
389
  method: _constants2.METHODS.GET_CLIENT_REGION_INFO,
390
390
  file: _constants2.CALLING_CLIENT_FILE
391
391
  });
392
- (0, _Utils.handleCallingClientErrors)(_context6.t0, function (clientError) {
392
+
393
+ // eslint-disable-next-line no-await-in-loop
394
+ _context6.next = 22;
395
+ return (0, _Utils.handleCallingClientErrors)(_context6.t0, function (clientError) {
393
396
  var _headers$trackingId, _headers3;
394
397
  _this3.metricManager.submitRegistrationMetric(_types4.METRIC_EVENT.REGISTRATION_ERROR, _types4.REG_ACTION.REGISTER, _types4.METRIC_TYPE.BEHAVIORAL, _constants2.GET_MOBIUS_SERVERS_UTIL, 'UNKNOWN', (_headers$trackingId = (_headers3 = _context6.t0.headers) === null || _headers3 === void 0 ? void 0 : _headers3.trackingId) !== null && _headers$trackingId !== void 0 ? _headers$trackingId : '', undefined, clientError);
395
398
  _this3.emit(_types2.CALLING_CLIENT_EVENT_KEYS.ERROR, clientError);
@@ -397,9 +400,18 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
397
400
  method: _constants2.GET_MOBIUS_SERVERS_UTIL,
398
401
  file: _constants2.CALLING_CLIENT_FILE
399
402
  });
403
+ case 22:
404
+ abort = _context6.sent;
400
405
  regionInfo.clientRegion = '';
401
406
  regionInfo.countryCode = '';
402
- case 23:
407
+ if (!abort) {
408
+ _context6.next = 27;
409
+ break;
410
+ }
411
+ return _context6.abrupt("return", {
412
+ v: regionInfo
413
+ });
414
+ case 27:
403
415
  case "end":
404
416
  return _context6.stop();
405
417
  }
@@ -408,37 +420,44 @@ var CallingClient = exports.CallingClient = /*#__PURE__*/function (_Eventing) {
408
420
  _iterator.s();
409
421
  case 6:
410
422
  if ((_step = _iterator.n()).done) {
411
- _context7.next = 12;
423
+ _context7.next = 15;
412
424
  break;
413
425
  }
414
426
  return _context7.delegateYield(_loop(), "t0", 8);
415
427
  case 8:
416
- if (!_context7.t0) {
417
- _context7.next = 10;
428
+ _ret = _context7.t0;
429
+ if (!(_ret === 0)) {
430
+ _context7.next = 11;
418
431
  break;
419
432
  }
420
- return _context7.abrupt("break", 12);
421
- case 10:
433
+ return _context7.abrupt("break", 15);
434
+ case 11:
435
+ if (!_ret) {
436
+ _context7.next = 13;
437
+ break;
438
+ }
439
+ return _context7.abrupt("return", _ret.v);
440
+ case 13:
422
441
  _context7.next = 6;
423
442
  break;
424
- case 12:
425
- _context7.next = 17;
443
+ case 15:
444
+ _context7.next = 20;
426
445
  break;
427
- case 14:
428
- _context7.prev = 14;
429
- _context7.t1 = _context7["catch"](3);
430
- _iterator.e(_context7.t1);
431
446
  case 17:
432
447
  _context7.prev = 17;
433
- _iterator.f();
434
- return _context7.finish(17);
448
+ _context7.t1 = _context7["catch"](3);
449
+ _iterator.e(_context7.t1);
435
450
  case 20:
451
+ _context7.prev = 20;
452
+ _iterator.f();
453
+ return _context7.finish(20);
454
+ case 23:
436
455
  return _context7.abrupt("return", regionInfo);
437
- case 21:
456
+ case 24:
438
457
  case "end":
439
458
  return _context7.stop();
440
459
  }
441
- }, _callee6, this, [[3, 14, 17, 20]]);
460
+ }, _callee6, this, [[3, 17, 20, 23]]);
442
461
  }));
443
462
  function getClientRegionInfo() {
444
463
  return _getClientRegionInfo.apply(this, arguments);
@@ -1 +1 @@
1
- {"version":3,"names":["Media","_interopRequireWildcard","require","_asyncMutex","_constants","_Utils","_types","_SDKConnector","_interopRequireDefault","_impl","_types2","_types3","_Logger","_callManager","_constants2","_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","log","info","METHOD_START_MESSAGE","file","CALLING_CLIENT_FILE","method","METHODS","CALLS_CLEARED_HANDLER","_values","lineDict","isDeviceRegistered","mutex","runExclusive","_callee","_callee$","_context","isReconnectPending","CALLS_CLEARED_HANDLER_UTIL","reconnectOnFailure","stop","sdkConnector","SDKConnector","getWebex","_config$logger","setWebex","logger","level","setWebexLogger","Mutex","sdkConfig","serviceData","indicator","ServiceIndicator","CALLING","domain","logLevel","LOGGER","ERROR","setLogger","validateServiceData","callManager","getCallManager","metricManager","getMetricManager","mediaEngine","adaptedLogger","_len","args","_key","join","error","_len2","_key2","warn","_len3","_key3","_len4","_key4","trace","_len5","_key5","debug","_len6","_key6","primaryMobiusUris","backupMobiusUris","mobiusServiceHost","URL","internal","services","_serviceUrls","mobius","host","_hostCatalog","mobiusClusters","MOBIUS_US_PROD","MOBIUS_EU_PROD","MOBIUS_US_INT","MOBIUS_EU_INT","mobiusObject","_services","find","item","serviceName","serviceUrls","baseUrl","mobiusHost","registerSessionsListener","registerCallsClearedListener","_createClass2","key","_init","_callee3","_callee3$","_context3","getMobiusServers","createLine","detectNetworkChange","init","_detectNetworkChange","_callee5","_this2","retry","line","_callee5$","_context5","DETECT_NETWORK_CHANGE","setInterval","_callee4","_callee4$","_context4","mercury","connected","_keys","getActiveCalls","clearKeepaliveTimer","getStatus","RegistrationStatus","IDLE","handleConnectionRestoration","sent","NETWORK_FLAP_TIMEOUT","_getClientRegionInfo","_callee6","_this3","regionInfo","_iterator","_step","_loop","_callee6$","_context7","GET_CLIENT_REGION_INFO","temp","myIP","response","clientRegionInfo","extendedError","_loop$","_context6","concat","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","Error","handleCallingClientErrors","clientError","_headers$trackingId","_headers3","submitRegistrationMetric","METRIC_EVENT","REGISTRATION_ERROR","REG_ACTION","REGISTER","METRIC_TYPE","BEHAVIORAL","GET_MOBIUS_SERVERS_UTIL","trackingId","undefined","emit","CALLING_CLIENT_EVENT_KEYS","delegateYield","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$","_context8","GET_MOBIUS_SERVERS","discovery","country","region","filterMobiusUris","primary","backup","_headers$trackingId2","_headers5","REGISTER_CALLS_CLEARED_LISTENER","on","ALL_CALLS_CLEARED","callsClearedHandler","getLoggingLevel","getLogLevel","getSDKConnector","_this5","REGISTER_SESSIONS_LISTENER","registerListener","MOBIUS_EVENT_KEYS","CALL_SESSION_EVENT_INCLUSIVE","_ref4","_callee8","event","sessionArr","_callee8$","_context9","data","userSessions","sessionType","SessionType","WEBEX_CALLING","splice","USER_SESSION_INFO","_x","_createLine","_callee9","_this$sdkConfig7","_this$sdkConfig8","_callee9$","_context10","CREATE_LINE","Line","userId","jwe","lineId","getLines","activeCalls","calls","forEach","correlationId","push","getConnectedCall","connectCall","isConnected","isHeld","_uploadLogs2","_callee10","_callee10$","_context11","uploadLogs","Eventing","createClient","_ref5","_callee11","callingClientInstance","_callee11$","_context12","_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 ExtendedError from 'Errors/catalog/ExtendedError';\nimport {METHOD_START_MESSAGE} from '../common/constants';\nimport {\n filterMobiusUris,\n handleCallingClientErrors,\n uploadLogs,\n validateServiceData,\n} 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 UploadLogsResponse,\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 METHODS,\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 if (config?.logger?.level && webex.logger.config) {\n webex.logger.config.level = config.logger.level; // override the webex logger level\n }\n log.setWebexLogger(webex.logger);\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 log.setLogger(logLevel, CALLING_CLIENT_FILE);\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 const adaptedLogger: Media.Logger = {\n log: (...args) => webex.logger.log(args.join(' : ')),\n error: (...args) => webex.logger.error(args.join(' : ')),\n warn: (...args) => webex.logger.warn(args.join(' : ')),\n info: (...args) => webex.logger.info(args.join(' : ')),\n trace: (...args) => webex.logger.trace(args.join(' : ')),\n debug: (...args) => webex.logger.debug(args.join(' : ')),\n };\n\n this.mediaEngine.setLogger(adaptedLogger);\n\n this.primaryMobiusUris = [];\n this.backupMobiusUris = [];\n let mobiusServiceHost = '';\n try {\n mobiusServiceHost = new URL(this.webex.internal.services._serviceUrls.mobius).host;\n } catch (error) {\n log.warn(`Failed to parse mobius service URL`, {\n file: CALLING_CLIENT_FILE,\n method: this.constructor.name,\n });\n }\n\n // TODO: This is a temp fix - https://jira-eng-sjc12.cisco.com/jira/browse/CAI-6809\n if (this.webex.internal.services._hostCatalog) {\n this.mobiusClusters =\n (mobiusServiceHost && this.webex.internal.services._hostCatalog[mobiusServiceHost]) ||\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 } else {\n // @ts-ignore\n const mobiusObject = this.webex.internal.services._services.find(\n // @ts-ignore\n (item) => item.serviceName === 'mobius'\n );\n this.mobiusClusters = [mobiusObject.serviceUrls[0].baseUrl];\n }\n this.mobiusHost = '';\n\n this.registerSessionsListener();\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 log.info(METHOD_START_MESSAGE, {\n file: CALLING_CLIENT_FILE,\n method: METHODS.DETECT_NETWORK_CHANGE,\n });\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: METHODS.DETECT_NETWORK_CHANGE,\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 log.info(METHOD_START_MESSAGE, {\n file: CALLING_CLIENT_FILE,\n method: METHODS.GET_CLIENT_REGION_INFO,\n });\n const regionInfo = {} as RegionInfo;\n\n for (const mobius of this.mobiusClusters) {\n if (mobius.host) {\n this.mobiusHost = `https://${mobius.host}${API_V1}`;\n } else {\n this.mobiusHost = mobius as unknown as string;\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}${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 const extendedError = new Error(\n `Failed to get client region info: ${err}`\n ) as ExtendedError;\n log.error(extendedError, {\n method: METHODS.GET_CLIENT_REGION_INFO,\n file: CALLING_CLIENT_FILE,\n });\n\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 GET_MOBIUS_SERVERS_UTIL,\n 'UNKNOWN',\n (err as WebexRequestPayload).headers?.trackingId ?? '',\n undefined,\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 log.info(METHOD_START_MESSAGE, {\n file: CALLING_CLIENT_FILE,\n method: METHODS.GET_MOBIUS_SERVERS,\n });\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.log('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.log('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 const extendedError = new Error(`Failed to get Mobius servers: ${err}`) as ExtendedError;\n log.error(extendedError, {\n method: METHODS.GET_MOBIUS_SERVERS,\n file: CALLING_CLIENT_FILE,\n });\n\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 GET_MOBIUS_SERVERS_UTIL,\n 'UNKNOWN',\n (err as WebexRequestPayload).headers?.trackingId ?? '',\n undefined,\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 log.info(METHOD_START_MESSAGE, {\n file: CALLING_CLIENT_FILE,\n method: METHODS.REGISTER_CALLS_CLEARED_LISTENER,\n });\n\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 log.info(METHOD_START_MESSAGE, {\n file: CALLING_CLIENT_FILE,\n method: METHODS.CALLS_CLEARED_HANDLER,\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 {registration} = Object.values(this.lineDict)[0];\n\n if (!registration.isDeviceRegistered()) {\n await this.mutex.runExclusive(async () => {\n if (registration.isReconnectPending()) {\n log.info('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 log.info(METHOD_START_MESSAGE, {\n file: CALLING_CLIENT_FILE,\n method: METHODS.REGISTER_SESSIONS_LISTENER,\n });\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 log.info(METHOD_START_MESSAGE, {\n file: CALLING_CLIENT_FILE,\n method: METHODS.CREATE_LINE,\n });\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 this.sdkConfig?.jwe\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 * Uploads logs to help troubleshoot SDK issues.\n *\n * This method collects the current SDK logs including network requests, WebSocket\n * messages, and client-side events, then securely submits them to Webex's diagnostics\n * service. The returned tracking ID, feedbackID can be provided to Webex support for faster\n * issue resolution.\n * @returns Promise<UploadLogsResponse>\n * @throws Error\n */\n public async uploadLogs(): Promise<UploadLogsResponse> {\n const result = await uploadLogs({}, true);\n if (!result) {\n throw new Error('Failed to upload logs: No response received.');\n }\n\n return result;\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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"}
1
+ {"version":3,"names":["Media","_interopRequireWildcard","require","_asyncMutex","_constants","_Utils","_types","_SDKConnector","_interopRequireDefault","_impl","_types2","_types3","_Logger","_callManager","_constants2","_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","log","info","METHOD_START_MESSAGE","file","CALLING_CLIENT_FILE","method","METHODS","CALLS_CLEARED_HANDLER","_values","lineDict","isDeviceRegistered","mutex","runExclusive","_callee","_callee$","_context","isReconnectPending","CALLS_CLEARED_HANDLER_UTIL","reconnectOnFailure","stop","sdkConnector","SDKConnector","getWebex","_config$logger","setWebex","logger","level","setWebexLogger","Mutex","sdkConfig","serviceData","indicator","ServiceIndicator","CALLING","domain","logLevel","LOGGER","ERROR","setLogger","validateServiceData","callManager","getCallManager","metricManager","getMetricManager","mediaEngine","adaptedLogger","_len","args","_key","join","error","_len2","_key2","warn","_len3","_key3","_len4","_key4","trace","_len5","_key5","debug","_len6","_key6","primaryMobiusUris","backupMobiusUris","mobiusServiceHost","URL","internal","services","_serviceUrls","mobius","host","_hostCatalog","mobiusClusters","MOBIUS_US_PROD","MOBIUS_EU_PROD","MOBIUS_US_INT","MOBIUS_EU_INT","mobiusObject","_services","find","item","serviceName","serviceUrls","baseUrl","mobiusHost","registerSessionsListener","registerCallsClearedListener","_createClass2","key","_init","_callee3","_callee3$","_context3","getMobiusServers","createLine","detectNetworkChange","init","_detectNetworkChange","_callee5","_this2","retry","line","_callee5$","_context5","DETECT_NETWORK_CHANGE","setInterval","_callee4","_callee4$","_context4","mercury","connected","_keys","getActiveCalls","clearKeepaliveTimer","getStatus","RegistrationStatus","IDLE","handleConnectionRestoration","sent","NETWORK_FLAP_TIMEOUT","_getClientRegionInfo","_callee6","_this3","abort","regionInfo","_iterator","_step","_loop","_ret","_callee6$","_context7","GET_CLIENT_REGION_INFO","temp","myIP","response","clientRegionInfo","extendedError","_loop$","_context6","concat","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","Error","handleCallingClientErrors","clientError","_headers$trackingId","_headers3","submitRegistrationMetric","METRIC_EVENT","REGISTRATION_ERROR","REG_ACTION","REGISTER","METRIC_TYPE","BEHAVIORAL","GET_MOBIUS_SERVERS_UTIL","trackingId","undefined","emit","CALLING_CLIENT_EVENT_KEYS","v","delegateYield","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$","_context8","GET_MOBIUS_SERVERS","discovery","country","region","filterMobiusUris","primary","backup","_headers$trackingId2","_headers5","REGISTER_CALLS_CLEARED_LISTENER","on","ALL_CALLS_CLEARED","callsClearedHandler","getLoggingLevel","getLogLevel","getSDKConnector","_this5","REGISTER_SESSIONS_LISTENER","registerListener","MOBIUS_EVENT_KEYS","CALL_SESSION_EVENT_INCLUSIVE","_ref4","_callee8","event","sessionArr","_callee8$","_context9","data","userSessions","sessionType","SessionType","WEBEX_CALLING","splice","USER_SESSION_INFO","_x","_createLine","_callee9","_this$sdkConfig7","_this$sdkConfig8","_callee9$","_context10","CREATE_LINE","Line","userId","jwe","lineId","getLines","activeCalls","calls","forEach","correlationId","push","getConnectedCall","connectCall","isConnected","isHeld","_uploadLogs2","_callee10","_callee10$","_context11","uploadLogs","Eventing","createClient","_ref5","_callee11","callingClientInstance","_callee11$","_context12","_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 ExtendedError from 'Errors/catalog/ExtendedError';\nimport {METHOD_START_MESSAGE} from '../common/constants';\nimport {\n filterMobiusUris,\n handleCallingClientErrors,\n uploadLogs,\n validateServiceData,\n} 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 UploadLogsResponse,\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 METHODS,\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 if (config?.logger?.level && webex.logger.config) {\n webex.logger.config.level = config.logger.level; // override the webex logger level\n }\n log.setWebexLogger(webex.logger);\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 log.setLogger(logLevel, CALLING_CLIENT_FILE);\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 const adaptedLogger: Media.Logger = {\n log: (...args) => webex.logger.log(args.join(' : ')),\n error: (...args) => webex.logger.error(args.join(' : ')),\n warn: (...args) => webex.logger.warn(args.join(' : ')),\n info: (...args) => webex.logger.info(args.join(' : ')),\n trace: (...args) => webex.logger.trace(args.join(' : ')),\n debug: (...args) => webex.logger.debug(args.join(' : ')),\n };\n\n this.mediaEngine.setLogger(adaptedLogger);\n\n this.primaryMobiusUris = [];\n this.backupMobiusUris = [];\n let mobiusServiceHost = '';\n try {\n mobiusServiceHost = new URL(this.webex.internal.services._serviceUrls.mobius).host;\n } catch (error) {\n log.warn(`Failed to parse mobius service URL`, {\n file: CALLING_CLIENT_FILE,\n method: this.constructor.name,\n });\n }\n\n // TODO: This is a temp fix - https://jira-eng-sjc12.cisco.com/jira/browse/CAI-6809\n if (this.webex.internal.services._hostCatalog) {\n this.mobiusClusters =\n (mobiusServiceHost && this.webex.internal.services._hostCatalog[mobiusServiceHost]) ||\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 } else {\n // @ts-ignore\n const mobiusObject = this.webex.internal.services._services.find(\n // @ts-ignore\n (item) => item.serviceName === 'mobius'\n );\n this.mobiusClusters = [mobiusObject.serviceUrls[0].baseUrl];\n }\n this.mobiusHost = '';\n\n this.registerSessionsListener();\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 log.info(METHOD_START_MESSAGE, {\n file: CALLING_CLIENT_FILE,\n method: METHODS.DETECT_NETWORK_CHANGE,\n });\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: METHODS.DETECT_NETWORK_CHANGE,\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 let abort;\n log.info(METHOD_START_MESSAGE, {\n file: CALLING_CLIENT_FILE,\n method: METHODS.GET_CLIENT_REGION_INFO,\n });\n const regionInfo = {} as RegionInfo;\n\n for (const mobius of this.mobiusClusters) {\n if (mobius.host) {\n this.mobiusHost = `https://${mobius.host}${API_V1}`;\n } else {\n this.mobiusHost = mobius as unknown as string;\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}${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\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 const extendedError = new Error(\n `Failed to get client region info: ${err}`\n ) as ExtendedError;\n log.error(extendedError, {\n method: METHODS.GET_CLIENT_REGION_INFO,\n file: CALLING_CLIENT_FILE,\n });\n\n // eslint-disable-next-line no-await-in-loop\n abort = await 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 GET_MOBIUS_SERVERS_UTIL,\n 'UNKNOWN',\n (err as WebexRequestPayload).headers?.trackingId ?? '',\n undefined,\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 regionInfo.clientRegion = '';\n regionInfo.countryCode = '';\n\n if (abort) {\n return regionInfo;\n }\n }\n }\n\n return regionInfo;\n }\n\n /**\n * Local method for finding the mobius servers.\n */\n private async getMobiusServers() {\n log.info(METHOD_START_MESSAGE, {\n file: CALLING_CLIENT_FILE,\n method: METHODS.GET_MOBIUS_SERVERS,\n });\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.log('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.log('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 const extendedError = new Error(`Failed to get Mobius servers: ${err}`) as ExtendedError;\n log.error(extendedError, {\n method: METHODS.GET_MOBIUS_SERVERS,\n file: CALLING_CLIENT_FILE,\n });\n\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 GET_MOBIUS_SERVERS_UTIL,\n 'UNKNOWN',\n (err as WebexRequestPayload).headers?.trackingId ?? '',\n undefined,\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 log.info(METHOD_START_MESSAGE, {\n file: CALLING_CLIENT_FILE,\n method: METHODS.REGISTER_CALLS_CLEARED_LISTENER,\n });\n\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 log.info(METHOD_START_MESSAGE, {\n file: CALLING_CLIENT_FILE,\n method: METHODS.CALLS_CLEARED_HANDLER,\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 {registration} = Object.values(this.lineDict)[0];\n\n if (!registration.isDeviceRegistered()) {\n await this.mutex.runExclusive(async () => {\n if (registration.isReconnectPending()) {\n log.info('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 log.info(METHOD_START_MESSAGE, {\n file: CALLING_CLIENT_FILE,\n method: METHODS.REGISTER_SESSIONS_LISTENER,\n });\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 log.info(METHOD_START_MESSAGE, {\n file: CALLING_CLIENT_FILE,\n method: METHODS.CREATE_LINE,\n });\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 this.sdkConfig?.jwe\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 * Uploads logs to help troubleshoot SDK issues.\n *\n * This method collects the current SDK logs including network requests, WebSocket\n * messages, and client-side events, then securely submits them to Webex's diagnostics\n * service. The returned tracking ID, feedbackID can be provided to Webex support for faster\n * issue resolution.\n * @returns Promise<UploadLogsResponse>\n * @throws Error\n */\n public async uploadLogs(): Promise<UploadLogsResponse> {\n const result = await uploadLogs({}, true);\n if (!result) {\n throw new Error('Failed to upload logs: No response received.');\n }\n\n return result;\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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"}