@webex/calling 3.8.1 → 3.9.0
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.
- package/dist/CallSettings/WxCallBackendConnector.js +2 -2
- package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
- package/dist/CallSettings/WxCallBackendConnector.test.js +94 -27
- package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
- package/dist/CallSettings/types.js.map +1 -1
- package/dist/CallingClient/CallingClient.js +160 -105
- package/dist/CallingClient/CallingClient.js.map +1 -1
- package/dist/CallingClient/CallingClient.test.js +168 -102
- package/dist/CallingClient/CallingClient.test.js.map +1 -1
- package/dist/CallingClient/constants.js +3 -3
- package/dist/CallingClient/constants.js.map +1 -1
- package/dist/CallingClient/line/line.test.js +4 -10
- package/dist/CallingClient/line/line.test.js.map +1 -1
- package/dist/CallingClient/registration/register.js +486 -380
- package/dist/CallingClient/registration/register.js.map +1 -1
- package/dist/CallingClient/registration/register.test.js +441 -309
- package/dist/CallingClient/registration/register.test.js.map +1 -1
- package/dist/CallingClient/registration/types.js.map +1 -1
- package/dist/CallingClient/registration/webWorker.js +115 -0
- package/dist/CallingClient/registration/webWorker.js.map +1 -0
- package/dist/CallingClient/registration/webWorker.test.js +256 -0
- package/dist/CallingClient/registration/webWorker.test.js.map +1 -0
- package/dist/CallingClient/registration/webWorkerStr.js +15 -0
- package/dist/CallingClient/registration/webWorkerStr.js.map +1 -0
- package/dist/Errors/types.js +2 -0
- package/dist/Errors/types.js.map +1 -1
- package/dist/Metrics/index.js +9 -2
- package/dist/Metrics/index.js.map +1 -1
- package/dist/Metrics/index.test.js +10 -4
- package/dist/Metrics/index.test.js.map +1 -1
- package/dist/Metrics/types.js.map +1 -1
- package/dist/common/Utils.js +41 -34
- package/dist/common/Utils.js.map +1 -1
- package/dist/common/Utils.test.js +265 -119
- package/dist/common/Utils.test.js.map +1 -1
- package/dist/common/types.js +8 -1
- package/dist/common/types.js.map +1 -1
- package/dist/module/CallSettings/WxCallBackendConnector.js +1 -1
- package/dist/module/CallingClient/CallingClient.js +25 -10
- package/dist/module/CallingClient/constants.js +2 -2
- package/dist/module/CallingClient/registration/register.js +101 -65
- package/dist/module/CallingClient/registration/webWorker.js +59 -0
- package/dist/module/CallingClient/registration/webWorkerStr.js +93 -0
- package/dist/module/Errors/types.js +2 -0
- package/dist/module/Metrics/index.js +8 -1
- package/dist/module/common/Utils.js +10 -2
- package/dist/module/common/types.js +7 -0
- package/dist/types/CallSettings/types.d.ts +1 -1
- package/dist/types/CallSettings/types.d.ts.map +1 -1
- package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
- package/dist/types/CallingClient/constants.d.ts +2 -2
- package/dist/types/CallingClient/constants.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/register.d.ts +2 -2
- package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/webWorker.d.ts +2 -0
- package/dist/types/CallingClient/registration/webWorker.d.ts.map +1 -0
- package/dist/types/CallingClient/registration/webWorkerStr.d.ts +3 -0
- package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -0
- package/dist/types/Errors/types.d.ts +2 -0
- package/dist/types/Errors/types.d.ts.map +1 -1
- package/dist/types/Metrics/index.d.ts.map +1 -1
- package/dist/types/Metrics/types.d.ts +2 -1
- package/dist/types/Metrics/types.d.ts.map +1 -1
- package/dist/types/common/Utils.d.ts.map +1 -1
- package/dist/types/common/types.d.ts +12 -0
- package/dist/types/common/types.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","require","_types","_Logger","_interopRequireDefault","metricManager","MetricManager","webex","indicator","_classCallCheck2","default","_defineProperty2","log","info","file","METRIC_FILE","serviceIndicator","_createClass2","key","value","submitUploadLogsMetric","name","action","type","trackingId","feedbackId","correlationId","stack","callId","data","METRIC_EVENT","UPLOAD_LOGS_SUCCESS","_this$deviceInfo","_this$deviceInfo$devi","_this$deviceInfo2","_this$deviceInfo2$dev","_this$deviceInfo3","_this$deviceInfo3$dev","tags","device_id","deviceInfo","device","deviceId","service_indicator","fields","device_url","clientDeviceUri","mobius_url","uri","calling_sdk_version","process","env","CALLING_SDK_VERSION","VERSION","correlation_id","tracking_id","feedback_id","call_id","UPLOAD_LOGS_FAILED","_this$deviceInfo4","_this$deviceInfo4$dev","_this$deviceInfo5","_this$deviceInfo5$dev","_this$deviceInfo6","_this$deviceInfo6$dev","error","internal","metrics","submitClientMetrics","setDeviceInfo","submitRegistrationMetric","metricAction","clientError","REGISTRATION","_this$deviceInfo7","_this$deviceInfo7$dev","_this$deviceInfo8","_this$deviceInfo8$dev","_this$deviceInfo9","_this$deviceInfo9$dev","REGISTRATION_ERROR","_this$deviceInfo10","_this$deviceInfo10$de","_this$deviceInfo11","_this$deviceInfo11$de","_this$deviceInfo12","_this$deviceInfo12$de","getError","message","error_type","warn","method","submitCallMetric","callError","CALL","_this$deviceInfo13","_this$deviceInfo13$de","_this$deviceInfo14","_this$deviceInfo14$de","_this$deviceInfo15","_this$deviceInfo15$de","CALL_ERROR","_this$deviceInfo16","_this$deviceInfo16$de","_this$deviceInfo17","_this$deviceInfo17$de","_this$deviceInfo18","_this$deviceInfo18$de","getCallError","submitMediaMetric","localSdp","remoteSdp","MEDIA","_this$deviceInfo19","_this$deviceInfo19$de","_this$deviceInfo20","_this$deviceInfo20$de","_this$deviceInfo21","_this$deviceInfo21$de","local_media_details","remote_media_details","MEDIA_ERROR","_this$deviceInfo22","_this$deviceInfo22$de","_this$deviceInfo23","_this$deviceInfo23$de","_this$deviceInfo24","_this$deviceInfo24$de","submitVoicemailMetric","messageId","voicemailError","statusCode","VOICEMAIL","_this$deviceInfo25","_this$deviceInfo25$de","_this$deviceInfo26","_this$deviceInfo26$de","message_id","VOICEMAIL_ERROR","_this$deviceInfo27","_this$deviceInfo27$de","_this$deviceInfo28","_this$deviceInfo28$de","status_code","submitBNRMetric","BNR_ENABLED","BNR_DISABLED","_this$deviceInfo29","_this$deviceInfo29$de","_this$deviceInfo30","_this$deviceInfo30$de","_this$deviceInfo31","_this$deviceInfo31$de","getMetricManager","exports","_default"],"sources":["index.ts"],"sourcesContent":["import {CallError, CallingClientError} from '../Errors';\nimport {METRIC_FILE, VERSION} from '../CallingClient/constants';\nimport {CallId, CorrelationId, IDeviceInfo, ServiceIndicator} from '../common/types';\nimport {WebexSDK} from '../SDKConnector/types';\nimport {REG_ACTION, IMetricManager, METRIC_TYPE, METRIC_EVENT} from './types';\nimport {LineError} from '../Errors/catalog/LineError';\nimport log from '../Logger';\n\nlet metricManager: IMetricManager;\n\n/**\n *\n */\nclass MetricManager implements IMetricManager {\n private webex: WebexSDK;\n\n private deviceInfo?: IDeviceInfo;\n\n private serviceIndicator?: ServiceIndicator;\n\n /**\n * @param webex - Webex object used to send metrics.\n * @param indicator - Service Indicator.\n */\n public constructor(webex: WebexSDK, indicator?: ServiceIndicator) {\n log.info('Initializing metric manager...', {file: METRIC_FILE});\n this.webex = webex;\n this.serviceIndicator = indicator;\n }\n\n public submitUploadLogsMetric(\n name: METRIC_EVENT,\n action: string,\n type: METRIC_TYPE,\n trackingId?: string,\n feedbackId?: string,\n correlationId?: string,\n stack?: string,\n callId?: string\n ) {\n let data;\n\n switch (name) {\n case METRIC_EVENT.UPLOAD_LOGS_SUCCESS: {\n data = {\n tags: {\n action,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n correlation_id: correlationId,\n tracking_id: trackingId,\n feedback_id: feedbackId,\n call_id: callId,\n },\n type,\n };\n break;\n }\n case METRIC_EVENT.UPLOAD_LOGS_FAILED: {\n data = {\n tags: {\n action,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n correlation_id: correlationId,\n tracking_id: trackingId,\n feedback_id: feedbackId,\n error: stack,\n call_id: callId,\n },\n type,\n };\n }\n }\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n\n /**\n * @param deviceInfo - DeviceInfo object.\n */\n public setDeviceInfo(deviceInfo: IDeviceInfo) {\n this.deviceInfo = deviceInfo;\n }\n\n /**\n * @param name - Name of the metric being submitted.\n * @param metricAction - Type of action sent in the metric.\n * @param type - Type of metric.\n * @param clientError - Error object used to populate error details in metric.\n */\n public submitRegistrationMetric(\n name: METRIC_EVENT,\n metricAction: REG_ACTION,\n type: METRIC_TYPE,\n clientError: LineError | CallingClientError | undefined\n ) {\n let data;\n\n switch (name) {\n case METRIC_EVENT.REGISTRATION: {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n },\n type,\n };\n break;\n }\n\n case METRIC_EVENT.REGISTRATION_ERROR: {\n if (clientError) {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n error: clientError.getError().message,\n error_type: clientError.getError().type,\n },\n type,\n };\n }\n break;\n }\n\n default:\n log.warn('Invalid metric name received. Rejecting request to submit metric.', {\n file: METRIC_FILE,\n method: this.submitRegistrationMetric.name,\n });\n break;\n }\n\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n\n /**\n * @param name - Name of the metric being submitted.\n * @param metricAction - Type of action sent in the metric.\n * @param type - Type of metric.\n * @param callId - Call ID of the call sending the metric.\n * @param correlationId - Correlation ID of the call sending the metric.\n * @param callError - Error object used to populate error details in metric.\n */\n public submitCallMetric(\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n callId: CallId,\n correlationId: CorrelationId,\n callError?: CallError\n ) {\n let data;\n\n switch (name) {\n case METRIC_EVENT.CALL: {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n call_id: callId,\n correlation_id: correlationId,\n },\n type,\n };\n break;\n }\n\n case METRIC_EVENT.CALL_ERROR: {\n if (callError) {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n call_id: callId,\n correlation_id: correlationId,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type,\n };\n }\n break;\n }\n\n default:\n log.warn('Invalid metric name received. Rejecting request to submit metric.', {\n file: METRIC_FILE,\n method: this.submitCallMetric.name,\n });\n break;\n }\n\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n\n /**\n * @param name - Name of the metric being submitted.\n * @param metricAction - Type of action sent in the metric.\n * @param type - Type of metric.\n * @param callId - Call ID of the call sending the metric.\n * @param correlationId - Correlation ID of the call sending the metric.\n * @param localSdp - Local SDP information for media metric.\n * @param remoteSdp - Remote SDP information for media metric.\n * @param callError - Error object used to populate error details in metric.\n */\n public submitMediaMetric(\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n callId: CallId,\n correlationId: CorrelationId,\n localSdp?: string,\n remoteSdp?: string,\n callError?: CallError\n ) {\n let data;\n\n switch (name) {\n case METRIC_EVENT.MEDIA: {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n call_id: callId,\n correlation_id: correlationId,\n local_media_details: localSdp,\n remote_media_details: remoteSdp,\n },\n type,\n };\n break;\n }\n\n case METRIC_EVENT.MEDIA_ERROR: {\n if (callError) {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n call_id: callId,\n correlation_id: correlationId,\n local_media_details: localSdp,\n remote_media_details: remoteSdp,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type,\n };\n }\n break;\n }\n\n default:\n log.warn('Invalid metric name received. Rejecting request to submit metric.', {\n file: METRIC_FILE,\n method: this.submitMediaMetric.name,\n });\n break;\n }\n\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n\n /**\n * @param name - Name of the metric being submitted.\n * @param metricAction - Type of action sent in the metric.\n * @param type - Type of metric.\n * @param messageId - Message identifier of a Voicemail message.\n * @param voicemailError - Error string used to populate error details in metric.\n * @param statusCode - Status code used to populate error details in metric.\n */\n public submitVoicemailMetric(\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n messageId?: string,\n voicemailError?: string,\n statusCode?: number\n ) {\n let data;\n\n switch (name) {\n case METRIC_EVENT.VOICEMAIL: {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n message_id: messageId,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n calling_sdk_version:\n typeof process !== 'undefined' && process.env.CALLING_SDK_VERSION\n ? process.env.CALLING_SDK_VERSION\n : VERSION,\n },\n type,\n };\n break;\n }\n\n case METRIC_EVENT.VOICEMAIL_ERROR: {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n message_id: messageId,\n error: voicemailError,\n status_code: statusCode,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n calling_sdk_version:\n typeof process !== 'undefined' && process.env.CALLING_SDK_VERSION\n ? process.env.CALLING_SDK_VERSION\n : VERSION,\n },\n type,\n };\n break;\n }\n\n default:\n log.warn('Invalid metric name received. Rejecting request to submit metric.', {\n file: METRIC_FILE,\n method: this.submitVoicemailMetric.name,\n });\n break;\n }\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n\n public submitBNRMetric(\n name: METRIC_EVENT,\n type: METRIC_TYPE,\n callId: CallId,\n correlationId: CorrelationId\n ) {\n let data;\n\n if (name === METRIC_EVENT.BNR_ENABLED || name === METRIC_EVENT.BNR_DISABLED) {\n data = {\n tags: {\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n call_id: callId,\n correlation_id: correlationId,\n },\n type,\n };\n } else {\n log.warn('Invalid metric name received. Rejecting request to submit metric.', {\n file: METRIC_FILE,\n method: this.submitBNRMetric.name,\n });\n }\n\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n}\n\n/**\n * @param webex - Webex object to communicate with metrics microservice.\n * @param indicator - Service Indicator.\n */\nexport const getMetricManager = (\n webex?: WebexSDK,\n indicator?: ServiceIndicator\n): IMetricManager => {\n if (!metricManager && webex) {\n metricManager = new MetricManager(webex, indicator);\n }\n\n return metricManager;\n};\n\nexport default getMetricManager;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_constants","require","_types","_Logger","_interopRequireDefault","metricManager","MetricManager","webex","indicator","_classCallCheck2","default","_defineProperty2","log","info","file","METRIC_FILE","serviceIndicator","_createClass2","key","value","submitUploadLogsMetric","name","action","type","trackingId","feedbackId","correlationId","stack","callId","data","METRIC_EVENT","UPLOAD_LOGS_SUCCESS","_this$deviceInfo","_this$deviceInfo$devi","_this$deviceInfo2","_this$deviceInfo2$dev","_this$deviceInfo3","_this$deviceInfo3$dev","tags","device_id","deviceInfo","device","deviceId","service_indicator","fields","device_url","clientDeviceUri","mobius_url","uri","calling_sdk_version","process","env","CALLING_SDK_VERSION","VERSION","correlation_id","tracking_id","feedback_id","call_id","UPLOAD_LOGS_FAILED","_this$deviceInfo4","_this$deviceInfo4$dev","_this$deviceInfo5","_this$deviceInfo5$dev","_this$deviceInfo6","_this$deviceInfo6$dev","error","internal","metrics","submitClientMetrics","setDeviceInfo","submitRegistrationMetric","metricAction","caller","serverType","keepaliveCount","clientError","REGISTRATION","_this$deviceInfo7","_this$deviceInfo7$dev","_this$deviceInfo8","_this$deviceInfo8$dev","_this$deviceInfo9","_this$deviceInfo9$dev","reg_source","server_type","REGISTRATION_ERROR","_this$deviceInfo10","_this$deviceInfo10$de","_this$deviceInfo11","_this$deviceInfo11$de","_this$deviceInfo12","_this$deviceInfo12$de","keepalive_count","getError","message","error_type","warn","method","submitCallMetric","callError","CALL","_this$deviceInfo13","_this$deviceInfo13$de","_this$deviceInfo14","_this$deviceInfo14$de","_this$deviceInfo15","_this$deviceInfo15$de","CALL_ERROR","_this$deviceInfo16","_this$deviceInfo16$de","_this$deviceInfo17","_this$deviceInfo17$de","_this$deviceInfo18","_this$deviceInfo18$de","getCallError","submitMediaMetric","localSdp","remoteSdp","MEDIA","_this$deviceInfo19","_this$deviceInfo19$de","_this$deviceInfo20","_this$deviceInfo20$de","_this$deviceInfo21","_this$deviceInfo21$de","local_media_details","remote_media_details","MEDIA_ERROR","_this$deviceInfo22","_this$deviceInfo22$de","_this$deviceInfo23","_this$deviceInfo23$de","_this$deviceInfo24","_this$deviceInfo24$de","submitVoicemailMetric","messageId","voicemailError","statusCode","VOICEMAIL","_this$deviceInfo25","_this$deviceInfo25$de","_this$deviceInfo26","_this$deviceInfo26$de","message_id","VOICEMAIL_ERROR","_this$deviceInfo27","_this$deviceInfo27$de","_this$deviceInfo28","_this$deviceInfo28$de","status_code","submitBNRMetric","BNR_ENABLED","BNR_DISABLED","_this$deviceInfo29","_this$deviceInfo29$de","_this$deviceInfo30","_this$deviceInfo30$de","_this$deviceInfo31","_this$deviceInfo31$de","getMetricManager","exports","_default"],"sources":["index.ts"],"sourcesContent":["import {CallError, CallingClientError} from '../Errors';\nimport {METRIC_FILE, VERSION} from '../CallingClient/constants';\nimport {CallId, CorrelationId, IDeviceInfo, ServiceIndicator} from '../common/types';\nimport {WebexSDK} from '../SDKConnector/types';\nimport {REG_ACTION, IMetricManager, METRIC_TYPE, METRIC_EVENT, SERVER_TYPE} from './types';\nimport {LineError} from '../Errors/catalog/LineError';\nimport log from '../Logger';\n\nlet metricManager: IMetricManager;\n\n/**\n *\n */\nclass MetricManager implements IMetricManager {\n private webex: WebexSDK;\n\n private deviceInfo?: IDeviceInfo;\n\n private serviceIndicator?: ServiceIndicator;\n\n /**\n * @param webex - Webex object used to send metrics.\n * @param indicator - Service Indicator.\n */\n public constructor(webex: WebexSDK, indicator?: ServiceIndicator) {\n log.info('Initializing metric manager...', {file: METRIC_FILE});\n this.webex = webex;\n this.serviceIndicator = indicator;\n }\n\n public submitUploadLogsMetric(\n name: METRIC_EVENT,\n action: string,\n type: METRIC_TYPE,\n trackingId?: string,\n feedbackId?: string,\n correlationId?: string,\n stack?: string,\n callId?: string\n ) {\n let data;\n\n switch (name) {\n case METRIC_EVENT.UPLOAD_LOGS_SUCCESS: {\n data = {\n tags: {\n action,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n correlation_id: correlationId,\n tracking_id: trackingId,\n feedback_id: feedbackId,\n call_id: callId,\n },\n type,\n };\n break;\n }\n case METRIC_EVENT.UPLOAD_LOGS_FAILED: {\n data = {\n tags: {\n action,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n correlation_id: correlationId,\n tracking_id: trackingId,\n feedback_id: feedbackId,\n error: stack,\n call_id: callId,\n },\n type,\n };\n }\n }\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n\n /**\n * @param deviceInfo - DeviceInfo object.\n */\n public setDeviceInfo(deviceInfo: IDeviceInfo) {\n this.deviceInfo = deviceInfo;\n }\n\n /**\n * @param name - Name of the metric being submitted.\n * @param metricAction - Type of action sent in the metric.\n * @param type - Type of metric.\n * @param clientError - Error object used to populate error details in metric.\n */\n public submitRegistrationMetric(\n name: METRIC_EVENT,\n metricAction: REG_ACTION,\n type: METRIC_TYPE,\n caller: string,\n serverType: SERVER_TYPE,\n trackingId: string,\n keepaliveCount?: number,\n clientError?: LineError | CallingClientError\n ) {\n let data;\n\n switch (name) {\n case METRIC_EVENT.REGISTRATION: {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n reg_source: caller,\n server_type: serverType,\n trackingId,\n },\n type,\n };\n break;\n }\n\n case METRIC_EVENT.REGISTRATION_ERROR: {\n if (clientError) {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n reg_source: caller,\n server_type: serverType,\n trackingId,\n keepalive_count: keepaliveCount,\n error: clientError.getError().message,\n error_type: clientError.getError().type,\n },\n type,\n };\n }\n break;\n }\n\n default:\n log.warn('Invalid metric name received. Rejecting request to submit metric.', {\n file: METRIC_FILE,\n method: this.submitRegistrationMetric.name,\n });\n break;\n }\n\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n\n /**\n * @param name - Name of the metric being submitted.\n * @param metricAction - Type of action sent in the metric.\n * @param type - Type of metric.\n * @param callId - Call ID of the call sending the metric.\n * @param correlationId - Correlation ID of the call sending the metric.\n * @param callError - Error object used to populate error details in metric.\n */\n public submitCallMetric(\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n callId: CallId,\n correlationId: CorrelationId,\n callError?: CallError\n ) {\n let data;\n\n switch (name) {\n case METRIC_EVENT.CALL: {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n call_id: callId,\n correlation_id: correlationId,\n },\n type,\n };\n break;\n }\n\n case METRIC_EVENT.CALL_ERROR: {\n if (callError) {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n call_id: callId,\n correlation_id: correlationId,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type,\n };\n }\n break;\n }\n\n default:\n log.warn('Invalid metric name received. Rejecting request to submit metric.', {\n file: METRIC_FILE,\n method: this.submitCallMetric.name,\n });\n break;\n }\n\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n\n /**\n * @param name - Name of the metric being submitted.\n * @param metricAction - Type of action sent in the metric.\n * @param type - Type of metric.\n * @param callId - Call ID of the call sending the metric.\n * @param correlationId - Correlation ID of the call sending the metric.\n * @param localSdp - Local SDP information for media metric.\n * @param remoteSdp - Remote SDP information for media metric.\n * @param callError - Error object used to populate error details in metric.\n */\n public submitMediaMetric(\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n callId: CallId,\n correlationId: CorrelationId,\n localSdp?: string,\n remoteSdp?: string,\n callError?: CallError\n ) {\n let data;\n\n switch (name) {\n case METRIC_EVENT.MEDIA: {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n call_id: callId,\n correlation_id: correlationId,\n local_media_details: localSdp,\n remote_media_details: remoteSdp,\n },\n type,\n };\n break;\n }\n\n case METRIC_EVENT.MEDIA_ERROR: {\n if (callError) {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n call_id: callId,\n correlation_id: correlationId,\n local_media_details: localSdp,\n remote_media_details: remoteSdp,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type,\n };\n }\n break;\n }\n\n default:\n log.warn('Invalid metric name received. Rejecting request to submit metric.', {\n file: METRIC_FILE,\n method: this.submitMediaMetric.name,\n });\n break;\n }\n\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n\n /**\n * @param name - Name of the metric being submitted.\n * @param metricAction - Type of action sent in the metric.\n * @param type - Type of metric.\n * @param messageId - Message identifier of a Voicemail message.\n * @param voicemailError - Error string used to populate error details in metric.\n * @param statusCode - Status code used to populate error details in metric.\n */\n public submitVoicemailMetric(\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n messageId?: string,\n voicemailError?: string,\n statusCode?: number\n ) {\n let data;\n\n switch (name) {\n case METRIC_EVENT.VOICEMAIL: {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n message_id: messageId,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n calling_sdk_version:\n typeof process !== 'undefined' && process.env.CALLING_SDK_VERSION\n ? process.env.CALLING_SDK_VERSION\n : VERSION,\n },\n type,\n };\n break;\n }\n\n case METRIC_EVENT.VOICEMAIL_ERROR: {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n message_id: messageId,\n error: voicemailError,\n status_code: statusCode,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n calling_sdk_version:\n typeof process !== 'undefined' && process.env.CALLING_SDK_VERSION\n ? process.env.CALLING_SDK_VERSION\n : VERSION,\n },\n type,\n };\n break;\n }\n\n default:\n log.warn('Invalid metric name received. Rejecting request to submit metric.', {\n file: METRIC_FILE,\n method: this.submitVoicemailMetric.name,\n });\n break;\n }\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n\n public submitBNRMetric(\n name: METRIC_EVENT,\n type: METRIC_TYPE,\n callId: CallId,\n correlationId: CorrelationId\n ) {\n let data;\n\n if (name === METRIC_EVENT.BNR_ENABLED || name === METRIC_EVENT.BNR_DISABLED) {\n data = {\n tags: {\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n call_id: callId,\n correlation_id: correlationId,\n },\n type,\n };\n } else {\n log.warn('Invalid metric name received. Rejecting request to submit metric.', {\n file: METRIC_FILE,\n method: this.submitBNRMetric.name,\n });\n }\n\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n}\n\n/**\n * @param webex - Webex object to communicate with metrics microservice.\n * @param indicator - Service Indicator.\n */\nexport const getMetricManager = (\n webex?: WebexSDK,\n indicator?: ServiceIndicator\n): IMetricManager => {\n if (!metricManager && webex) {\n metricManager = new MetricManager(webex, indicator);\n }\n\n return metricManager;\n};\n\nexport default getMetricManager;\n"],"mappings":"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"}
|
|
@@ -58,11 +58,14 @@ describe('CALLING: Metric tests', function () {
|
|
|
58
58
|
fields: {
|
|
59
59
|
device_url: mockDeviceInfo.device.clientDeviceUri,
|
|
60
60
|
mobius_url: mockDeviceInfo.device.uri,
|
|
61
|
-
calling_sdk_version: MOCK_VERSION_NUMBER
|
|
61
|
+
calling_sdk_version: MOCK_VERSION_NUMBER,
|
|
62
|
+
reg_source: _constants.REGISTRATION_UTIL,
|
|
63
|
+
server_type: 'PRIMARY',
|
|
64
|
+
trackingId: 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15'
|
|
62
65
|
},
|
|
63
66
|
type: _types.METRIC_TYPE.BEHAVIORAL
|
|
64
67
|
};
|
|
65
|
-
metricManager.submitRegistrationMetric(_types.METRIC_EVENT.REGISTRATION, _types.REG_ACTION.REGISTER, _types.METRIC_TYPE.BEHAVIORAL, undefined);
|
|
68
|
+
metricManager.submitRegistrationMetric(_types.METRIC_EVENT.REGISTRATION, _types.REG_ACTION.REGISTER, _types.METRIC_TYPE.BEHAVIORAL, _constants.REGISTRATION_UTIL, 'PRIMARY', 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15', undefined, undefined);
|
|
66
69
|
expect(mockSubmitClientMetric).toBeCalledOnceWith(_types.METRIC_EVENT.REGISTRATION, expectedData);
|
|
67
70
|
});
|
|
68
71
|
it('submit registration failure metric', function () {
|
|
@@ -83,17 +86,20 @@ describe('CALLING: Metric tests', function () {
|
|
|
83
86
|
device_url: mockDeviceInfo.device.clientDeviceUri,
|
|
84
87
|
mobius_url: mockDeviceInfo.device.uri,
|
|
85
88
|
calling_sdk_version: MOCK_VERSION_NUMBER,
|
|
89
|
+
reg_source: _constants.REGISTRATION_UTIL,
|
|
90
|
+
server_type: 'BACKUP',
|
|
91
|
+
trackingId: 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',
|
|
86
92
|
error: clientError.getError().message,
|
|
87
93
|
error_type: clientError.getError().type
|
|
88
94
|
},
|
|
89
95
|
type: _types.METRIC_TYPE.BEHAVIORAL
|
|
90
96
|
};
|
|
91
|
-
metricManager.submitRegistrationMetric(_types.METRIC_EVENT.REGISTRATION_ERROR, _types.REG_ACTION.REGISTER, _types.METRIC_TYPE.BEHAVIORAL, clientError);
|
|
97
|
+
metricManager.submitRegistrationMetric(_types.METRIC_EVENT.REGISTRATION_ERROR, _types.REG_ACTION.REGISTER, _types.METRIC_TYPE.BEHAVIORAL, _constants.REGISTRATION_UTIL, 'BACKUP', 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15', undefined, clientError);
|
|
92
98
|
expect(mockSubmitClientMetric).toBeCalledOnceWith(_types.METRIC_EVENT.REGISTRATION_ERROR, expectedData);
|
|
93
99
|
});
|
|
94
100
|
it('submit unknown registration metric', function () {
|
|
95
101
|
var logSpy = jest.spyOn(_Logger.default, 'warn');
|
|
96
|
-
metricManager.submitRegistrationMetric('invalidMetricName', _types.REG_ACTION.REGISTER, _types.METRIC_TYPE.OPERATIONAL, undefined);
|
|
102
|
+
metricManager.submitRegistrationMetric('invalidMetricName', _types.REG_ACTION.REGISTER, _types.METRIC_TYPE.OPERATIONAL, _constants.REGISTRATION_UTIL, 'PRIMARY', undefined, undefined, undefined);
|
|
97
103
|
expect(mockSubmitClientMetric).not.toBeCalled();
|
|
98
104
|
expect(logSpy).toBeCalledOnceWith('Invalid metric name received. Rejecting request to submit metric.', {
|
|
99
105
|
file: 'metric',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_testUtil","require","_index","_types","_constants","_CallingDeviceError","_types2","_types3","_Logger","_interopRequireDefault","_CallError","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","webex","getTestUtilsWebex","describe","metricManager","getMetricManager","ServiceIndicator","CALLING","mockDeviceInfo","getMockDeviceInfo","mockSubmitClientMetric","jest","fn","MOCK_VERSION_NUMBER","originalEnv","process","env","internal","metrics","submitClientMetrics","mockCallId","mockCorrelationId","mockCallAction","mockMediaAction","beforeEach","mockClear","CALLING_SDK_VERSION","it","expect","not","toBeNull","toBeUndefined","setDeviceInfo","toEqual","expectedData","tags","action","REG_ACTION","REGISTER","device_id","device","deviceId","service_indicator","fields","device_url","clientDeviceUri","mobius_url","uri","calling_sdk_version","type","METRIC_TYPE","BEHAVIORAL","submitRegistrationMetric","METRIC_EVENT","REGISTRATION","undefined","toBeCalledOnceWith","clientError","createClientError","ERROR_TYPE","DEFAULT","RegistrationStatus","INACTIVE","err","context","message","SERVICE_UNAVAILABLE","setError","error","getError","error_type","REGISTRATION_ERROR","logSpy","spyOn","log","OPERATIONAL","toBeCalled","file","method","beforeAll","call_id","correlation_id","submitCallMetric","CALL","callError","createCallError","ERROR_LAYER","CALL_CONTROL","FORBIDDEN_ERROR","setCallError","getCallError","CALL_ERROR","mockSdp","local_media_details","remote_media_details","submitMediaMetric","MEDIA","MEDIA_ERROR","submitBNRMetric","BNR_ENABLED","BNR_DISABLED","expectedData1","VOICEMAIL_ACTION","GET_VOICEMAILS","submitVoicemailMetric","VOICEMAIL","expectedData2","message_id","DELETE","errorMessage","status_code","VOICEMAIL_ERROR","VERSION"],"sources":["index.test.ts"],"sourcesContent":["/* eslint-disable dot-notation */\nimport {getMockDeviceInfo, getTestUtilsWebex} from '../common/testUtil';\nimport {getMetricManager} from './index';\nimport {METRIC_TYPE, METRIC_EVENT, REG_ACTION, VOICEMAIL_ACTION} from './types';\nimport {VERSION} from '../CallingClient/constants';\nimport {createClientError} from '../Errors/catalog/CallingDeviceError';\nimport {CallErrorObject, ErrorObject, ERROR_LAYER, ERROR_TYPE} from '../Errors/types';\nimport {RegistrationStatus, ServiceIndicator} from '../common/types';\nimport log from '../Logger';\nimport {createCallError} from '../Errors/catalog/CallError';\n\nconst webex = getTestUtilsWebex();\n\ndescribe('CALLING: Metric tests', () => {\n const metricManager = getMetricManager(webex, ServiceIndicator.CALLING);\n const mockDeviceInfo = getMockDeviceInfo();\n const mockSubmitClientMetric = jest.fn();\n const MOCK_VERSION_NUMBER = '1.0.0';\n const originalEnv = process.env;\n\n webex.internal.metrics.submitClientMetrics = mockSubmitClientMetric;\n\n const mockCallId = '123456';\n const mockCorrelationId = '0931237';\n const mockCallAction = 'S_SEND_CALL_SETUP';\n const mockMediaAction = 'S_SEND_ROAP_OFFER';\n\n beforeEach(() => {\n mockSubmitClientMetric.mockClear();\n process.env = {\n ...originalEnv,\n CALLING_SDK_VERSION: MOCK_VERSION_NUMBER,\n };\n });\n\n it('initialize metric manager', () => {\n expect(metricManager).not.toBeNull();\n expect(metricManager['deviceInfo']).toBeUndefined();\n });\n\n it('update deviceInfo in metric manager', () => {\n expect(metricManager['deviceInfo']).toBeUndefined();\n metricManager.setDeviceInfo(mockDeviceInfo);\n expect(metricManager['deviceInfo']).toEqual(mockDeviceInfo);\n });\n\n describe('CallingClient metric tests', () => {\n it('submit registration success metric', () => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n\n const expectedData = {\n tags: {\n action: REG_ACTION.REGISTER,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegistrationMetric(\n METRIC_EVENT.REGISTRATION,\n REG_ACTION.REGISTER,\n METRIC_TYPE.BEHAVIORAL,\n undefined\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.REGISTRATION, expectedData);\n });\n\n it('submit registration failure metric', () => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n\n const clientError = createClientError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n RegistrationStatus.INACTIVE\n );\n const err = <ErrorObject>{};\n\n err.context = {};\n err.message = 'Unknown Error';\n err.type = ERROR_TYPE.SERVICE_UNAVAILABLE;\n\n clientError.setError(err);\n\n const expectedData = {\n tags: {\n action: REG_ACTION.REGISTER,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n error: clientError.getError().message,\n error_type: clientError.getError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegistrationMetric(\n METRIC_EVENT.REGISTRATION_ERROR,\n REG_ACTION.REGISTER,\n METRIC_TYPE.BEHAVIORAL,\n clientError\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(\n METRIC_EVENT.REGISTRATION_ERROR,\n expectedData\n );\n });\n\n it('submit unknown registration metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitRegistrationMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n REG_ACTION.REGISTER,\n METRIC_TYPE.OPERATIONAL,\n undefined\n );\n\n expect(mockSubmitClientMetric).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitRegistrationMetric',\n }\n );\n });\n });\n\n describe('Call Metric tests', () => {\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit call success metric', () => {\n const expectedData = {\n tags: {\n action: mockCallAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitCallMetric(\n METRIC_EVENT.CALL,\n mockCallAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.CALL, expectedData);\n });\n\n it('submit call failure metric', () => {\n const callError = createCallError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n mockCorrelationId,\n ERROR_LAYER.CALL_CONTROL\n );\n\n const err = <CallErrorObject>{};\n\n err.context = {};\n err.message =\n 'An invalid status update has been received for the call. Wait a moment and try again.';\n err.type = ERROR_TYPE.FORBIDDEN_ERROR;\n\n callError.setCallError(err);\n\n const expectedData = {\n tags: {\n action: mockCallAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitCallMetric(\n METRIC_EVENT.CALL_ERROR,\n mockCallAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n callError\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.CALL_ERROR, expectedData);\n });\n\n it('submit unknown call metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitCallMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n mockCallAction,\n METRIC_TYPE.OPERATIONAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(mockSubmitClientMetric).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitCallMetric',\n }\n );\n });\n });\n\n describe('Media Metric tests', () => {\n const mockSdp = 'sdpInformation';\n\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit media success metric', () => {\n const expectedData = {\n tags: {\n action: mockMediaAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n local_media_details: mockSdp,\n remote_media_details: mockSdp,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMediaMetric(\n METRIC_EVENT.MEDIA,\n mockMediaAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.MEDIA, expectedData);\n });\n\n it('submit media failure metric', () => {\n const callError = createCallError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n mockCorrelationId,\n ERROR_LAYER.MEDIA\n );\n\n const err = <CallErrorObject>{};\n\n err.context = {};\n err.message =\n 'An error occurred while parsing the provided information. Wait a moment and try again.';\n err.type = ERROR_TYPE.SERVICE_UNAVAILABLE;\n\n callError.setCallError(err);\n\n const expectedData = {\n tags: {\n action: mockMediaAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n local_media_details: mockSdp,\n remote_media_details: mockSdp,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMediaMetric(\n METRIC_EVENT.MEDIA_ERROR,\n mockMediaAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp,\n callError\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.MEDIA_ERROR, expectedData);\n });\n\n it('submit unknown media metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitMediaMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n mockMediaAction,\n METRIC_TYPE.OPERATIONAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp\n );\n\n expect(mockSubmitClientMetric).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitMediaMetric',\n }\n );\n });\n });\n\n describe('BNR metric tests', () => {\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit bnr enabled metric', () => {\n const expectedData = {\n tags: {\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitBNRMetric(\n METRIC_EVENT.BNR_ENABLED,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.BNR_ENABLED, expectedData);\n });\n\n it('submit bnr disabled metric', () => {\n const expectedData = {\n tags: {\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitBNRMetric(\n METRIC_EVENT.BNR_DISABLED,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.BNR_DISABLED, expectedData);\n });\n\n it('submit unknown bnr metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitBNRMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(mockSubmitClientMetric).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitBNRMetric',\n }\n );\n });\n });\n\n describe('Voicemail metric tests', () => {\n beforeAll(() => metricManager.setDeviceInfo(mockDeviceInfo));\n\n it('submit voicemail success metric', () => {\n const expectedData1 = {\n tags: {\n action: VOICEMAIL_ACTION.GET_VOICEMAILS,\n device_id: mockDeviceInfo.device.deviceId,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL, expectedData1);\n\n mockSubmitClientMetric.mockClear();\n\n const expectedData2 = {\n ...expectedData1,\n tags: {...expectedData1.tags, message_id: 'messageId', action: VOICEMAIL_ACTION.DELETE},\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL,\n VOICEMAIL_ACTION.DELETE,\n METRIC_TYPE.BEHAVIORAL,\n 'messageId'\n );\n\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL, expectedData2);\n });\n\n it('submit voicemail failure metric', () => {\n const errorMessage = 'User is not authenticated';\n const expectedData1 = {\n tags: {\n action: VOICEMAIL_ACTION.GET_VOICEMAILS,\n device_id: mockDeviceInfo.device.deviceId,\n message_id: undefined,\n error: errorMessage,\n status_code: 401,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL_ERROR,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL,\n undefined,\n errorMessage,\n 401\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(\n METRIC_EVENT.VOICEMAIL_ERROR,\n expectedData1\n );\n\n mockSubmitClientMetric.mockClear();\n\n const expectedData2 = {\n ...expectedData1,\n tags: {...expectedData1.tags, message_id: 'messageId', action: VOICEMAIL_ACTION.DELETE},\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL_ERROR,\n VOICEMAIL_ACTION.DELETE,\n METRIC_TYPE.BEHAVIORAL,\n 'messageId',\n errorMessage,\n 401\n );\n\n expect(mockSubmitClientMetric).toBeCalledOnceWith(\n METRIC_EVENT.VOICEMAIL_ERROR,\n expectedData2\n );\n });\n\n it('submit unknown voicemail metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitVoicemailMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL\n );\n\n expect(mockSubmitClientMetric).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitVoicemailMetric',\n }\n );\n });\n });\n\n describe('Calling_Sdk_Version fallback test', () => {\n it('submit metric with fallback version', () => {\n process.env = {};\n metricManager.setDeviceInfo(mockDeviceInfo);\n const expectedData = {\n tags: {\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: VERSION,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitBNRMetric(\n METRIC_EVENT.BNR_ENABLED,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.BNR_ENABLED, expectedData);\n });\n });\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_testUtil","require","_index","_types","_constants","_CallingDeviceError","_types2","_types3","_Logger","_interopRequireDefault","_CallError","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","webex","getTestUtilsWebex","describe","metricManager","getMetricManager","ServiceIndicator","CALLING","mockDeviceInfo","getMockDeviceInfo","mockSubmitClientMetric","jest","fn","MOCK_VERSION_NUMBER","originalEnv","process","env","internal","metrics","submitClientMetrics","mockCallId","mockCorrelationId","mockCallAction","mockMediaAction","beforeEach","mockClear","CALLING_SDK_VERSION","it","expect","not","toBeNull","toBeUndefined","setDeviceInfo","toEqual","expectedData","tags","action","REG_ACTION","REGISTER","device_id","device","deviceId","service_indicator","fields","device_url","clientDeviceUri","mobius_url","uri","calling_sdk_version","reg_source","REGISTRATION_UTIL","server_type","trackingId","type","METRIC_TYPE","BEHAVIORAL","submitRegistrationMetric","METRIC_EVENT","REGISTRATION","undefined","toBeCalledOnceWith","clientError","createClientError","ERROR_TYPE","DEFAULT","RegistrationStatus","INACTIVE","err","context","message","SERVICE_UNAVAILABLE","setError","error","getError","error_type","REGISTRATION_ERROR","logSpy","spyOn","log","OPERATIONAL","toBeCalled","file","method","beforeAll","call_id","correlation_id","submitCallMetric","CALL","callError","createCallError","ERROR_LAYER","CALL_CONTROL","FORBIDDEN_ERROR","setCallError","getCallError","CALL_ERROR","mockSdp","local_media_details","remote_media_details","submitMediaMetric","MEDIA","MEDIA_ERROR","submitBNRMetric","BNR_ENABLED","BNR_DISABLED","expectedData1","VOICEMAIL_ACTION","GET_VOICEMAILS","submitVoicemailMetric","VOICEMAIL","expectedData2","message_id","DELETE","errorMessage","status_code","VOICEMAIL_ERROR","VERSION"],"sources":["index.test.ts"],"sourcesContent":["/* eslint-disable dot-notation */\nimport {getMockDeviceInfo, getTestUtilsWebex} from '../common/testUtil';\nimport {getMetricManager} from './index';\nimport {METRIC_TYPE, METRIC_EVENT, REG_ACTION, VOICEMAIL_ACTION} from './types';\nimport {REGISTRATION_UTIL, VERSION} from '../CallingClient/constants';\nimport {createClientError} from '../Errors/catalog/CallingDeviceError';\nimport {CallErrorObject, ErrorObject, ERROR_LAYER, ERROR_TYPE} from '../Errors/types';\nimport {RegistrationStatus, ServiceIndicator} from '../common/types';\nimport log from '../Logger';\nimport {createCallError} from '../Errors/catalog/CallError';\n\nconst webex = getTestUtilsWebex();\n\ndescribe('CALLING: Metric tests', () => {\n const metricManager = getMetricManager(webex, ServiceIndicator.CALLING);\n const mockDeviceInfo = getMockDeviceInfo();\n const mockSubmitClientMetric = jest.fn();\n const MOCK_VERSION_NUMBER = '1.0.0';\n const originalEnv = process.env;\n\n webex.internal.metrics.submitClientMetrics = mockSubmitClientMetric;\n\n const mockCallId = '123456';\n const mockCorrelationId = '0931237';\n const mockCallAction = 'S_SEND_CALL_SETUP';\n const mockMediaAction = 'S_SEND_ROAP_OFFER';\n\n beforeEach(() => {\n mockSubmitClientMetric.mockClear();\n process.env = {\n ...originalEnv,\n CALLING_SDK_VERSION: MOCK_VERSION_NUMBER,\n };\n });\n\n it('initialize metric manager', () => {\n expect(metricManager).not.toBeNull();\n expect(metricManager['deviceInfo']).toBeUndefined();\n });\n\n it('update deviceInfo in metric manager', () => {\n expect(metricManager['deviceInfo']).toBeUndefined();\n metricManager.setDeviceInfo(mockDeviceInfo);\n expect(metricManager['deviceInfo']).toEqual(mockDeviceInfo);\n });\n\n describe('CallingClient metric tests', () => {\n it('submit registration success metric', () => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n\n const expectedData = {\n tags: {\n action: REG_ACTION.REGISTER,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n reg_source: REGISTRATION_UTIL,\n server_type: 'PRIMARY',\n trackingId: 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegistrationMetric(\n METRIC_EVENT.REGISTRATION,\n REG_ACTION.REGISTER,\n METRIC_TYPE.BEHAVIORAL,\n REGISTRATION_UTIL,\n 'PRIMARY',\n 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n undefined,\n undefined\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.REGISTRATION, expectedData);\n });\n\n it('submit registration failure metric', () => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n\n const clientError = createClientError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n RegistrationStatus.INACTIVE\n );\n const err = <ErrorObject>{};\n\n err.context = {};\n err.message = 'Unknown Error';\n err.type = ERROR_TYPE.SERVICE_UNAVAILABLE;\n\n clientError.setError(err);\n\n const expectedData = {\n tags: {\n action: REG_ACTION.REGISTER,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n reg_source: REGISTRATION_UTIL,\n server_type: 'BACKUP',\n trackingId: 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n error: clientError.getError().message,\n error_type: clientError.getError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegistrationMetric(\n METRIC_EVENT.REGISTRATION_ERROR,\n REG_ACTION.REGISTER,\n METRIC_TYPE.BEHAVIORAL,\n REGISTRATION_UTIL,\n 'BACKUP',\n 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n undefined,\n clientError\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(\n METRIC_EVENT.REGISTRATION_ERROR,\n expectedData\n );\n });\n\n it('submit unknown registration metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitRegistrationMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n REG_ACTION.REGISTER,\n METRIC_TYPE.OPERATIONAL,\n REGISTRATION_UTIL,\n 'PRIMARY',\n undefined,\n undefined,\n undefined\n );\n\n expect(mockSubmitClientMetric).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitRegistrationMetric',\n }\n );\n });\n });\n\n describe('Call Metric tests', () => {\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit call success metric', () => {\n const expectedData = {\n tags: {\n action: mockCallAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitCallMetric(\n METRIC_EVENT.CALL,\n mockCallAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.CALL, expectedData);\n });\n\n it('submit call failure metric', () => {\n const callError = createCallError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n mockCorrelationId,\n ERROR_LAYER.CALL_CONTROL\n );\n\n const err = <CallErrorObject>{};\n\n err.context = {};\n err.message =\n 'An invalid status update has been received for the call. Wait a moment and try again.';\n err.type = ERROR_TYPE.FORBIDDEN_ERROR;\n\n callError.setCallError(err);\n\n const expectedData = {\n tags: {\n action: mockCallAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitCallMetric(\n METRIC_EVENT.CALL_ERROR,\n mockCallAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n callError\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.CALL_ERROR, expectedData);\n });\n\n it('submit unknown call metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitCallMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n mockCallAction,\n METRIC_TYPE.OPERATIONAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(mockSubmitClientMetric).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitCallMetric',\n }\n );\n });\n });\n\n describe('Media Metric tests', () => {\n const mockSdp = 'sdpInformation';\n\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit media success metric', () => {\n const expectedData = {\n tags: {\n action: mockMediaAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n local_media_details: mockSdp,\n remote_media_details: mockSdp,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMediaMetric(\n METRIC_EVENT.MEDIA,\n mockMediaAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.MEDIA, expectedData);\n });\n\n it('submit media failure metric', () => {\n const callError = createCallError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n mockCorrelationId,\n ERROR_LAYER.MEDIA\n );\n\n const err = <CallErrorObject>{};\n\n err.context = {};\n err.message =\n 'An error occurred while parsing the provided information. Wait a moment and try again.';\n err.type = ERROR_TYPE.SERVICE_UNAVAILABLE;\n\n callError.setCallError(err);\n\n const expectedData = {\n tags: {\n action: mockMediaAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n local_media_details: mockSdp,\n remote_media_details: mockSdp,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMediaMetric(\n METRIC_EVENT.MEDIA_ERROR,\n mockMediaAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp,\n callError\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.MEDIA_ERROR, expectedData);\n });\n\n it('submit unknown media metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitMediaMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n mockMediaAction,\n METRIC_TYPE.OPERATIONAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp\n );\n\n expect(mockSubmitClientMetric).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitMediaMetric',\n }\n );\n });\n });\n\n describe('BNR metric tests', () => {\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit bnr enabled metric', () => {\n const expectedData = {\n tags: {\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitBNRMetric(\n METRIC_EVENT.BNR_ENABLED,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.BNR_ENABLED, expectedData);\n });\n\n it('submit bnr disabled metric', () => {\n const expectedData = {\n tags: {\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitBNRMetric(\n METRIC_EVENT.BNR_DISABLED,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.BNR_DISABLED, expectedData);\n });\n\n it('submit unknown bnr metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitBNRMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(mockSubmitClientMetric).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitBNRMetric',\n }\n );\n });\n });\n\n describe('Voicemail metric tests', () => {\n beforeAll(() => metricManager.setDeviceInfo(mockDeviceInfo));\n\n it('submit voicemail success metric', () => {\n const expectedData1 = {\n tags: {\n action: VOICEMAIL_ACTION.GET_VOICEMAILS,\n device_id: mockDeviceInfo.device.deviceId,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL, expectedData1);\n\n mockSubmitClientMetric.mockClear();\n\n const expectedData2 = {\n ...expectedData1,\n tags: {...expectedData1.tags, message_id: 'messageId', action: VOICEMAIL_ACTION.DELETE},\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL,\n VOICEMAIL_ACTION.DELETE,\n METRIC_TYPE.BEHAVIORAL,\n 'messageId'\n );\n\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL, expectedData2);\n });\n\n it('submit voicemail failure metric', () => {\n const errorMessage = 'User is not authenticated';\n const expectedData1 = {\n tags: {\n action: VOICEMAIL_ACTION.GET_VOICEMAILS,\n device_id: mockDeviceInfo.device.deviceId,\n message_id: undefined,\n error: errorMessage,\n status_code: 401,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL_ERROR,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL,\n undefined,\n errorMessage,\n 401\n );\n expect(mockSubmitClientMetric).toBeCalledOnceWith(\n METRIC_EVENT.VOICEMAIL_ERROR,\n expectedData1\n );\n\n mockSubmitClientMetric.mockClear();\n\n const expectedData2 = {\n ...expectedData1,\n tags: {...expectedData1.tags, message_id: 'messageId', action: VOICEMAIL_ACTION.DELETE},\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL_ERROR,\n VOICEMAIL_ACTION.DELETE,\n METRIC_TYPE.BEHAVIORAL,\n 'messageId',\n errorMessage,\n 401\n );\n\n expect(mockSubmitClientMetric).toBeCalledOnceWith(\n METRIC_EVENT.VOICEMAIL_ERROR,\n expectedData2\n );\n });\n\n it('submit unknown voicemail metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitVoicemailMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL\n );\n\n expect(mockSubmitClientMetric).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitVoicemailMetric',\n }\n );\n });\n });\n\n describe('Calling_Sdk_Version fallback test', () => {\n it('submit metric with fallback version', () => {\n process.env = {};\n metricManager.setDeviceInfo(mockDeviceInfo);\n const expectedData = {\n tags: {\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: VERSION,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitBNRMetric(\n METRIC_EVENT.BNR_ENABLED,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(mockSubmitClientMetric).toBeCalledOnceWith(METRIC_EVENT.BNR_ENABLED, expectedData);\n });\n });\n});\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["METRIC_TYPE","exports","METRIC_EVENT","REG_ACTION","TRANSFER_ACTION","VOICEMAIL_ACTION","UPLOAD_LOGS_ACTION"],"sources":["types.ts"],"sourcesContent":["import {LineError} from '../Errors/catalog/LineError';\nimport {CallError, CallingClientError} from '../Errors';\nimport {CallId, CorrelationId, IDeviceInfo} from '../common/types';\n\nexport enum METRIC_TYPE {\n OPERATIONAL = 'operational',\n BEHAVIORAL = 'behavioral',\n}\n\nexport enum METRIC_EVENT {\n BNR_ENABLED = 'web-calling-sdk-bnr-enabled',\n BNR_DISABLED = 'web-calling-sdk-bnr-disabled',\n CALL = 'web-calling-sdk-callcontrol',\n CALL_ERROR = 'web-calling-sdk-callcontrol-error',\n MEDIA = 'web-calling-sdk-media',\n MEDIA_ERROR = 'web-calling-sdk-media-error',\n REGISTRATION = 'web-calling-sdk-registration',\n REGISTRATION_ERROR = 'web-calling-sdk-registration-error',\n VOICEMAIL = 'web-calling-sdk-voicemail',\n VOICEMAIL_ERROR = 'web-calling-sdk-voicemail-error',\n UPLOAD_LOGS_SUCCESS = 'web-calling-sdk-upload-logs-success',\n UPLOAD_LOGS_FAILED = 'web-calling-sdk-upload-logs-failed',\n}\n\nexport enum REG_ACTION {\n REGISTER = 'register',\n DEREGISTER = 'deregister',\n KEEPALIVE_FAILURE = 'keepaliveFailure',\n}\n\nexport enum TRANSFER_ACTION {\n BLIND = 'TRANSFER_BLIND',\n CONSULT = 'TRANSFER_CONSULT',\n}\n\nexport enum VOICEMAIL_ACTION {\n GET_VOICEMAILS = 'get_voicemails',\n GET_VOICEMAIL_CONTENT = 'get_voicemail_content',\n GET_VOICEMAIL_SUMMARY = 'get_voicemail_summary',\n MARK_READ = 'mark_read',\n MARK_UNREAD = 'mark_unread',\n DELETE = 'delete',\n TRANSCRIPT = 'transcript',\n}\n\nexport const UPLOAD_LOGS_ACTION = 'upload_logs';\n\nexport interface IMetricManager {\n setDeviceInfo: (deviceInfo: IDeviceInfo) => void;\n submitRegistrationMetric: (\n name: METRIC_EVENT,\n metricAction: REG_ACTION,\n type: METRIC_TYPE,\n
|
|
1
|
+
{"version":3,"names":["METRIC_TYPE","exports","METRIC_EVENT","REG_ACTION","TRANSFER_ACTION","VOICEMAIL_ACTION","UPLOAD_LOGS_ACTION"],"sources":["types.ts"],"sourcesContent":["import {LineError} from '../Errors/catalog/LineError';\nimport {CallError, CallingClientError} from '../Errors';\nimport {CallId, CorrelationId, IDeviceInfo} from '../common/types';\n\nexport enum METRIC_TYPE {\n OPERATIONAL = 'operational',\n BEHAVIORAL = 'behavioral',\n}\n\nexport enum METRIC_EVENT {\n BNR_ENABLED = 'web-calling-sdk-bnr-enabled',\n BNR_DISABLED = 'web-calling-sdk-bnr-disabled',\n CALL = 'web-calling-sdk-callcontrol',\n CALL_ERROR = 'web-calling-sdk-callcontrol-error',\n MEDIA = 'web-calling-sdk-media',\n MEDIA_ERROR = 'web-calling-sdk-media-error',\n REGISTRATION = 'web-calling-sdk-registration',\n REGISTRATION_ERROR = 'web-calling-sdk-registration-error',\n VOICEMAIL = 'web-calling-sdk-voicemail',\n VOICEMAIL_ERROR = 'web-calling-sdk-voicemail-error',\n UPLOAD_LOGS_SUCCESS = 'web-calling-sdk-upload-logs-success',\n UPLOAD_LOGS_FAILED = 'web-calling-sdk-upload-logs-failed',\n}\n\nexport enum REG_ACTION {\n REGISTER = 'register',\n DEREGISTER = 'deregister',\n KEEPALIVE_FAILURE = 'keepaliveFailure',\n}\n\nexport enum TRANSFER_ACTION {\n BLIND = 'TRANSFER_BLIND',\n CONSULT = 'TRANSFER_CONSULT',\n}\n\nexport enum VOICEMAIL_ACTION {\n GET_VOICEMAILS = 'get_voicemails',\n GET_VOICEMAIL_CONTENT = 'get_voicemail_content',\n GET_VOICEMAIL_SUMMARY = 'get_voicemail_summary',\n MARK_READ = 'mark_read',\n MARK_UNREAD = 'mark_unread',\n DELETE = 'delete',\n TRANSCRIPT = 'transcript',\n}\n\nexport type SERVER_TYPE = 'PRIMARY' | 'BACKUP' | 'UNKNOWN';\n\nexport const UPLOAD_LOGS_ACTION = 'upload_logs';\n\nexport interface IMetricManager {\n setDeviceInfo: (deviceInfo: IDeviceInfo) => void;\n submitRegistrationMetric: (\n name: METRIC_EVENT,\n metricAction: REG_ACTION,\n type: METRIC_TYPE,\n caller: string,\n serverType: SERVER_TYPE,\n trackingId: string,\n keepaliveCount?: number,\n error?: LineError | CallingClientError\n ) => void;\n submitBNRMetric: (\n name: METRIC_EVENT,\n type: METRIC_TYPE,\n callId: CallId,\n correlationId: CorrelationId\n ) => void;\n submitCallMetric: (\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n callId: CallId,\n correlationId: CorrelationId,\n callError?: CallError\n ) => void;\n submitMediaMetric: (\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n callId: CallId,\n correlationId: CorrelationId,\n localSdp?: string,\n remoteSdp?: string,\n callError?: CallError\n ) => void;\n submitVoicemailMetric: (\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n messageId?: string,\n voicemailError?: string,\n statusCode?: number\n ) => void;\n submitUploadLogsMetric: (\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n trackingId?: string,\n feedbackId?: string,\n correlationId?: string,\n stack?: string,\n callId?: string\n ) => void;\n}\n"],"mappings":";;;;;;;IAIYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAAA,IAKXE,YAAY,GAAAD,OAAA,CAAAC,YAAA,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA;AAAA,IAeZC,UAAU,GAAAF,OAAA,CAAAE,UAAA,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAAA,IAMVC,eAAe,GAAAH,OAAA,CAAAG,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAAA,IAKfC,gBAAgB,GAAAJ,OAAA,CAAAI,gBAAA,0BAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA;AAYrB,IAAMC,kBAAkB,GAAAL,OAAA,CAAAK,kBAAA,GAAG,aAAa"}
|
package/dist/common/Utils.js
CHANGED
|
@@ -239,101 +239,102 @@ function _handleRegistrationErrors() {
|
|
|
239
239
|
finalError = false;
|
|
240
240
|
_Logger.default.warn("Status code: -> ".concat(errorCode), loggerContext);
|
|
241
241
|
_context.t0 = errorCode;
|
|
242
|
-
_context.next = _context.t0 === _types2.ERROR_CODE.BAD_REQUEST ? 7 : _context.t0 === _types2.ERROR_CODE.UNAUTHORIZED ? 12 : _context.t0 === _types2.ERROR_CODE.DEVICE_NOT_FOUND ? 17 : _context.t0 === _types2.ERROR_CODE.TOO_MANY_REQUESTS ? 22 : _context.t0 === _types2.ERROR_CODE.INTERNAL_SERVER_ERROR ?
|
|
242
|
+
_context.next = _context.t0 === _types2.ERROR_CODE.BAD_REQUEST ? 7 : _context.t0 === _types2.ERROR_CODE.UNAUTHORIZED ? 12 : _context.t0 === _types2.ERROR_CODE.DEVICE_NOT_FOUND ? 17 : _context.t0 === _types2.ERROR_CODE.TOO_MANY_REQUESTS ? 22 : _context.t0 === _types2.ERROR_CODE.INTERNAL_SERVER_ERROR ? 27 : _context.t0 === _types2.ERROR_CODE.SERVICE_UNAVAILABLE ? 31 : _context.t0 === _types2.ERROR_CODE.FORBIDDEN ? 35 : 70;
|
|
243
243
|
break;
|
|
244
244
|
case 7:
|
|
245
245
|
finalError = true;
|
|
246
246
|
_Logger.default.warn("400 Bad Request", loggerContext);
|
|
247
|
-
updateLineErrorContext(loggerContext, _types2.ERROR_TYPE.
|
|
247
|
+
updateLineErrorContext(loggerContext, _types2.ERROR_TYPE.BAD_REQUEST, 'Invalid input. Please verify the required parameters, sign out and then sign back in with the valid data', _types3.RegistrationStatus.INACTIVE, lineError);
|
|
248
248
|
emitterCb(lineError, finalError);
|
|
249
|
-
return _context.abrupt("break",
|
|
249
|
+
return _context.abrupt("break", 73);
|
|
250
250
|
case 12:
|
|
251
251
|
// Return it to the Caller
|
|
252
252
|
finalError = true;
|
|
253
253
|
_Logger.default.warn("401 Unauthorized", loggerContext);
|
|
254
254
|
updateLineErrorContext(loggerContext, _types2.ERROR_TYPE.TOKEN_ERROR, 'User is unauthorized due to an expired token. Sign out, then sign back in.', _types3.RegistrationStatus.INACTIVE, lineError);
|
|
255
255
|
emitterCb(lineError, finalError);
|
|
256
|
-
return _context.abrupt("break",
|
|
256
|
+
return _context.abrupt("break", 73);
|
|
257
257
|
case 17:
|
|
258
258
|
finalError = true;
|
|
259
259
|
_Logger.default.warn("404 Device Not Found", loggerContext);
|
|
260
260
|
updateLineErrorContext(loggerContext, _types2.ERROR_TYPE.NOT_FOUND, 'Webex Calling is unable to find your device. Sign out, then sign back in', _types3.RegistrationStatus.INACTIVE, lineError);
|
|
261
261
|
emitterCb(lineError, finalError);
|
|
262
|
-
return _context.abrupt("break",
|
|
262
|
+
return _context.abrupt("break", 73);
|
|
263
263
|
case 22:
|
|
264
264
|
_Logger.default.warn("429 Too Many Requests", loggerContext);
|
|
265
|
+
updateLineErrorContext(loggerContext, _types2.ERROR_TYPE.TOO_MANY_REQUESTS, 'Server is handling too many request at the time. Wait a moment and try again', _types3.RegistrationStatus.INACTIVE, lineError);
|
|
265
266
|
caller = loggerContext.method || 'handleErrors';
|
|
266
267
|
if (retry429Cb && err.headers) {
|
|
267
268
|
retryAfter = Number(err.headers['retry-after']);
|
|
268
269
|
retry429Cb(retryAfter, caller);
|
|
269
270
|
}
|
|
270
|
-
return _context.abrupt("break",
|
|
271
|
-
case
|
|
271
|
+
return _context.abrupt("break", 73);
|
|
272
|
+
case 27:
|
|
272
273
|
_Logger.default.warn("500 Internal Server Error", loggerContext);
|
|
273
274
|
updateLineErrorContext(loggerContext, _types2.ERROR_TYPE.SERVER_ERROR, 'An unknown error occurred while placing the request. Wait a moment and try again.', _types3.RegistrationStatus.INACTIVE, lineError);
|
|
274
275
|
emitterCb(lineError, finalError);
|
|
275
|
-
return _context.abrupt("break",
|
|
276
|
-
case
|
|
276
|
+
return _context.abrupt("break", 73);
|
|
277
|
+
case 31:
|
|
277
278
|
_Logger.default.warn("503 Service Unavailable", loggerContext);
|
|
278
279
|
updateLineErrorContext(loggerContext, _types2.ERROR_TYPE.SERVICE_UNAVAILABLE, 'An error occurred on the server while processing the request. Wait a moment and try again.', _types3.RegistrationStatus.INACTIVE, lineError);
|
|
279
280
|
emitterCb(lineError, finalError);
|
|
280
|
-
return _context.abrupt("break",
|
|
281
|
-
case
|
|
281
|
+
return _context.abrupt("break", 73);
|
|
282
|
+
case 35:
|
|
282
283
|
_Logger.default.warn("403 Forbidden", loggerContext);
|
|
283
284
|
errorBody = err.body;
|
|
284
285
|
if (errorBody) {
|
|
285
|
-
_context.next =
|
|
286
|
+
_context.next = 42;
|
|
286
287
|
break;
|
|
287
288
|
}
|
|
288
289
|
_Logger.default.warn('Error response has no body, throwing default error', loggerContext);
|
|
289
290
|
updateLineErrorContext(loggerContext, _types2.ERROR_TYPE.FORBIDDEN_ERROR, 'An unauthorized action has been received. This action has been blocked. Please contact the administrator if this persists.', _types3.RegistrationStatus.INACTIVE, lineError);
|
|
290
291
|
emitterCb(lineError, finalError);
|
|
291
292
|
return _context.abrupt("return", finalError);
|
|
292
|
-
case
|
|
293
|
+
case 42:
|
|
293
294
|
code = Number(errorBody.errorCode);
|
|
294
295
|
_Logger.default.warn("Error code found : ".concat(code), loggerContext);
|
|
295
296
|
_context.t1 = code;
|
|
296
|
-
_context.next = _context.t1 === _types2.DEVICE_ERROR_CODE.DEVICE_LIMIT_EXCEEDED ?
|
|
297
|
+
_context.next = _context.t1 === _types2.DEVICE_ERROR_CODE.DEVICE_LIMIT_EXCEEDED ? 47 : _context.t1 === _types2.DEVICE_ERROR_CODE.DEVICE_CREATION_DISABLED ? 54 : _context.t1 === _types2.DEVICE_ERROR_CODE.DEVICE_CREATION_FAILED ? 60 : 65;
|
|
297
298
|
break;
|
|
298
|
-
case
|
|
299
|
+
case 47:
|
|
299
300
|
errorMessage = 'User device limit exceeded';
|
|
300
301
|
_Logger.default.warn(errorMessage, loggerContext);
|
|
301
302
|
if (!restoreRegCb) {
|
|
302
|
-
_context.next =
|
|
303
|
+
_context.next = 53;
|
|
303
304
|
break;
|
|
304
305
|
}
|
|
305
306
|
_caller = loggerContext.method || 'handleErrors';
|
|
306
|
-
_context.next =
|
|
307
|
+
_context.next = 53;
|
|
307
308
|
return restoreRegCb(errorBody, _caller);
|
|
308
|
-
case 52:
|
|
309
|
-
return _context.abrupt("break", 68);
|
|
310
309
|
case 53:
|
|
310
|
+
return _context.abrupt("break", 69);
|
|
311
|
+
case 54:
|
|
311
312
|
_errorMessage = 'User is not configured for WebRTC calling. Please contact the administrator to resolve this issue.';
|
|
312
313
|
finalError = true;
|
|
313
314
|
updateLineErrorContext(loggerContext, _types2.ERROR_TYPE.FORBIDDEN_ERROR, _errorMessage, _types3.RegistrationStatus.INACTIVE, lineError);
|
|
314
315
|
_Logger.default.warn(_errorMessage, loggerContext);
|
|
315
316
|
emitterCb(lineError, true);
|
|
316
|
-
return _context.abrupt("break",
|
|
317
|
-
case
|
|
317
|
+
return _context.abrupt("break", 69);
|
|
318
|
+
case 60:
|
|
318
319
|
_errorMessage2 = 'An unknown error occurred while provisioning the device. Wait a moment and try again.';
|
|
319
320
|
updateLineErrorContext(loggerContext, _types2.ERROR_TYPE.FORBIDDEN_ERROR, _errorMessage2, _types3.RegistrationStatus.INACTIVE, lineError);
|
|
320
321
|
_Logger.default.warn(_errorMessage2, loggerContext);
|
|
321
322
|
emitterCb(lineError, finalError);
|
|
322
|
-
return _context.abrupt("break",
|
|
323
|
-
case
|
|
323
|
+
return _context.abrupt("break", 69);
|
|
324
|
+
case 65:
|
|
324
325
|
_errorMessage3 = 'An unknown error occurred. Wait a moment and try again. Please contact the administrator if the problem persists.';
|
|
325
326
|
updateLineErrorContext(loggerContext, _types2.ERROR_TYPE.FORBIDDEN_ERROR, _errorMessage3, _types3.RegistrationStatus.INACTIVE, lineError);
|
|
326
327
|
_Logger.default.warn(_errorMessage3, loggerContext);
|
|
327
328
|
emitterCb(lineError, finalError);
|
|
328
|
-
case 68:
|
|
329
|
-
return _context.abrupt("break", 72);
|
|
330
329
|
case 69:
|
|
330
|
+
return _context.abrupt("break", 73);
|
|
331
|
+
case 70:
|
|
331
332
|
updateLineErrorContext(loggerContext, _types2.ERROR_TYPE.DEFAULT, 'Unknown error', _types3.RegistrationStatus.INACTIVE, lineError);
|
|
332
333
|
_Logger.default.warn("Unknown Error", loggerContext);
|
|
333
334
|
emitterCb(lineError, finalError);
|
|
334
|
-
case 72:
|
|
335
|
-
return _context.abrupt("return", finalError);
|
|
336
335
|
case 73:
|
|
336
|
+
return _context.abrupt("return", finalError);
|
|
337
|
+
case 74:
|
|
337
338
|
case "end":
|
|
338
339
|
return _context.stop();
|
|
339
340
|
}
|
|
@@ -367,23 +368,29 @@ function _handleCallingClientErrors() {
|
|
|
367
368
|
finalError = false;
|
|
368
369
|
_Logger.default.warn("Status code: -> ".concat(errorCode), loggerContext);
|
|
369
370
|
_context2.t0 = errorCode;
|
|
370
|
-
_context2.next = _context2.t0 === _types2.ERROR_CODE.
|
|
371
|
+
_context2.next = _context2.t0 === _types2.ERROR_CODE.UNAUTHORIZED ? 7 : _context2.t0 === _types2.ERROR_CODE.INTERNAL_SERVER_ERROR ? 12 : 16;
|
|
371
372
|
break;
|
|
372
373
|
case 7:
|
|
374
|
+
finalError = true;
|
|
375
|
+
_Logger.default.warn("401 Unauthorized", loggerContext);
|
|
376
|
+
updateErrorContext(loggerContext, _types2.ERROR_TYPE.TOKEN_ERROR, 'User is unauthorized due to an expired token.', clientError);
|
|
377
|
+
emitterCb(clientError, finalError);
|
|
378
|
+
return _context2.abrupt("break", 19);
|
|
379
|
+
case 12:
|
|
373
380
|
_Logger.default.warn("500 Internal Server Error", loggerContext);
|
|
374
381
|
updateErrorContext(loggerContext, _types2.ERROR_TYPE.SERVER_ERROR, 'An unknown error occurred while placing the request. Wait a moment and try again.', clientError);
|
|
375
382
|
emitterCb(clientError, finalError);
|
|
376
|
-
return _context2.abrupt("break",
|
|
377
|
-
case
|
|
383
|
+
return _context2.abrupt("break", 19);
|
|
384
|
+
case 16:
|
|
378
385
|
updateErrorContext(loggerContext, _types2.ERROR_TYPE.DEFAULT, 'Unknown error', clientError);
|
|
379
386
|
_Logger.default.warn("Unknown Error", loggerContext);
|
|
380
387
|
emitterCb(clientError, finalError);
|
|
381
|
-
case
|
|
382
|
-
_context2.next =
|
|
388
|
+
case 19:
|
|
389
|
+
_context2.next = 21;
|
|
383
390
|
return uploadLogs();
|
|
384
|
-
case
|
|
391
|
+
case 21:
|
|
385
392
|
return _context2.abrupt("return", finalError);
|
|
386
|
-
case
|
|
393
|
+
case 22:
|
|
387
394
|
case "end":
|
|
388
395
|
return _context2.stop();
|
|
389
396
|
}
|