@webex/calling 3.0.0-next.7 → 3.0.0-next.8

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.
@@ -36,8 +36,6 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_R
36
36
  * ```javascript
37
37
  * const callHistory = createCallHistoryClient(webex, logger);
38
38
  * ```
39
- *
40
- * @implements {ICallHistory}
41
39
  */
42
40
  var CallHistory = /*#__PURE__*/function (_Eventing) {
43
41
  (0, _inherits2.default)(CallHistory, _Eventing);
@@ -1 +1 @@
1
- {"version":3,"names":["_SDKConnector","_interopRequireDefault","require","_types","_Logger","_Utils","_constants","_constants2","_types2","_impl","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","CallHistory","_Eventing","_inherits2","_super","webex","logger","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","file","CALL_HISTORY_FILE","method","sdkConnector","SDKConnector","getWebex","setWebex","janusUrl","internal","services","_serviceUrls","janus","registerSessionsListener","log","setLogger","level","_createClass2","key","value","_getCallHistoryData","_asyncToGenerator2","_regenerator","mark","_callee","days","limit","sort","sortBy","date","sortByParam","sortParam","url","janusResponse","responseDetails","errorInfo","errorStatus","_args","wrap","_callee$","_context","prev","next","length","undefined","NUMBER_OF_DAYS","LIMIT","SORT","DEFAULT","SORT_BY","Date","setDate","getDate","fromDate","toISOString","_values","includes","concat","loggerContext","info","HISTORY","USER_SESSIONS","FROM_DATE","request","uri","HTTP_METHODS","GET","service","ALLOWED_SERVICES","JANUS","sent","userSessions","body","START_TIME","DESC","element","compareElement","getTime","ASC","statusCode","STATUS_CODE","data","message","SUCCESS_MESSAGE","abrupt","t0","serviceErrorCodeHandler","stop","getCallHistoryData","_this2","registerListener","MOBIUS_EVENT_KEYS","CALL_SESSION_EVENT_INCLUSIVE","_ref","_callee2","event","_callee2$","_context2","emit","COMMON_EVENT_KEYS","CALL_HISTORY_USER_SESSION_INFO","_x","Eventing","exports","createCallHistoryClient"],"sources":["CallHistory.ts"],"sourcesContent":["/* eslint-disable dot-notation */\n/* eslint-disable no-underscore-dangle */\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {ALLOWED_SERVICES, HTTP_METHODS, WebexRequestPayload, SORT, SORT_BY} from '../common/types';\nimport {ICallHistory, JanusResponseEvent, LoggerInterface} from './types';\nimport log from '../Logger';\nimport {serviceErrorCodeHandler} from '../common/Utils';\nimport {CALL_HISTORY_FILE, FROM_DATE, HISTORY, LIMIT, NUMBER_OF_DAYS} from './constants';\nimport {STATUS_CODE, SUCCESS_MESSAGE, USER_SESSIONS} from '../common/constants';\nimport {\n COMMON_EVENT_KEYS,\n CallHistoryEventTypes,\n CallSessionEvent,\n MOBIUS_EVENT_KEYS,\n UserSession,\n} from '../Events/types';\nimport {Eventing} from '../Events/impl';\n/**\n * `CallHistory` module is designed to facilitate the retrieval of Call History Records by providing a set of APIs.\n *\n * This code snippet demonstrates how to create an instance of `CallHistory` using webex and logger.\n *\n * Example\n * ```javascript\n * const callHistory = createCallHistoryClient(webex, logger);\n * ```\n *\n * @implements {ICallHistory}\n */\nexport class CallHistory extends Eventing<CallHistoryEventTypes> implements ICallHistory {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private janusUrl = '';\n\n private fromDate = '';\n\n private loggerContext = {\n file: CALL_HISTORY_FILE,\n method: 'getCallHistoryData',\n };\n\n private userSessions: UserSession[] | undefined;\n\n /**\n * @ignore\n */\n constructor(webex: WebexSDK, logger: LoggerInterface) {\n super();\n this.sdkConnector = SDKConnector;\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n this.webex = this.sdkConnector.getWebex();\n this.janusUrl = this.webex.internal.services._serviceUrls.janus;\n this.registerSessionsListener();\n log.setLogger(logger.level, CALL_HISTORY_FILE);\n }\n\n /**\n * Function to display the Janus API response.\n * @param days - Number of days to fetch the call history data.\n * @param limit - Number of records to be fetched.\n * @param sort - Sort the records in ascending or descending order.\n * @param sortBy - Sort the records by start time or end time.\n */\n public async getCallHistoryData(\n days: number = NUMBER_OF_DAYS,\n limit: number = LIMIT,\n sort: SORT = SORT.DEFAULT,\n sortBy: SORT_BY = SORT_BY.DEFAULT\n ): Promise<JanusResponseEvent> {\n /*\n 1. Mandatory field for Janus API - fromDate\n 2. Calculating the fromDate by deducting the NUMBER_OF_DAYS with the current date\n */\n const date = new Date();\n\n date.setDate(date.getDate() - days);\n this.fromDate = date.toISOString();\n const sortByParam = Object.values(SORT_BY).includes(sortBy) ? sortBy : SORT_BY.DEFAULT;\n const sortParam = Object.values(SORT).includes(sort) ? sort : SORT.DEFAULT;\n\n log.log(`Janus API URL ${this.janusUrl}`, this.loggerContext);\n log.info(`Call history from date : ${this.fromDate}`, this.loggerContext);\n log.info(`Call history sort type : ${sortParam}`, this.loggerContext);\n log.info(`Call history sortby type : ${sortByParam}`, this.loggerContext);\n const url = `${this.janusUrl}/${HISTORY}/${USER_SESSIONS}${FROM_DATE}=${this.fromDate}&limit=${limit}&includeNewSessionTypes=true&sort=${sortParam}`;\n\n try {\n const janusResponse = <WebexRequestPayload>await this.webex.request({\n uri: `${url}`,\n method: HTTP_METHODS.GET,\n service: ALLOWED_SERVICES.JANUS,\n });\n\n this.userSessions = janusResponse.body as UserSession[];\n if (sortByParam === SORT_BY.START_TIME) {\n if (sortParam === SORT.DESC) {\n this.userSessions[USER_SESSIONS].sort(\n (element: Date, compareElement: Date) =>\n new Date(compareElement[sortByParam]).getTime() -\n new Date(element[sortByParam]).getTime()\n );\n } else if (sortParam === SORT.ASC) {\n this.userSessions[USER_SESSIONS].sort(\n (element: Date, compareElement: Date) =>\n new Date(element[sortByParam]).getTime() -\n new Date(compareElement[sortByParam]).getTime()\n );\n }\n }\n const responseDetails = {\n statusCode: this.userSessions[STATUS_CODE],\n data: {\n userSessions: this.userSessions[USER_SESSIONS],\n },\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, this.loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\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 this.emit(COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSION_INFO, event as CallSessionEvent);\n }\n }\n );\n }\n}\n/**\n * Creates a `CallHistory` client instance for accessing Call History APIs.\n *\n * @param {WebexSDK} webex - `Webex SDK` instance.\n * @param {LoggerInterface} logger - An instance implementing LoggerInterface used to set the log level for the module.\n */\nexport const createCallHistoryClient = (webex: WebexSDK, logger: LoggerInterface): ICallHistory =>\n new CallHistory(webex, logger);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_SDKConnector","_interopRequireDefault","require","_types","_Logger","_Utils","_constants","_constants2","_types2","_impl","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","CallHistory","_Eventing","_inherits2","_super","webex","logger","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","file","CALL_HISTORY_FILE","method","sdkConnector","SDKConnector","getWebex","setWebex","janusUrl","internal","services","_serviceUrls","janus","registerSessionsListener","log","setLogger","level","_createClass2","key","value","_getCallHistoryData","_asyncToGenerator2","_regenerator","mark","_callee","days","limit","sort","sortBy","date","sortByParam","sortParam","url","janusResponse","responseDetails","errorInfo","errorStatus","_args","wrap","_callee$","_context","prev","next","length","undefined","NUMBER_OF_DAYS","LIMIT","SORT","DEFAULT","SORT_BY","Date","setDate","getDate","fromDate","toISOString","_values","includes","concat","loggerContext","info","HISTORY","USER_SESSIONS","FROM_DATE","request","uri","HTTP_METHODS","GET","service","ALLOWED_SERVICES","JANUS","sent","userSessions","body","START_TIME","DESC","element","compareElement","getTime","ASC","statusCode","STATUS_CODE","data","message","SUCCESS_MESSAGE","abrupt","t0","serviceErrorCodeHandler","stop","getCallHistoryData","_this2","registerListener","MOBIUS_EVENT_KEYS","CALL_SESSION_EVENT_INCLUSIVE","_ref","_callee2","event","_callee2$","_context2","emit","COMMON_EVENT_KEYS","CALL_HISTORY_USER_SESSION_INFO","_x","Eventing","exports","createCallHistoryClient"],"sources":["CallHistory.ts"],"sourcesContent":["/* eslint-disable dot-notation */\n/* eslint-disable no-underscore-dangle */\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {ALLOWED_SERVICES, HTTP_METHODS, WebexRequestPayload, SORT, SORT_BY} from '../common/types';\nimport {ICallHistory, JanusResponseEvent, LoggerInterface} from './types';\nimport log from '../Logger';\nimport {serviceErrorCodeHandler} from '../common/Utils';\nimport {CALL_HISTORY_FILE, FROM_DATE, HISTORY, LIMIT, NUMBER_OF_DAYS} from './constants';\nimport {STATUS_CODE, SUCCESS_MESSAGE, USER_SESSIONS} from '../common/constants';\nimport {\n COMMON_EVENT_KEYS,\n CallHistoryEventTypes,\n CallSessionEvent,\n MOBIUS_EVENT_KEYS,\n UserSession,\n} from '../Events/types';\nimport {Eventing} from '../Events/impl';\n/**\n * `CallHistory` module is designed to facilitate the retrieval of Call History Records by providing a set of APIs.\n *\n * This code snippet demonstrates how to create an instance of `CallHistory` using webex and logger.\n *\n * Example\n * ```javascript\n * const callHistory = createCallHistoryClient(webex, logger);\n * ```\n */\nexport class CallHistory extends Eventing<CallHistoryEventTypes> implements ICallHistory {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private janusUrl = '';\n\n private fromDate = '';\n\n private loggerContext = {\n file: CALL_HISTORY_FILE,\n method: 'getCallHistoryData',\n };\n\n private userSessions: UserSession[] | undefined;\n\n /**\n * @ignore\n */\n constructor(webex: WebexSDK, logger: LoggerInterface) {\n super();\n this.sdkConnector = SDKConnector;\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n this.webex = this.sdkConnector.getWebex();\n this.janusUrl = this.webex.internal.services._serviceUrls.janus;\n this.registerSessionsListener();\n log.setLogger(logger.level, CALL_HISTORY_FILE);\n }\n\n /**\n * Function to display the Janus API response.\n * @param days - Number of days to fetch the call history data.\n * @param limit - Number of records to be fetched.\n * @param sort - Sort the records in ascending or descending order.\n * @param sortBy - Sort the records by start time or end time.\n */\n public async getCallHistoryData(\n days: number = NUMBER_OF_DAYS,\n limit: number = LIMIT,\n sort: SORT = SORT.DEFAULT,\n sortBy: SORT_BY = SORT_BY.DEFAULT\n ): Promise<JanusResponseEvent> {\n /*\n 1. Mandatory field for Janus API - fromDate\n 2. Calculating the fromDate by deducting the NUMBER_OF_DAYS with the current date\n */\n const date = new Date();\n\n date.setDate(date.getDate() - days);\n this.fromDate = date.toISOString();\n const sortByParam = Object.values(SORT_BY).includes(sortBy) ? sortBy : SORT_BY.DEFAULT;\n const sortParam = Object.values(SORT).includes(sort) ? sort : SORT.DEFAULT;\n\n log.log(`Janus API URL ${this.janusUrl}`, this.loggerContext);\n log.info(`Call history from date : ${this.fromDate}`, this.loggerContext);\n log.info(`Call history sort type : ${sortParam}`, this.loggerContext);\n log.info(`Call history sortby type : ${sortByParam}`, this.loggerContext);\n const url = `${this.janusUrl}/${HISTORY}/${USER_SESSIONS}${FROM_DATE}=${this.fromDate}&limit=${limit}&includeNewSessionTypes=true&sort=${sortParam}`;\n\n try {\n const janusResponse = <WebexRequestPayload>await this.webex.request({\n uri: `${url}`,\n method: HTTP_METHODS.GET,\n service: ALLOWED_SERVICES.JANUS,\n });\n\n this.userSessions = janusResponse.body as UserSession[];\n if (sortByParam === SORT_BY.START_TIME) {\n if (sortParam === SORT.DESC) {\n this.userSessions[USER_SESSIONS].sort(\n (element: Date, compareElement: Date) =>\n new Date(compareElement[sortByParam]).getTime() -\n new Date(element[sortByParam]).getTime()\n );\n } else if (sortParam === SORT.ASC) {\n this.userSessions[USER_SESSIONS].sort(\n (element: Date, compareElement: Date) =>\n new Date(element[sortByParam]).getTime() -\n new Date(compareElement[sortByParam]).getTime()\n );\n }\n }\n const responseDetails = {\n statusCode: this.userSessions[STATUS_CODE],\n data: {\n userSessions: this.userSessions[USER_SESSIONS],\n },\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, this.loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\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 this.emit(COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSION_INFO, event as CallSessionEvent);\n }\n }\n );\n }\n}\n/**\n * Creates a `CallHistory` client instance for accessing Call History APIs.\n *\n * @param {WebexSDK} webex - `Webex SDK` instance.\n * @param {LoggerInterface} logger - An instance implementing LoggerInterface used to set the log level for the module.\n */\nexport const createCallHistoryClient = (webex: WebexSDK, logger: LoggerInterface): ICallHistory =>\n new CallHistory(webex, logger);\n"],"mappings":"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"}
@@ -30,8 +30,6 @@ var _UcmBackendConnector = require("./UcmBackendConnector");
30
30
  * ```javascript
31
31
  * const callSettings = createCallSettingsClient(webex, logger);
32
32
  * ```
33
- *
34
- * @implements {ICallSettings}
35
33
  */
36
34
  var CallSettings = /*#__PURE__*/function () {
37
35
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_Utils","require","_SDKConnector","_interopRequireDefault","_Logger","_types","_WxCallBackendConnector","_constants","_UcmBackendConnector","CallSettings","webex","logger","useProdWebexApis","_classCallCheck2","default","_defineProperty2","sdkConnector","SDKConnector","getWebex","setWebex","log","setLogger","level","CALL_SETTINGS_FILE","initializeBackendConnector","_createClass2","key","value","callingBackend","getCallingBackEnd","info","concat","file","method","name","CALLING_BACKEND","BWRKS","WXC","backendConnector","WxCallBackendConnector","UCM","UcmBackendConnector","Error","_getCallWaitingSetting","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","getCallWaitingSetting","stop","apply","arguments","_getDoNotDisturbSetting","_callee2","_callee2$","_context2","getDoNotDisturbSetting","_setDoNotDisturbSetting","_callee3","enabled","_callee3$","_context3","setDoNotDisturbSetting","_x","_getCallForwardSetting","_callee4","_callee4$","_context4","getCallForwardSetting","_setCallForwardSetting","_callee5","callForwardingRequest","_callee5$","_context5","setCallForwardSetting","_x2","_getVoicemailSetting","_callee6","_callee6$","_context6","getVoicemailSetting","_setVoicemailSetting","_callee7","voicemailRequest","_callee7$","_context7","setVoicemailSetting","_x3","_getCallForwardAlwaysSetting","_callee8","directoryNumber","_callee8$","_context8","getCallForwardAlwaysSetting","_x4","exports","createCallSettingsClient"],"sources":["CallSettings.ts"],"sourcesContent":["/* eslint-disable valid-jsdoc */\nimport {getCallingBackEnd} from '../common/Utils';\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {\n ICallSettings,\n LoggerInterface,\n CallForwardSetting,\n CallSettingResponse,\n VoicemailSetting,\n} from './types';\nimport log from '../Logger';\nimport {CALLING_BACKEND} from '../common/types';\n\nimport {WxCallBackendConnector} from './WxCallBackendConnector';\nimport {CALL_SETTINGS_FILE} from './constants';\nimport {UcmBackendConnector} from './UcmBackendConnector';\n\n/**\n * `CallSettings` module is designed to offer a range of APIs for retrieving and updating settings such as Call Waiting, Do Not Disturb (DND), Call Forwarding, Voicemail, and more.\n * These operations are tailored to work with various calling backends, providing flexibility and adaptability to different scenarios.\n * The selection of the appropriate calling backend occurs during the instantiation of the CallSettings Client and is determined by the user's entitlements.\n *\n * This code snippet demonstrates how to create an instance of `CallSettings` using webex and logger.\n *\n * Example\n * ```javascript\n * const callSettings = createCallSettingsClient(webex, logger);\n * ```\n *\n * @implements {ICallSettings}\n */\nexport class CallSettings implements ICallSettings {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private callingBackend!: CALLING_BACKEND;\n\n private backendConnector!: ICallSettings;\n\n /**\n * @ignore\n */\n constructor(webex: WebexSDK, logger: LoggerInterface, useProdWebexApis?: boolean) {\n this.sdkConnector = SDKConnector;\n\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n\n log.setLogger(logger.level, CALL_SETTINGS_FILE);\n this.webex = this.sdkConnector.getWebex();\n this.initializeBackendConnector(logger, useProdWebexApis);\n }\n\n /**\n * Setup and initialize the Call Settings backend connector class object.\n */\n private initializeBackendConnector(logger: LoggerInterface, useProdWebexApis?: boolean) {\n this.callingBackend = getCallingBackEnd(this.webex);\n log.info(`Initializing Connector for ${this.callingBackend} backend`, {\n file: CALL_SETTINGS_FILE,\n method: this.initializeBackendConnector.name,\n });\n\n switch (this.callingBackend) {\n case CALLING_BACKEND.BWRKS:\n case CALLING_BACKEND.WXC:\n this.backendConnector = new WxCallBackendConnector(this.webex, logger);\n break;\n\n case CALLING_BACKEND.UCM:\n this.backendConnector = new UcmBackendConnector(this.webex, logger, useProdWebexApis);\n break;\n\n default:\n throw new Error('Calling backend is not identified, exiting....');\n }\n }\n\n /**\n * Reads call waiting setting in Webex.\n */\n public async getCallWaitingSetting() {\n return this.backendConnector.getCallWaitingSetting();\n }\n\n /**\n * Reads DND setting in Webex.\n */\n public async getDoNotDisturbSetting(): Promise<CallSettingResponse> {\n return this.backendConnector.getDoNotDisturbSetting();\n }\n\n /**\n * Updates DND setting in Webex.\n * @param enabled - true to enable DND, false to disable DND.\n */\n public async setDoNotDisturbSetting(enabled: boolean): Promise<CallSettingResponse> {\n return this.backendConnector.setDoNotDisturbSetting(enabled);\n }\n\n /**\n * Reads Call Forward setting in Webex.\n *\n */\n public async getCallForwardSetting(): Promise<CallSettingResponse> {\n return this.backendConnector.getCallForwardSetting();\n }\n\n /**\n * Updates Call Forward setting in Webex.\n * @param callForwardingRequest - CallForwardSetting object.\n */\n public async setCallForwardSetting(\n callForwardingRequest: CallForwardSetting\n ): Promise<CallSettingResponse> {\n return this.backendConnector.setCallForwardSetting(callForwardingRequest);\n }\n\n /**\n * Reads Voicemail setting in Webex.\n */\n public async getVoicemailSetting(): Promise<CallSettingResponse> {\n return this.backendConnector.getVoicemailSetting();\n }\n\n /**\n * Updates Voicemail setting in Webex.\n * @param voicemailRequest - VoicemailSetting object.\n */\n public async setVoicemailSetting(\n voicemailRequest: VoicemailSetting\n ): Promise<CallSettingResponse> {\n return this.backendConnector.setVoicemailSetting(voicemailRequest);\n }\n\n /**\n * Reads the Call Forwarding Always settings in Webex.\n * This will also check if CFA is set to Voicemail.\n * If CFA is set to destination, that will take precedence.\n * @param directoryNumber - Directory number of the user.\n */\n public async getCallForwardAlwaysSetting(directoryNumber?: string): Promise<CallSettingResponse> {\n return this.backendConnector.getCallForwardAlwaysSetting(directoryNumber);\n }\n}\n\n/**\n * Creates an instance of CallSettings Client.\n *\n * @param {WebexSDK} webex - An instance of the Webex SDK.\n * @param {LoggerInterface} logger - An instance implementing LoggerInterface used to set the log level for the module.\n */\nexport const createCallSettingsClient = (\n webex: WebexSDK,\n logger: LoggerInterface,\n useProdWebexApis?: boolean\n): ICallSettings => new CallSettings(webex, logger, useProdWebexApis);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_Utils","require","_SDKConnector","_interopRequireDefault","_Logger","_types","_WxCallBackendConnector","_constants","_UcmBackendConnector","CallSettings","webex","logger","useProdWebexApis","_classCallCheck2","default","_defineProperty2","sdkConnector","SDKConnector","getWebex","setWebex","log","setLogger","level","CALL_SETTINGS_FILE","initializeBackendConnector","_createClass2","key","value","callingBackend","getCallingBackEnd","info","concat","file","method","name","CALLING_BACKEND","BWRKS","WXC","backendConnector","WxCallBackendConnector","UCM","UcmBackendConnector","Error","_getCallWaitingSetting","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","getCallWaitingSetting","stop","apply","arguments","_getDoNotDisturbSetting","_callee2","_callee2$","_context2","getDoNotDisturbSetting","_setDoNotDisturbSetting","_callee3","enabled","_callee3$","_context3","setDoNotDisturbSetting","_x","_getCallForwardSetting","_callee4","_callee4$","_context4","getCallForwardSetting","_setCallForwardSetting","_callee5","callForwardingRequest","_callee5$","_context5","setCallForwardSetting","_x2","_getVoicemailSetting","_callee6","_callee6$","_context6","getVoicemailSetting","_setVoicemailSetting","_callee7","voicemailRequest","_callee7$","_context7","setVoicemailSetting","_x3","_getCallForwardAlwaysSetting","_callee8","directoryNumber","_callee8$","_context8","getCallForwardAlwaysSetting","_x4","exports","createCallSettingsClient"],"sources":["CallSettings.ts"],"sourcesContent":["/* eslint-disable valid-jsdoc */\nimport {getCallingBackEnd} from '../common/Utils';\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {\n ICallSettings,\n LoggerInterface,\n CallForwardSetting,\n CallSettingResponse,\n VoicemailSetting,\n} from './types';\nimport log from '../Logger';\nimport {CALLING_BACKEND} from '../common/types';\n\nimport {WxCallBackendConnector} from './WxCallBackendConnector';\nimport {CALL_SETTINGS_FILE} from './constants';\nimport {UcmBackendConnector} from './UcmBackendConnector';\n\n/**\n * `CallSettings` module is designed to offer a range of APIs for retrieving and updating settings such as Call Waiting, Do Not Disturb (DND), Call Forwarding, Voicemail, and more.\n * These operations are tailored to work with various calling backends, providing flexibility and adaptability to different scenarios.\n * The selection of the appropriate calling backend occurs during the instantiation of the CallSettings Client and is determined by the user's entitlements.\n *\n * This code snippet demonstrates how to create an instance of `CallSettings` using webex and logger.\n *\n * Example\n * ```javascript\n * const callSettings = createCallSettingsClient(webex, logger);\n * ```\n */\nexport class CallSettings implements ICallSettings {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private callingBackend!: CALLING_BACKEND;\n\n private backendConnector!: ICallSettings;\n\n /**\n * @ignore\n */\n constructor(webex: WebexSDK, logger: LoggerInterface, useProdWebexApis?: boolean) {\n this.sdkConnector = SDKConnector;\n\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n\n log.setLogger(logger.level, CALL_SETTINGS_FILE);\n this.webex = this.sdkConnector.getWebex();\n this.initializeBackendConnector(logger, useProdWebexApis);\n }\n\n /**\n * Setup and initialize the Call Settings backend connector class object.\n */\n private initializeBackendConnector(logger: LoggerInterface, useProdWebexApis?: boolean) {\n this.callingBackend = getCallingBackEnd(this.webex);\n log.info(`Initializing Connector for ${this.callingBackend} backend`, {\n file: CALL_SETTINGS_FILE,\n method: this.initializeBackendConnector.name,\n });\n\n switch (this.callingBackend) {\n case CALLING_BACKEND.BWRKS:\n case CALLING_BACKEND.WXC:\n this.backendConnector = new WxCallBackendConnector(this.webex, logger);\n break;\n\n case CALLING_BACKEND.UCM:\n this.backendConnector = new UcmBackendConnector(this.webex, logger, useProdWebexApis);\n break;\n\n default:\n throw new Error('Calling backend is not identified, exiting....');\n }\n }\n\n /**\n * Reads call waiting setting in Webex.\n */\n public async getCallWaitingSetting() {\n return this.backendConnector.getCallWaitingSetting();\n }\n\n /**\n * Reads DND setting in Webex.\n */\n public async getDoNotDisturbSetting(): Promise<CallSettingResponse> {\n return this.backendConnector.getDoNotDisturbSetting();\n }\n\n /**\n * Updates DND setting in Webex.\n * @param enabled - true to enable DND, false to disable DND.\n */\n public async setDoNotDisturbSetting(enabled: boolean): Promise<CallSettingResponse> {\n return this.backendConnector.setDoNotDisturbSetting(enabled);\n }\n\n /**\n * Reads Call Forward setting in Webex.\n *\n */\n public async getCallForwardSetting(): Promise<CallSettingResponse> {\n return this.backendConnector.getCallForwardSetting();\n }\n\n /**\n * Updates Call Forward setting in Webex.\n * @param callForwardingRequest - CallForwardSetting object.\n */\n public async setCallForwardSetting(\n callForwardingRequest: CallForwardSetting\n ): Promise<CallSettingResponse> {\n return this.backendConnector.setCallForwardSetting(callForwardingRequest);\n }\n\n /**\n * Reads Voicemail setting in Webex.\n */\n public async getVoicemailSetting(): Promise<CallSettingResponse> {\n return this.backendConnector.getVoicemailSetting();\n }\n\n /**\n * Updates Voicemail setting in Webex.\n * @param voicemailRequest - VoicemailSetting object.\n */\n public async setVoicemailSetting(\n voicemailRequest: VoicemailSetting\n ): Promise<CallSettingResponse> {\n return this.backendConnector.setVoicemailSetting(voicemailRequest);\n }\n\n /**\n * Reads the Call Forwarding Always settings in Webex.\n * This will also check if CFA is set to Voicemail.\n * If CFA is set to destination, that will take precedence.\n * @param directoryNumber - Directory number of the user.\n */\n public async getCallForwardAlwaysSetting(directoryNumber?: string): Promise<CallSettingResponse> {\n return this.backendConnector.getCallForwardAlwaysSetting(directoryNumber);\n }\n}\n\n/**\n * Creates an instance of CallSettings Client.\n *\n * @param {WebexSDK} webex - An instance of the Webex SDK.\n * @param {LoggerInterface} logger - An instance implementing LoggerInterface used to set the log level for the module.\n */\nexport const createCallSettingsClient = (\n webex: WebexSDK,\n logger: LoggerInterface,\n useProdWebexApis?: boolean\n): ICallSettings => new CallSettings(webex, logger, useProdWebexApis);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import {LOGGER} from '../Logger/types';\n\nexport interface LoggerInterface {\n level: LOGGER;\n}\n\nexport type ToggleSetting = {\n enabled: boolean;\n ringSplashEnabled?: boolean;\n};\n\nexport type CallForwardAlwaysSetting = {\n enabled: boolean;\n ringReminderEnabled?: boolean;\n destinationVoicemailEnabled?: boolean;\n destination?: string;\n};\n\nexport type CallForwardSetting = {\n callForwarding: {\n always: CallForwardAlwaysSetting;\n busy: {\n enabled: boolean;\n destinationVoicemailEnabled?: boolean;\n destination?: string;\n };\n noAnswer: {\n enabled: boolean;\n numberOfRings?: number;\n systemMaxNumberOfRings?: number;\n destinationVoicemailEnabled?: boolean;\n destination?: string;\n };\n };\n businessContinuity: {\n enabled: boolean;\n destinationVoicemailEnabled?: boolean;\n destination?: string;\n };\n};\n\nexport type VoicemailSetting = {\n enabled: boolean;\n sendAllCalls: {\n enabled: boolean;\n };\n sendBusyCalls: {\n enabled: boolean;\n greeting?: string;\n greetingUploaded?: boolean;\n };\n sendUnansweredCalls: {\n enabled: boolean;\n greeting?: string;\n greetingUploaded?: boolean;\n numberOfRings: number;\n systemMaxNumberOfRings?: number;\n };\n notifications: {\n enabled: boolean;\n destination?: string;\n };\n transferToNumber?: {\n enabled: boolean;\n destination: string;\n };\n emailCopyOfMessage: {\n enabled: boolean;\n emailId?: string;\n };\n messageStorage: {\n mwiEnabled: boolean;\n storageType: string;\n externalEmail?: string;\n };\n faxMessage?: {\n enabled: boolean;\n phoneNumber?: string;\n extension?: string;\n };\n voiceMessageForwardingEnabled?: boolean;\n};\n\nexport type CallSettingResponse = {\n statusCode: number;\n data: {\n callSetting?: ToggleSetting | CallForwardSetting | VoicemailSetting | CallForwardAlwaysSetting;\n error?: string;\n };\n message: string | null;\n};\n\n/**\n * Interface for Call Settings Module.\n * This encompasses set of APIs that allows to retrieve and update the settings like CallWaiting, DND, CallForward, Voicemail and more.\n\n * These APIs return promises that resolve to a `CallSettingResponse` object, which contains a status code, data, and message.\n * The data field within this response object holds the `callSetting` object, which can take on different types depending on the specific API called.\n *\n * Example\n * ```json\n * {\n * statusCode: 200,\n * data: {\n * callSetting: ToggleSetting | CallForwardSetting | VoicemailSetting | CallForwardAlwaysSetting\n * },\n * message: 'SUCCESS'| 'FAILURE' | null\n * }\n * ```\n */\nexport interface ICallSettings {\n /**\n * This API is used to fetch the call waiting setting.\n *\n * Example\n * ```javascript\n * const callWaitingResponse = await callSettings.getCallWaitingSetting();\n * ```\n *\n * The callWaitingResponse object will have callSetting object with the properties as mentioned in `ToggleSetting`.\n *\n * Example - ToggleSetting\n * ```json\n * {\n * statusCode: 200,\n * data: {\n * callSetting: {\n * enabled: true,\n * ringSplashEnabled: true\n * },\n * },\n * message: null\n * }\n * ```\n */\n getCallWaitingSetting(): Promise<CallSettingResponse>;\n\n /**\n * This API is used to fetch the do not disturb(DND) status.\n *\n * Example\n * ```javascript\n * const dndResponse = await callSettings.getDoNotDisturbSetting();\n * ```\n *\n * The dndResponse object will have callSetting object with the properties as mentioned in `ToggleSetting`.\n *\n * Example - ToggleSetting\n * ```json\n * {\n * statusCode: 200,\n * data: {\n * callSetting: {\n * enabled: true,\n * ringSplashEnabled: true\n * },\n * },\n * message: null\n * }\n * ```\n */\n getDoNotDisturbSetting(): Promise<CallSettingResponse>;\n\n /**\n * This API is used to set DND to true or false based on parameter received.\n *\n * Example\n * ```javascript\n * const dndResponse = await callSettings.setDoNotDisturbSetting(true|false);\n * ```\n */\n setDoNotDisturbSetting(flag: boolean): Promise<CallSettingResponse>;\n\n /**\n * This API is used to fetch the call forward setting.\n *\n * Example\n * ```javascript\n * const callForwardResponse = await callSettings.getCallForwardSetting();\n * ```\n *\n * The `callForwardResponse` object will have callSetting object with the properties as mentioned in {@link CallForwardSetting}.\n */\n getCallForwardSetting(): Promise<CallSettingResponse>;\n\n /**\n * This API is used to set the call forward setting.\n * ```javascript\n * const callForwardResponse = await callSettings.setCallForwardSetting(callForwardSetting);\n * ```\n *\n * The `callForwardSetting` object will be populated with the properties as mentioned in {@link CallForwardSetting} and passed as a parameter to the API.\n */\n setCallForwardSetting(request: CallForwardSetting): Promise<CallSettingResponse>;\n\n /**\n * This API is used to fetch the voicemail.\n * Example\n * ```javascript\n * const voicemailResponse = await callSettings.getVoicemailSetting();\n * ```\n *\n * The `voicemailResponse` object will have callSetting object with the properties as mentioned in {@link VoicemailSetting}.\n */\n getVoicemailSetting(): Promise<CallSettingResponse>;\n\n /**\n * This API is used to set voicemail.\n *\n * Example\n * ```javascript\n * const voicemailResponse = await callSettings.setVoicemailSetting();\n * ```\n *\n * The `voicemailSetting` object will be populated with the properties as mentioned in {@link VoicemailSetting} and passed as a parameter to the API.\n */\n setVoicemailSetting(request: VoicemailSetting): Promise<CallSettingResponse>;\n\n /**\n * This API is used to fetch the call forward settings including the Voicemail.\n *\n * @param directoryNumber - Directory number for which the call forward always setting is to be fetched.\n * This parameter is only required for Cloud Connected Unified Communications(CCUC): https://www.cisco.com/c/en/us/products/unified-communications/webex-cloud-connected-uc/index.html backend.\n *\n * Example\n * ```javascript\n * const callForwardAlwaysResponse = await callSettings.setVoicemailSetting();\n * ```\n *\n * The `callForwardAlwaysResponse` object will have callSetting object with the properties as mentioned in {@link CallForwardAlwaysSetting}.\n */\n getCallForwardAlwaysSetting(directoryNumber?: string): Promise<CallSettingResponse>;\n}\n\nexport type IWxCallBackendConnector = ICallSettings;\nexport type IUcmBackendConnector = ICallSettings;\n\nexport type CallForwardingAlwaysSettingsUCM = {\n dn: string;\n destination?: string;\n destinationVoicemailEnabled: boolean;\n};\n\nexport type CallForwardingSettingsUCM = {\n callForwarding: {\n always: CallForwardingAlwaysSettingsUCM[];\n };\n};\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import {LOGGER} from '../Logger/types';\n\nexport interface LoggerInterface {\n level: LOGGER;\n}\n\nexport type ToggleSetting = {\n enabled: boolean;\n ringSplashEnabled?: boolean;\n};\n\n/**\n * `CallForwardAlwaysSetting` object used for Call forwarding APIs in case of always forwarding.\n */\nexport type CallForwardAlwaysSetting = {\n /**\n * This indicates if the call forward always is enabled or disabled.\n */\n enabled: boolean;\n /**\n * If this property is set to true, a brief tone will be played on the user's line when a call has been forwarded.\n */\n ringReminderEnabled?: boolean;\n /**\n * This property signifies whether incoming calls are directed to the voicemail of the destination number,\n * provided that the destination is an internal phone number with an enabled voicemail service.\n */\n destinationVoicemailEnabled?: boolean;\n /**\n * Specify the destination number to which the call is forwarded when the call goes unanswered.\n * Destination is a phone number or a voicemail.\n */\n destination?: string;\n};\n\n/**\n * `CallForwardSetting` object used within the callSetting object for Call forwarding APIs\n */\nexport type CallForwardSetting = {\n callForwarding: {\n /**\n * Object to configure properties to enable/disable call forward to a destination of your choice for all the incoming calls.\n */\n always: CallForwardAlwaysSetting;\n /**\n * Object to configure properties to enable/disable call forwarding to a destination of your choice when the user's line is busy.\n */\n busy: {\n /**\n * This indicates if the call forward is enabled or disabled when the user's line is busy.\n */\n enabled: boolean;\n /**\n * This property signifies whether incoming calls are directed to the voicemail of the destination number when the user's line is busy,\n * provided that the destination is an internal phone number with an enabled voicemail service.\n */\n destinationVoicemailEnabled?: boolean;\n /**\n * Specify the destination number to which the call is forwarded in case of an unanswered call, if this feature is enabled.\n * The destination can be either a phone number or a voicemail service.\n */\n destination?: string;\n };\n /**\n * Object to configure properties to enable/disable call forward to a destination of your choice in case the call goes unanswered.\n */\n noAnswer: {\n /**\n * This indicates if the call forward is enabled or disabled when the call goes unanswered.\n */\n enabled: boolean;\n /**\n * This property indicates number of rings before the call is forwarded to the destination number if unanswered.\n */\n numberOfRings?: number;\n /**\n * System-wide maximum number of rings allowed to specify under numberOfRings property.\n */\n systemMaxNumberOfRings?: number;\n /**\n * This property signifies whether incoming calls are directed to the voicemail of the destination number when the call goes unanswered,\n * provided that the destination is an internal phone number with an enabled voicemail service.\n */\n destinationVoicemailEnabled?: boolean;\n /**\n * If noAnswer is enabled, incoming calls are routed to the specified destination number in the event that the call remains unanswered.\n * This destination can be either a phone number or a voicemail.\n */\n destination?: string;\n };\n };\n /**\n * Object to configure properties to enable/disable call forward to a destination of your choice when the user's line is not connected to the network.\n */\n businessContinuity: {\n /**\n * This indicates if the call forward is enabled or disabled when the user's line is not connected to the network.\n */\n enabled: boolean;\n /**\n * This property signifies whether incoming calls are directed to the voicemail of the destination number in case the user's line is not connected to the network,\n * provided that the destination is an internal phone number with an enabled voicemail service.\n */\n destinationVoicemailEnabled?: boolean;\n /**\n * Once the \"businessContinuity\" feature is enabled, calls will be redirected to the specified destination number in case the user's line is not connected to the network.\n * The designated destination can either be a phone number or a voicemail service.\n */\n destination?: string;\n };\n};\n\n/**\n * `VoicemailSetting` object used within the callSetting object for Voicemail APIs\n */\nexport type VoicemailSetting = {\n /**\n * Boolean property to indicate if the voicemail is enabled/disabled for the user.\n */\n enabled: boolean;\n /**\n * Object to configure properties for enabling/disabling the forwarding of all the incoming calls to voicemail.\n * Please note that this setting can only be adjusted when voicemail is enabled.\n */\n sendAllCalls: {\n /**\n * This indicates if the voicemail is enabled/disabled for all the incoming calls.\n */\n enabled: boolean;\n };\n /**\n * Object to configure properties for enabling/disabling the forwarding of busy calls to voicemail.\n * Please note that this setting can only be adjusted when voicemail is enabled.\n */\n sendBusyCalls: {\n /**\n * This indicates if the voicemail is enabled/disabled for the calls when the user's line is busy.\n */\n enabled: boolean;\n /**\n * Type of voicemail greeting to be played when the user's line is busy, 'default' or 'custom' is specified here.\n */\n greeting?: string;\n /**\n * This indicates if the custom voicemail greeting is uploaded or not.\n */\n greetingUploaded?: boolean;\n };\n /**\n * Object to configure properties for enabling/disabling the forwarding of unanswered calls to voicemail.\n * Please note that this setting can only be adjusted when voicemail is enabled.\n */\n sendUnansweredCalls: {\n /**\n * This indicates if the voicemail is enabled/disabled for the calls when the call goes unanswered.\n */\n enabled: boolean;\n /**\n * Type of voicemail greeting to be played when the call goes unanswered, 'default' or 'custom' is specified here.\n */\n greeting?: string;\n /**\n * This indicates if the custom voicemail greeting is uploaded or not.\n */\n greetingUploaded?: boolean;\n /**\n * This property indicates number of rings before the call goes to voicemail if unanswered.\n */\n numberOfRings: number;\n /**\n * System-wide maximum number of rings allowed to specify under numberOfRings property.\n */\n systemMaxNumberOfRings?: number;\n };\n /**\n * Settings for sending notifications when there are any new voicemails.\n */\n notifications: {\n /**\n * Boolean property to indicate if sending notifications for any new voicemails is enabled/disabled.\n */\n enabled: boolean;\n /**\n * Notifications are sent to the email address specifed here when there are any new voicemails.\n */\n destination?: string;\n };\n /**\n * Settings for voicemail caller to transfer to a different number by pressing zero (0).\n */\n transferToNumber?: {\n /**\n * Boolean property to indicate if voicemail caller transfer to a destination is enabled/disabled if they press zero (0).\n */\n enabled: boolean;\n /**\n * \tThe number voicemail caller will be transferred to when they press zero (0).\n */\n destination: string;\n };\n /**\n * Settings for sending a copy of new voicemail message audio via email.\n */\n emailCopyOfMessage: {\n /**\n * Boolean property to enable sending the copy of the new voicemail message audio will be sent to the designated email address.\n */\n enabled: boolean;\n /**\n * Email address to which the new voicemail audio will be sent\n */\n emailId?: string;\n };\n /**\n * Object to configure the storage for new voicemails\n */\n messageStorage: {\n /**\n * Property to indicate on the line that there are new voicemails in the mailbox if enabled.\n */\n mwiEnabled: boolean;\n /**\n * Designates which type of voicemail message storage to use, 'internal' or 'external' is specified here.\n */\n storageType: string;\n /**\n * External email address to which the new voicemail audio will be sent.\n */\n externalEmail?: string;\n };\n /**\n * \tSettings for sending fax messages for new voicemails.\n */\n faxMessage?: {\n /**\n * Boolean property to enable sending fax messages to the designated number for new voicemails.\n */\n enabled: boolean;\n /**\n * Designated phone number is specified here where fax messages will be sent to if enabled for new voicemails.\n */\n phoneNumber?: string;\n /**\n * Designated optional extension is specified here where fax messages will be sent to if enabled for new voicemails.\n */\n extension?: string;\n };\n /**\n *\n */\n voiceMessageForwardingEnabled?: boolean;\n};\n\nexport type CallSettingResponse = {\n statusCode: number;\n data: {\n callSetting?: ToggleSetting | CallForwardSetting | VoicemailSetting | CallForwardAlwaysSetting;\n error?: string;\n };\n message: string | null;\n};\n\n/**\n * Interface for Call Settings Module.\n * This encompasses set of APIs that allows to retrieve and update the settings like CallWaiting, DND, CallForward, Voicemail and more.\n\n * These APIs return promises that resolve to a `CallSettingResponse` object, which contains a status code, data, and message.\n * The data field within this response object holds the `callSetting` object, which can take on different types depending on the specific API called.\n *\n * Example\n * ```json\n * {\n * statusCode: 200,\n * data: {\n * callSetting: ToggleSetting | CallForwardSetting | VoicemailSetting | CallForwardAlwaysSetting\n * },\n * message: 'SUCCESS'| 'FAILURE' | null\n * }\n * ```\n */\nexport interface ICallSettings {\n /**\n * This API is used to fetch the call waiting setting.\n *\n * Example\n * ```javascript\n * const callWaitingResponse = await callSettings.getCallWaitingSetting();\n * ```\n *\n * The callWaitingResponse object will have callSetting object with the properties as mentioned in `ToggleSetting`.\n *\n * Example - ToggleSetting\n * ```json\n * {\n * statusCode: 200,\n * data: {\n * callSetting: {\n * enabled: true,\n * ringSplashEnabled: true\n * },\n * },\n * message: null\n * }\n * ```\n */\n getCallWaitingSetting(): Promise<CallSettingResponse>;\n\n /**\n * This API is used to fetch the do not disturb(DND) status.\n *\n * Example\n * ```javascript\n * const dndResponse = await callSettings.getDoNotDisturbSetting();\n * ```\n *\n * The dndResponse object will have callSetting object with the properties as mentioned in `ToggleSetting`.\n *\n * Example - ToggleSetting\n * ```json\n * {\n * statusCode: 200,\n * data: {\n * callSetting: {\n * enabled: true,\n * ringSplashEnabled: true\n * },\n * },\n * message: null\n * }\n * ```\n */\n getDoNotDisturbSetting(): Promise<CallSettingResponse>;\n\n /**\n * This API is used to set DND to true or false based on parameter received.\n *\n * Example\n * ```javascript\n * const dndResponse = await callSettings.setDoNotDisturbSetting(true|false);\n * ```\n */\n setDoNotDisturbSetting(flag: boolean): Promise<CallSettingResponse>;\n\n /**\n * This API is used to fetch the call forward setting.\n *\n * Example\n * ```javascript\n * const callForwardResponse = await callSettings.getCallForwardSetting();\n * ```\n *\n * The `callForwardResponse` object will have callSetting object with the properties as mentioned in {@link CallForwardSetting}.\n */\n getCallForwardSetting(): Promise<CallSettingResponse>;\n\n /**\n * This API is used to set the call forward setting.\n * ```javascript\n * const callForwardResponse = await callSettings.setCallForwardSetting(callForwardSetting);\n * ```\n *\n * The `callForwardSetting` object will be populated with the properties as mentioned in {@link CallForwardSetting} and passed as a parameter to the API.\n */\n setCallForwardSetting(request: CallForwardSetting): Promise<CallSettingResponse>;\n\n /**\n * This API is used to fetch the voicemail.\n * Example\n * ```javascript\n * const voicemailResponse = await callSettings.getVoicemailSetting();\n * ```\n *\n * The `voicemailResponse` object will have callSetting object with the properties as mentioned in {@link VoicemailSetting}.\n */\n getVoicemailSetting(): Promise<CallSettingResponse>;\n\n /**\n * This API is used to set voicemail.\n *\n * Example\n * ```javascript\n * const voicemailResponse = await callSettings.setVoicemailSetting();\n * ```\n *\n * The `voicemailSetting` object will be populated with the properties as mentioned in {@link VoicemailSetting} and passed as a parameter to the API.\n */\n setVoicemailSetting(request: VoicemailSetting): Promise<CallSettingResponse>;\n\n /**\n * This API is used to fetch the call forward settings including the Voicemail.\n *\n * @param directoryNumber - Directory number for which the call forward always setting is to be fetched.\n * This parameter is only required for Cloud Connected Unified Communications(CCUC): https://www.cisco.com/c/en/us/products/unified-communications/webex-cloud-connected-uc/index.html backend.\n *\n * Example\n * ```javascript\n * const callForwardAlwaysResponse = await callSettings.setVoicemailSetting();\n * ```\n *\n * The `callForwardAlwaysResponse` object will have callSetting object with the properties as mentioned in {@link CallForwardAlwaysSetting}.\n */\n getCallForwardAlwaysSetting(directoryNumber?: string): Promise<CallSettingResponse>;\n}\n\nexport type IWxCallBackendConnector = ICallSettings;\nexport type IUcmBackendConnector = ICallSettings;\n\nexport type CallForwardingAlwaysSettingsUCM = {\n dn: string;\n destination?: string;\n destinationVoicemailEnabled: boolean;\n};\n\nexport type CallForwardingSettingsUCM = {\n callForwarding: {\n always: CallForwardingAlwaysSettingsUCM[];\n };\n};\n"],"mappings":""}
@@ -544,7 +544,7 @@ var CallingClient = /*#__PURE__*/function (_Eventing) {
544
544
  }(_impl.Eventing);
545
545
  /**
546
546
  * @param webex - A webex instance.
547
- * @param config - Config to start the CallingClient with..
547
+ * @param config - Config to start the CallingClient with.
548
548
  */
549
549
  exports.CallingClient = CallingClient;
550
550
  var createClient = /*#__PURE__*/function () {
@@ -1 +1 @@
1
- {"version":3,"names":["Media","_interopRequireWildcard","require","_asyncMutex","_Utils","_types","_SDKConnector","_interopRequireDefault","_impl","_types2","_types3","_Logger","_callManager","_constants","_line","_types4","_types5","_Metrics","_getRequireWildcardCache","nodeInterop","_WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","_Object$defineProperty","_Object$getOwnPropertyDescriptor","key","Object","prototype","hasOwnProperty","call","desc","set","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","valueOf","e","CallingClient","_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","next","_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","registerSessionsListener","setLogger","registerCallsClearedListener","_createClass2","value","_init","_callee3","_callee3$","_context3","getMobiusServers","createLine","detectNetworkChange","init","_detectNetworkChange","_callee5","_this2","retry","line","_callee5$","_context5","setInterval","_callee4","_callee4$","_context4","internal","mercury","connected","_keys","getActiveCalls","length","warn","name","lineEmitter","LINE_EVENTS","UNREGISTERED","clearKeepaliveTimer","handleConnectionRestoration","sent","NETWORK_FLAP_TIMEOUT","_getClientRegionInfo","_callee6","_this3","regionInfo","_headers","temp","myIP","response","clientRegionInfo","_callee6$","_context6","request","uri","concat","services","_serviceUrls","mobius","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","t0","handleCallingClientErrors","clientError","submitRegistrationMetric","METRIC_EVENT","REGISTRATION_ERROR","REG_ACTION","REGISTER","METRIC_TYPE","BEHAVIORAL","emit","CALLING_CLIENT_EVENT_KEYS","GET_MOBIUS_SERVERS_UTIL","abrupt","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","_headers3","mobiusServers","mobiusUris","_callee7$","_context7","discovery","country","region","info","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","i","_callee8$","_context8","data","userSessions","sessionType","SessionType","WEBEX_CALLING","splice","USER_SESSION_INFO","_x","_createLine","_callee9","_this$sdkConfig7","_callee9$","_context9","Line","userId","LineStatus","INACTIVE","lineId","getLines","activeCalls","calls","forEach","correlationId","push","getConnectedCall","connectCall","isConnected","isHeld","Eventing","exports","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, 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} 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} from './constants';\nimport Line from './line';\nimport {ILine, LINE_EVENTS, LineStatus} from './line/types';\nimport {METRIC_EVENT, REG_ACTION, METRIC_TYPE, IMetricManager} from '../Metrics/types';\nimport {getMetricManager} from '../Metrics';\n\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 public mediaEngine: typeof Media;\n\n private lineDict: Record<string, ILine> = {};\n\n /**\n * @param webex - A webex instance.\n * @param config - Config to start the CallingClient with.\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\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 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.lineEmitter(LINE_EVENTS.UNREGISTERED);\n line.registration.clearKeepaliveTimer();\n\n retry = true;\n }\n\n if (retry && this.webex.internal.mercury.connected) {\n retry = await line.registration.handleConnectionRestoration(retry);\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 try {\n const temp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.webex.internal.services._serviceUrls.mobius}${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 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 ? clientRegionInfo.clientRegion : '';\n\n regionInfo.countryCode = clientRegionInfo?.countryCode ? clientRegionInfo.countryCode : '';\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 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 } 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 const temp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.webex.internal.services._serviceUrls.mobius}${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(\n mobiusServers,\n this.webex.internal.services._serviceUrls.mobius\n );\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('Error in finding Mobius Servers. Will use the default URL.', '' as LogContext);\n this.primaryMobiusUris = [\n `${this.webex.internal.services._serviceUrls.mobius}${URL_ENDPOINT}`,\n ];\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 *\n * @returns - Log level.\n */\n public getLoggingLevel(): LOGGER {\n return log.getLogLevel();\n }\n\n /**\n *\n */\n public getSDKConnector(): ISDKConnector {\n return this.sdkConnector;\n }\n\n /**\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 LineStatus.INACTIVE,\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 * so this API will return a single line object\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 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 * @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","_Utils","_types","_SDKConnector","_interopRequireDefault","_impl","_types2","_types3","_Logger","_callManager","_constants","_line","_types4","_types5","_Metrics","_getRequireWildcardCache","nodeInterop","_WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","_Object$defineProperty","_Object$getOwnPropertyDescriptor","key","Object","prototype","hasOwnProperty","call","desc","set","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","valueOf","e","CallingClient","_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","next","_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","registerSessionsListener","setLogger","registerCallsClearedListener","_createClass2","value","_init","_callee3","_callee3$","_context3","getMobiusServers","createLine","detectNetworkChange","init","_detectNetworkChange","_callee5","_this2","retry","line","_callee5$","_context5","setInterval","_callee4","_callee4$","_context4","internal","mercury","connected","_keys","getActiveCalls","length","warn","name","lineEmitter","LINE_EVENTS","UNREGISTERED","clearKeepaliveTimer","handleConnectionRestoration","sent","NETWORK_FLAP_TIMEOUT","_getClientRegionInfo","_callee6","_this3","regionInfo","_headers","temp","myIP","response","clientRegionInfo","_callee6$","_context6","request","uri","concat","services","_serviceUrls","mobius","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","t0","handleCallingClientErrors","clientError","submitRegistrationMetric","METRIC_EVENT","REGISTRATION_ERROR","REG_ACTION","REGISTER","METRIC_TYPE","BEHAVIORAL","emit","CALLING_CLIENT_EVENT_KEYS","GET_MOBIUS_SERVERS_UTIL","abrupt","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","_headers3","mobiusServers","mobiusUris","_callee7$","_context7","discovery","country","region","info","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","i","_callee8$","_context8","data","userSessions","sessionType","SessionType","WEBEX_CALLING","splice","USER_SESSION_INFO","_x","_createLine","_callee9","_this$sdkConfig7","_callee9$","_context9","Line","userId","LineStatus","INACTIVE","lineId","getLines","activeCalls","calls","forEach","correlationId","push","getConnectedCall","connectCall","isConnected","isHeld","Eventing","exports","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, 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} 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} from './constants';\nimport Line from './line';\nimport {ILine, LINE_EVENTS, LineStatus} from './line/types';\nimport {METRIC_EVENT, REG_ACTION, METRIC_TYPE, IMetricManager} from '../Metrics/types';\nimport {getMetricManager} from '../Metrics';\n\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 public mediaEngine: typeof Media;\n\n private lineDict: Record<string, ILine> = {};\n\n /**\n * @param webex - A webex instance.\n * @param config - Config to start the CallingClient with.\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\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 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.lineEmitter(LINE_EVENTS.UNREGISTERED);\n line.registration.clearKeepaliveTimer();\n\n retry = true;\n }\n\n if (retry && this.webex.internal.mercury.connected) {\n retry = await line.registration.handleConnectionRestoration(retry);\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 try {\n const temp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.webex.internal.services._serviceUrls.mobius}${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 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 ? clientRegionInfo.clientRegion : '';\n\n regionInfo.countryCode = clientRegionInfo?.countryCode ? clientRegionInfo.countryCode : '';\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 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 } 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 const temp = <WebexRequestPayload>await this.webex.request({\n uri: `${this.webex.internal.services._serviceUrls.mobius}${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(\n mobiusServers,\n this.webex.internal.services._serviceUrls.mobius\n );\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('Error in finding Mobius Servers. Will use the default URL.', '' as LogContext);\n this.primaryMobiusUris = [\n `${this.webex.internal.services._serviceUrls.mobius}${URL_ENDPOINT}`,\n ];\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 *\n * @returns - Log level.\n */\n public getLoggingLevel(): LOGGER {\n return log.getLogLevel();\n }\n\n /**\n *\n */\n public getSDKConnector(): ISDKConnector {\n return this.sdkConnector;\n }\n\n /**\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 LineStatus.INACTIVE,\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 * so this API will return a single line object\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 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 * @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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"}
@@ -305,7 +305,8 @@ describe('Call Tests', function () {
305
305
  mockStream = {
306
306
  outputStream: {
307
307
  getAudioTracks: jest.fn().mockReturnValue([mockTrack])
308
- }
308
+ },
309
+ on: jest.fn()
309
310
  };
310
311
  localAudioStream = mockStream;
311
312
  warnSpy = jest.spyOn(_Logger.default, 'warn');
@@ -336,7 +337,8 @@ describe('Call Tests', function () {
336
337
  mockStream = {
337
338
  outputStream: {
338
339
  getAudioTracks: jest.fn().mockReturnValue([mockTrack])
339
- }
340
+ },
341
+ on: jest.fn()
340
342
  };
341
343
  localAudioStream = mockStream;
342
344
  warnSpy = jest.spyOn(_Logger.default, 'warn');