@webex/calling 3.10.0 → 3.11.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/module/CallHistory/CallHistory.js +20 -11
- package/dist/module/CallSettings/UcmBackendConnector.js +21 -8
- package/dist/module/CallSettings/WxCallBackendConnector.js +10 -15
- package/dist/module/CallingClient/CallingClient.js +83 -123
- package/dist/module/CallingClient/calling/call.js +73 -58
- package/dist/module/CallingClient/calling/callManager.js +7 -0
- package/dist/module/CallingClient/constants.js +3 -0
- package/dist/module/CallingClient/registration/register.js +85 -5
- package/dist/module/CallingClient/registration/webWorker.js +2 -2
- package/dist/module/CallingClient/registration/webWorkerStr.js +2 -2
- package/dist/module/Contacts/ContactsClient.js +19 -25
- package/dist/module/Events/impl/index.js +1 -1
- package/dist/module/Logger/index.js +2 -2
- package/dist/module/Voicemail/BroadworksBackendConnector.js +10 -18
- package/dist/module/Voicemail/UcmBackendConnector.js +7 -11
- package/dist/module/Voicemail/Voicemail.js +42 -68
- package/dist/module/Voicemail/WxCallBackendConnector.js +14 -28
- package/dist/module/common/Utils.js +31 -5
- package/dist/module/common/constants.js +2 -0
- package/dist/module/common/testUtil.js +1 -0
- package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
- package/dist/types/CallSettings/UcmBackendConnector.d.ts +1 -0
- package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
- package/dist/types/CallSettings/WxCallBackendConnector.d.ts.map +1 -1
- package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/call.d.ts +4 -0
- package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
- package/dist/types/CallingClient/constants.d.ts +3 -0
- package/dist/types/CallingClient/constants.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/register.d.ts +4 -0
- package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/types.d.ts +6 -0
- package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/webWorkerStr.d.ts +1 -1
- package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -1
- package/dist/types/Contacts/ContactsClient.d.ts +1 -0
- package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
- package/dist/types/Logger/index.d.ts +1 -2
- package/dist/types/Logger/index.d.ts.map +1 -1
- package/dist/types/SDKConnector/types.d.ts +16 -0
- package/dist/types/SDKConnector/types.d.ts.map +1 -1
- package/dist/types/Voicemail/BroadworksBackendConnector.d.ts.map +1 -1
- package/dist/types/Voicemail/UcmBackendConnector.d.ts.map +1 -1
- package/dist/types/Voicemail/Voicemail.d.ts.map +1 -1
- package/dist/types/Voicemail/WxCallBackendConnector.d.ts.map +1 -1
- package/dist/types/common/Utils.d.ts +1 -1
- package/dist/types/common/Utils.d.ts.map +1 -1
- package/dist/types/common/constants.d.ts +2 -0
- package/dist/types/common/constants.d.ts.map +1 -1
- package/dist/types/common/testUtil.d.ts +1 -0
- package/dist/types/common/testUtil.d.ts.map +1 -1
- package/package.json +4 -4
- package/dist/CallHistory/CallHistory.js +0 -584
- package/dist/CallHistory/CallHistory.js.map +0 -1
- package/dist/CallHistory/CallHistory.test.js +0 -813
- package/dist/CallHistory/CallHistory.test.js.map +0 -1
- package/dist/CallHistory/callHistoryFixtures.js +0 -650
- package/dist/CallHistory/callHistoryFixtures.js.map +0 -1
- package/dist/CallHistory/constants.js +0 -38
- package/dist/CallHistory/constants.js.map +0 -1
- package/dist/CallHistory/types.js +0 -7
- package/dist/CallHistory/types.js.map +0 -1
- package/dist/CallSettings/CallSettings.js +0 -312
- package/dist/CallSettings/CallSettings.js.map +0 -1
- package/dist/CallSettings/CallSettings.test.js +0 -122
- package/dist/CallSettings/CallSettings.test.js.map +0 -1
- package/dist/CallSettings/UcmBackendConnector.js +0 -261
- package/dist/CallSettings/UcmBackendConnector.js.map +0 -1
- package/dist/CallSettings/UcmBackendConnector.test.js +0 -321
- package/dist/CallSettings/UcmBackendConnector.test.js.map +0 -1
- package/dist/CallSettings/WxCallBackendConnector.js +0 -604
- package/dist/CallSettings/WxCallBackendConnector.js.map +0 -1
- package/dist/CallSettings/WxCallBackendConnector.test.js +0 -905
- package/dist/CallSettings/WxCallBackendConnector.test.js.map +0 -1
- package/dist/CallSettings/constants.js +0 -31
- package/dist/CallSettings/constants.js.map +0 -1
- package/dist/CallSettings/testFixtures.js +0 -68
- package/dist/CallSettings/testFixtures.js.map +0 -1
- package/dist/CallSettings/types.js +0 -7
- package/dist/CallSettings/types.js.map +0 -1
- package/dist/CallingClient/CallingClient.js +0 -1071
- package/dist/CallingClient/CallingClient.js.map +0 -1
- package/dist/CallingClient/CallingClient.test.js +0 -1289
- package/dist/CallingClient/CallingClient.test.js.map +0 -1
- package/dist/CallingClient/callRecordFixtures.js +0 -101
- package/dist/CallingClient/callRecordFixtures.js.map +0 -1
- package/dist/CallingClient/calling/CallerId/index.js +0 -276
- package/dist/CallingClient/calling/CallerId/index.js.map +0 -1
- package/dist/CallingClient/calling/CallerId/index.test.js +0 -275
- package/dist/CallingClient/calling/CallerId/index.test.js.map +0 -1
- package/dist/CallingClient/calling/CallerId/types.js +0 -7
- package/dist/CallingClient/calling/CallerId/types.js.map +0 -1
- package/dist/CallingClient/calling/call.js +0 -3444
- package/dist/CallingClient/calling/call.js.map +0 -1
- package/dist/CallingClient/calling/call.test.js +0 -3260
- package/dist/CallingClient/calling/call.test.js.map +0 -1
- package/dist/CallingClient/calling/callManager.js +0 -456
- package/dist/CallingClient/calling/callManager.js.map +0 -1
- package/dist/CallingClient/calling/callManager.test.js +0 -741
- package/dist/CallingClient/calling/callManager.test.js.map +0 -1
- package/dist/CallingClient/calling/index.js +0 -30
- package/dist/CallingClient/calling/index.js.map +0 -1
- package/dist/CallingClient/calling/types.js +0 -74
- package/dist/CallingClient/calling/types.js.map +0 -1
- package/dist/CallingClient/callingClientFixtures.js +0 -143
- package/dist/CallingClient/callingClientFixtures.js.map +0 -1
- package/dist/CallingClient/constants.js +0 -237
- package/dist/CallingClient/constants.js.map +0 -1
- package/dist/CallingClient/line/index.js +0 -349
- package/dist/CallingClient/line/index.js.map +0 -1
- package/dist/CallingClient/line/line.test.js +0 -327
- package/dist/CallingClient/line/line.test.js.map +0 -1
- package/dist/CallingClient/line/types.js +0 -21
- package/dist/CallingClient/line/types.js.map +0 -1
- package/dist/CallingClient/registration/index.js +0 -19
- package/dist/CallingClient/registration/index.js.map +0 -1
- package/dist/CallingClient/registration/register.js +0 -1538
- package/dist/CallingClient/registration/register.js.map +0 -1
- package/dist/CallingClient/registration/register.test.js +0 -1537
- package/dist/CallingClient/registration/register.test.js.map +0 -1
- package/dist/CallingClient/registration/registerFixtures.js +0 -36
- package/dist/CallingClient/registration/registerFixtures.js.map +0 -1
- package/dist/CallingClient/registration/types.js +0 -7
- package/dist/CallingClient/registration/types.js.map +0 -1
- package/dist/CallingClient/registration/webWorker.js +0 -130
- package/dist/CallingClient/registration/webWorker.js.map +0 -1
- package/dist/CallingClient/registration/webWorker.test.js +0 -303
- package/dist/CallingClient/registration/webWorker.test.js.map +0 -1
- package/dist/CallingClient/registration/webWorkerStr.js +0 -15
- package/dist/CallingClient/registration/webWorkerStr.js.map +0 -1
- package/dist/CallingClient/types.js +0 -7
- package/dist/CallingClient/types.js.map +0 -1
- package/dist/CallingClient/windowsChromiumIceWarmupUtils.js +0 -142
- package/dist/CallingClient/windowsChromiumIceWarmupUtils.js.map +0 -1
- package/dist/Contacts/ContactsClient.js +0 -1215
- package/dist/Contacts/ContactsClient.js.map +0 -1
- package/dist/Contacts/ContactsClient.test.js +0 -1003
- package/dist/Contacts/ContactsClient.test.js.map +0 -1
- package/dist/Contacts/constants.js +0 -40
- package/dist/Contacts/constants.js.map +0 -1
- package/dist/Contacts/contactFixtures.js +0 -430
- package/dist/Contacts/contactFixtures.js.map +0 -1
- package/dist/Contacts/types.js +0 -43
- package/dist/Contacts/types.js.map +0 -1
- package/dist/Errors/catalog/CallError.js +0 -92
- package/dist/Errors/catalog/CallError.js.map +0 -1
- package/dist/Errors/catalog/CallingDeviceError.js +0 -86
- package/dist/Errors/catalog/CallingDeviceError.js.map +0 -1
- package/dist/Errors/catalog/ExtendedError.js +0 -44
- package/dist/Errors/catalog/ExtendedError.js.map +0 -1
- package/dist/Errors/catalog/LineError.js +0 -88
- package/dist/Errors/catalog/LineError.js.map +0 -1
- package/dist/Errors/index.js +0 -28
- package/dist/Errors/index.js.map +0 -1
- package/dist/Errors/types.js +0 -59
- package/dist/Errors/types.js.map +0 -1
- package/dist/Events/impl/index.js +0 -81
- package/dist/Events/impl/index.js.map +0 -1
- package/dist/Events/types.js +0 -107
- package/dist/Events/types.js.map +0 -1
- package/dist/Logger/index.js +0 -228
- package/dist/Logger/index.js.map +0 -1
- package/dist/Logger/index.test.js +0 -87
- package/dist/Logger/index.test.js.map +0 -1
- package/dist/Logger/types.js +0 -34
- package/dist/Logger/types.js.map +0 -1
- package/dist/Metrics/index.js +0 -535
- package/dist/Metrics/index.js.map +0 -1
- package/dist/Metrics/index.test.js +0 -463
- package/dist/Metrics/index.test.js.map +0 -1
- package/dist/Metrics/types.js +0 -64
- package/dist/Metrics/types.js.map +0 -1
- package/dist/SDKConnector/index.js +0 -103
- package/dist/SDKConnector/index.js.map +0 -1
- package/dist/SDKConnector/index.test.js +0 -9
- package/dist/SDKConnector/index.test.js.map +0 -1
- package/dist/SDKConnector/types.js +0 -7
- package/dist/SDKConnector/types.js.map +0 -1
- package/dist/SDKConnector/utils.js +0 -39
- package/dist/SDKConnector/utils.js.map +0 -1
- package/dist/SDKConnector/utils.test.js +0 -9
- package/dist/SDKConnector/utils.test.js.map +0 -1
- package/dist/Voicemail/BroadworksBackendConnector.js +0 -707
- package/dist/Voicemail/BroadworksBackendConnector.js.map +0 -1
- package/dist/Voicemail/BroadworksBackendConnector.test.js +0 -812
- package/dist/Voicemail/BroadworksBackendConnector.test.js.map +0 -1
- package/dist/Voicemail/UcmBackendConnector.js +0 -632
- package/dist/Voicemail/UcmBackendConnector.js.map +0 -1
- package/dist/Voicemail/UcmBackendConnector.test.js +0 -738
- package/dist/Voicemail/UcmBackendConnector.test.js.map +0 -1
- package/dist/Voicemail/Voicemail.js +0 -500
- package/dist/Voicemail/Voicemail.js.map +0 -1
- package/dist/Voicemail/Voicemail.test.js +0 -391
- package/dist/Voicemail/Voicemail.test.js.map +0 -1
- package/dist/Voicemail/WxCallBackendConnector.js +0 -671
- package/dist/Voicemail/WxCallBackendConnector.js.map +0 -1
- package/dist/Voicemail/WxCallBackendConnector.test.js +0 -1199
- package/dist/Voicemail/WxCallBackendConnector.test.js.map +0 -1
- package/dist/Voicemail/constants.js +0 -61
- package/dist/Voicemail/constants.js.map +0 -1
- package/dist/Voicemail/types.js +0 -7
- package/dist/Voicemail/types.js.map +0 -1
- package/dist/Voicemail/voicemailFixture.js +0 -524
- package/dist/Voicemail/voicemailFixture.js.map +0 -1
- package/dist/api.js +0 -157
- package/dist/api.js.map +0 -1
- package/dist/common/Utils.js +0 -1451
- package/dist/common/Utils.js.map +0 -1
- package/dist/common/Utils.test.js +0 -1744
- package/dist/common/Utils.test.js.map +0 -1
- package/dist/common/constants.js +0 -60
- package/dist/common/constants.js.map +0 -1
- package/dist/common/index.js +0 -19
- package/dist/common/index.js.map +0 -1
- package/dist/common/testUtil.js +0 -982
- package/dist/common/testUtil.js.map +0 -1
- package/dist/common/types.js +0 -75
- package/dist/common/types.js.map +0 -1
- package/dist/index.js +0 -321
- package/dist/index.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_uuid","require","_constants","_types","_types2","_constants2","_Logger","_interopRequireDefault","_registration","_impl","_LineError","_common","_SDKConnector","_types3","_callManager","_types4","_createSuper","t","r","_isNativeReflectConstruct","e","o","_getPrototypeOf2","default","s","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Boolean","prototype","valueOf","call","_classPrivateFieldInitSpec","a","_checkPrivateRedeclaration","set","has","TypeError","_webex","_weakMap","_mutex","_sdkConnector","_primaryMobiusUris","_backupMobiusUris","Line","exports","_Eventing","_inherits2","_super","userId","clientDeviceUri","mutex","primaryMobiusUris","backupMobiusUris","logLevel","serviceDataConfig","jwe","phoneNumber","extension","voicemail","_this","_classCallCheck2","_assertThisInitialized2","writable","value","_defineProperty2","event","deviceInfo","lineError","log","info","METHOD_START_MESSAGE","file","LINE_FILE","method","METHODS","LINE_EMITTER","LINE_EVENTS","REGISTERED","normalizeLine","emit","UNREGISTERED","RECONNECTED","RECONNECTING","ERROR","registration","getStatus","_this$registration$ge","getDeviceInfo","device","deviceId","dest","MAKE_CALL","match","address","VALID_PHONE_REGEX","length","_this$registration$ge2","_call","sanitizedNumber","replace","formattedDest","type","concat","callManager","createCall","CallDirection","OUTBOUND","lineId","getCallId","warn","err","LineError","ERROR_TYPE","CALL_ERROR","RegistrationStatus","ACTIVE","serviceData","indicator","ServiceIndicator","GUEST_CALLING","_this$registration$ge3","undefined","correlationId","getCall","uuid","_classPrivateFieldSet2","SDKConnector","_classPrivateFieldGet2","getWebex","CALLING","domain","validateServiceData","createRegistration","lineEmitter","setLogger","getCallManager","incomingCallListener","_createClass2","key","_register","_asyncToGenerator2","_regenerator","mark","_callee2","_this2","wrap","_callee2$","_context2","prev","next","REGISTER","runExclusive","_callee","_callee$","_context","CONNECTING","setMobiusServers","triggerRegistration","stop","register","_deregister","_callee3","_callee3$","_context3","DEREGISTER","deregister","setStatus","IDLE","_device$addresses","keepaliveInterval","callKeepaliveInterval","rehomingIntervalMin","rehomingIntervalMax","voicePortalNumber","voicePortalExtension","mobiusDeviceId","mobiusUri","uri","lastSeen","sipAddresses","addresses","updateLine","getLoggingLevel","getLogLevel","getActiveMobiusUrl","_this3","INCOMING_CALL_LISTENER","on","LINE_EVENT_KEYS","INCOMING_CALL","callObj","Eventing"],"sources":["index.ts"],"sourcesContent":["import {Mutex} from 'async-mutex';\nimport {v4 as uuid} from 'uuid';\nimport {METHOD_START_MESSAGE} from '../../common/constants';\nimport {\n CallDetails,\n CallDirection,\n CorrelationId,\n IDeviceInfo,\n MobiusDeviceId,\n RegistrationStatus,\n ServiceData,\n ServiceIndicator,\n} from '../../common/types';\nimport {ILine, LINE_EVENTS} from './types';\nimport {LINE_FILE, METHODS, VALID_PHONE_REGEX} from '../constants';\nimport log from '../../Logger';\nimport {IRegistration} from '../registration/types';\nimport {createRegistration} from '../registration';\nimport {ISDKConnector, WebexSDK} from '../../SDKConnector/types';\nimport {CallingClientConfig} from '../types';\nimport {Eventing} from '../../Events/impl';\nimport {LineError} from '../../Errors/catalog/LineError';\nimport {LOGGER} from '../../Logger/types';\nimport {validateServiceData} from '../../common';\nimport SDKConnector from '../../SDKConnector';\nimport {LINE_EVENT_KEYS, LineEventTypes} from '../../Events/types';\nimport {ICall, ICallManager} from '../calling/types';\nimport {getCallManager} from '../calling/callManager';\nimport {ERROR_TYPE} from '../../Errors/types';\n\nexport default class Line extends Eventing<LineEventTypes> implements ILine {\n #webex: WebexSDK;\n\n #mutex: Mutex;\n\n #sdkConnector: ISDKConnector;\n\n public registration: IRegistration;\n\n public userId: string;\n\n public clientDeviceUri: string;\n\n public lineId: string;\n\n public mobiusDeviceId?: string;\n\n private mobiusUri?: string;\n\n public phoneNumber?: string;\n\n public extension?: string;\n\n public sipAddresses: string[] = [];\n\n public voicemail?: string;\n\n public lastSeen?: string;\n\n public keepaliveInterval?: number;\n\n public callKeepaliveInterval?: number;\n\n public rehomingIntervalMin?: number;\n\n public rehomingIntervalMax?: number;\n\n public voicePortalNumber?: number;\n\n public voicePortalExtension?: number;\n\n private callManager: ICallManager;\n\n private serviceData: ServiceData;\n\n #primaryMobiusUris: string[];\n\n #backupMobiusUris: string[];\n\n constructor(\n userId: string,\n clientDeviceUri: string,\n mutex: Mutex,\n primaryMobiusUris: string[],\n backupMobiusUris: string[],\n logLevel: LOGGER,\n serviceDataConfig?: CallingClientConfig['serviceData'],\n jwe?: string,\n phoneNumber?: string,\n extension?: string,\n voicemail?: string\n ) {\n super();\n this.lineId = uuid();\n this.userId = userId;\n this.clientDeviceUri = clientDeviceUri;\n this.phoneNumber = phoneNumber;\n this.extension = extension;\n this.voicemail = voicemail;\n\n this.#sdkConnector = SDKConnector;\n this.#webex = this.#sdkConnector.getWebex();\n this.#mutex = mutex;\n\n this.#primaryMobiusUris = primaryMobiusUris;\n this.#backupMobiusUris = backupMobiusUris;\n\n this.serviceData = serviceDataConfig?.indicator\n ? serviceDataConfig\n : {indicator: ServiceIndicator.CALLING, domain: ''};\n\n validateServiceData(this.serviceData);\n\n this.registration = createRegistration(\n this.#webex,\n this.serviceData,\n this.#mutex,\n this.lineEmitter,\n logLevel,\n jwe\n );\n\n log.setLogger(logLevel, LINE_FILE);\n\n this.callManager = getCallManager(this.#webex, this.serviceData.indicator);\n\n this.incomingCallListener();\n }\n\n /**\n * Wrapper to for device registration.\n */\n public async register() {\n log.info(METHOD_START_MESSAGE, {\n file: LINE_FILE,\n method: METHODS.REGISTER,\n });\n await this.#mutex.runExclusive(async () => {\n this.emit(LINE_EVENTS.CONNECTING);\n\n this.registration.setMobiusServers(this.#primaryMobiusUris, this.#backupMobiusUris);\n await this.registration.triggerRegistration();\n });\n }\n\n /**\n * Wrapper to for device deregister.\n */\n public async deregister() {\n log.info(METHOD_START_MESSAGE, {\n file: LINE_FILE,\n method: METHODS.DEREGISTER,\n });\n await this.registration.deregister();\n this.registration.setStatus(RegistrationStatus.IDLE);\n }\n\n /**\n * To normalize line class with Mobius response\n */\n private normalizeLine(deviceInfo: IDeviceInfo) {\n const {\n device,\n keepaliveInterval,\n callKeepaliveInterval,\n rehomingIntervalMin,\n rehomingIntervalMax,\n voicePortalNumber,\n voicePortalExtension,\n } = deviceInfo;\n\n this.mobiusDeviceId = device?.deviceId;\n this.mobiusUri = device?.uri;\n this.lastSeen = device?.lastSeen;\n this.sipAddresses = device?.addresses ?? [];\n this.keepaliveInterval = keepaliveInterval;\n this.callKeepaliveInterval = callKeepaliveInterval;\n this.rehomingIntervalMin = rehomingIntervalMin;\n this.rehomingIntervalMax = rehomingIntervalMax;\n this.voicePortalNumber = voicePortalNumber;\n this.voicePortalExtension = voicePortalExtension;\n if (this.mobiusDeviceId) {\n this.callManager.updateLine(this.mobiusDeviceId, this);\n }\n }\n\n /**\n * Line events emitter\n */\n public lineEmitter = (event: LINE_EVENTS, deviceInfo?: IDeviceInfo, lineError?: LineError) => {\n log.info(METHOD_START_MESSAGE, {\n file: LINE_FILE,\n method: METHODS.LINE_EMITTER,\n });\n switch (event) {\n case LINE_EVENTS.REGISTERED:\n if (deviceInfo) {\n this.normalizeLine(deviceInfo);\n this.emit(event, this);\n }\n break;\n case LINE_EVENTS.UNREGISTERED:\n case LINE_EVENTS.RECONNECTED:\n case LINE_EVENTS.RECONNECTING:\n this.emit(event);\n break;\n case LINE_EVENTS.ERROR:\n if (lineError) {\n this.emit(event, lineError);\n }\n break;\n default:\n break;\n }\n };\n\n /**\n * To get the current log Level.\n */\n public getLoggingLevel(): LOGGER {\n return log.getLogLevel();\n }\n\n /**\n * To get active url of Mobius.\n */\n public getActiveMobiusUrl(): string {\n return this.registration.getActiveMobiusUrl();\n }\n\n /**\n * Gets registration status\n */\n public getStatus = (): RegistrationStatus => this.registration.getStatus();\n\n /**\n * Gets device id\n */\n public getDeviceId = (): MobiusDeviceId | undefined =>\n this.registration.getDeviceInfo().device?.deviceId;\n\n /**\n * Initiates a call to the specified destination.\n * @param dest - The call details including destination information.\n */\n public makeCall = (dest?: CallDetails): ICall | undefined => {\n log.info(METHOD_START_MESSAGE, {\n file: LINE_FILE,\n method: METHODS.MAKE_CALL,\n });\n let call;\n\n if (dest) {\n const match = dest.address.match(VALID_PHONE_REGEX);\n\n if (match && match[0].length === dest.address.length) {\n const sanitizedNumber = dest.address\n .replace(/[^[*+]\\d#]/gi, '')\n .replace(/\\s+/gi, '')\n .replace(/-/gi, '');\n const formattedDest = {\n type: dest.type,\n address: `tel:${sanitizedNumber}`,\n };\n\n call = this.callManager.createCall(\n CallDirection.OUTBOUND,\n this.registration.getDeviceInfo().device?.deviceId as string,\n this.lineId,\n formattedDest\n );\n log.log(`New call created, callId: ${call?.getCallId()}`, {\n file: LINE_FILE,\n method: METHODS.MAKE_CALL,\n });\n } else {\n log.warn('Invalid phone number detected', {\n file: LINE_FILE,\n method: METHODS.MAKE_CALL,\n });\n\n const err = new LineError(\n 'An invalid phone number was detected. Check the number and try again.',\n {},\n ERROR_TYPE.CALL_ERROR,\n RegistrationStatus.ACTIVE\n );\n\n this.emit(LINE_EVENTS.ERROR, err);\n }\n\n return call;\n }\n if (this.serviceData.indicator === ServiceIndicator.GUEST_CALLING) {\n call = this.callManager.createCall(\n CallDirection.OUTBOUND,\n this.registration.getDeviceInfo().device?.deviceId as string,\n this.lineId\n );\n log.info(`New guest call created, callId: ${call.getCallId()}`, {\n file: LINE_FILE,\n method: METHODS.MAKE_CALL,\n });\n\n return call;\n }\n\n return undefined;\n };\n\n /**\n * An Incoming Call listener.\n */\n private incomingCallListener() {\n log.info(METHOD_START_MESSAGE, {\n file: LINE_FILE,\n method: METHODS.INCOMING_CALL_LISTENER,\n });\n log.info('Listening for incoming calls... ', {\n file: LINE_FILE,\n method: METHODS.INCOMING_CALL_LISTENER,\n });\n this.callManager.on(LINE_EVENT_KEYS.INCOMING_CALL, (callObj: ICall) => {\n this.emit(LINE_EVENTS.INCOMING_CALL, callObj);\n });\n }\n\n /**\n * @param callId -.\n * @param correlationId -.\n */\n public getCall = (correlationId: CorrelationId): ICall => {\n return this.callManager.getCall(correlationId);\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,327 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _typeof = require("@babel/runtime-corejs2/helpers/typeof");
|
|
4
|
-
var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
|
|
5
|
-
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
|
|
6
|
-
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
|
|
7
|
-
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
|
|
8
|
-
var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
|
|
9
|
-
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
10
|
-
var _WeakMap = require("@babel/runtime-corejs2/core-js/weak-map");
|
|
11
|
-
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
12
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
|
|
13
|
-
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
14
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
15
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
16
|
-
var _asyncMutex = require("async-mutex");
|
|
17
|
-
var _testUtil = require("../../common/testUtil");
|
|
18
|
-
var _registerFixtures = require("../registration/registerFixtures");
|
|
19
|
-
var _common = require("../../common");
|
|
20
|
-
var _types = require("../../common/types");
|
|
21
|
-
var _types2 = require("./types");
|
|
22
|
-
var _ = _interopRequireDefault(require("."));
|
|
23
|
-
var utils = _interopRequireWildcard(require("../../common/Utils"));
|
|
24
|
-
var _SDKConnector = _interopRequireDefault(require("../../SDKConnector"));
|
|
25
|
-
var _constants = require("../constants");
|
|
26
|
-
var _types3 = require("../../Logger/types");
|
|
27
|
-
var regUtils = _interopRequireWildcard(require("../registration/register"));
|
|
28
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
29
|
-
function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
30
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
31
|
-
jest.spyOn(utils, 'uploadLogs').mockResolvedValue(undefined);
|
|
32
|
-
describe('Line Tests', function () {
|
|
33
|
-
var mutex = new _asyncMutex.Mutex();
|
|
34
|
-
var webex = (0, _testUtil.getTestUtilsWebex)();
|
|
35
|
-
_SDKConnector.default.setWebex(webex);
|
|
36
|
-
var defaultServiceData = {
|
|
37
|
-
indicator: _types.ServiceIndicator.CALLING,
|
|
38
|
-
domain: ''
|
|
39
|
-
};
|
|
40
|
-
var createRegistrationSpy = jest.spyOn(regUtils, 'createRegistration');
|
|
41
|
-
var mobiusUris = (0, _common.filterMobiusUris)((0, _testUtil.getMobiusDiscoveryResponse)(), _registerFixtures.URL);
|
|
42
|
-
var primaryMobiusUris = jest.fn(function () {
|
|
43
|
-
return mobiusUris.primary;
|
|
44
|
-
});
|
|
45
|
-
var backupMobiusUris = jest.fn(function () {
|
|
46
|
-
return mobiusUris.backup;
|
|
47
|
-
});
|
|
48
|
-
var userId = webex.internal.device.userId;
|
|
49
|
-
var clientDeviceUri = webex.internal.device.url;
|
|
50
|
-
var mockJwe = 'mockJwe';
|
|
51
|
-
var guestServiceData = {
|
|
52
|
-
indicator: _types.ServiceIndicator.GUEST_CALLING,
|
|
53
|
-
domain: '',
|
|
54
|
-
guestName: 'testUser'
|
|
55
|
-
};
|
|
56
|
-
var handleErrorSpy = jest.spyOn(utils, 'handleRegistrationErrors');
|
|
57
|
-
// Simulate node fetch by adding the mock webex.request
|
|
58
|
-
global.fetch = webex.request;
|
|
59
|
-
jest.clearAllMocks();
|
|
60
|
-
describe('Line Registration tests', function () {
|
|
61
|
-
var line;
|
|
62
|
-
var mockRegistrationBody = (0, _testUtil.getMockDeviceInfo)();
|
|
63
|
-
var discoveryBody = (0, _testUtil.getMobiusDiscoveryResponse)();
|
|
64
|
-
var primaryUrl = "".concat(discoveryBody.primary.uris[0], "/calling/web/");
|
|
65
|
-
var registrationPayload = {
|
|
66
|
-
statusCode: 200,
|
|
67
|
-
body: mockRegistrationBody
|
|
68
|
-
};
|
|
69
|
-
beforeEach(function () {
|
|
70
|
-
line = new _.default(userId, clientDeviceUri, mutex, primaryMobiusUris(), backupMobiusUris(), _types3.LOGGER.INFO);
|
|
71
|
-
});
|
|
72
|
-
afterEach(function () {
|
|
73
|
-
jest.clearAllTimers();
|
|
74
|
-
jest.clearAllMocks();
|
|
75
|
-
jest.useRealTimers();
|
|
76
|
-
line.removeAllListeners();
|
|
77
|
-
});
|
|
78
|
-
it('verify successful Registration cases and keepalive', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
79
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
80
|
-
while (1) switch (_context.prev = _context.next) {
|
|
81
|
-
case 0:
|
|
82
|
-
jest.useFakeTimers();
|
|
83
|
-
webex.request.mockReturnValue(registrationPayload);
|
|
84
|
-
expect(createRegistrationSpy).toBeCalledOnceWith(webex, defaultServiceData, expect.any(_asyncMutex.Mutex), expect.anything(), _types3.LOGGER.INFO, undefined);
|
|
85
|
-
expect(line.getStatus()).toEqual(_types.RegistrationStatus.IDLE);
|
|
86
|
-
_context.next = 6;
|
|
87
|
-
return line.register();
|
|
88
|
-
case 6:
|
|
89
|
-
expect(webex.request).toBeCalledOnceWith(_objectSpread(_objectSpread({}, (0, _testUtil.getMockRequestTemplate)()), {}, {
|
|
90
|
-
body: {
|
|
91
|
-
userId: userId,
|
|
92
|
-
clientDeviceUri: clientDeviceUri,
|
|
93
|
-
serviceData: defaultServiceData
|
|
94
|
-
},
|
|
95
|
-
uri: "".concat(primaryUrl, "device"),
|
|
96
|
-
method: 'POST'
|
|
97
|
-
}));
|
|
98
|
-
expect(handleErrorSpy).not.toBeCalled();
|
|
99
|
-
expect(line.getStatus()).toEqual(_types.RegistrationStatus.ACTIVE);
|
|
100
|
-
expect(line.getActiveMobiusUrl()).toEqual(primaryUrl);
|
|
101
|
-
expect(line.getLoggingLevel()).toEqual(_types3.LOGGER.INFO);
|
|
102
|
-
expect(line.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);
|
|
103
|
-
expect(line.callManager.lineDict[mockRegistrationBody.device.deviceId]).toEqual(line);
|
|
104
|
-
webex.request.mockClear();
|
|
105
|
-
jest.advanceTimersByTime(30 * 1000);
|
|
106
|
-
_context.next = 17;
|
|
107
|
-
return _promise.default.resolve();
|
|
108
|
-
case 17:
|
|
109
|
-
jest.useRealTimers();
|
|
110
|
-
case 18:
|
|
111
|
-
case "end":
|
|
112
|
-
return _context.stop();
|
|
113
|
-
}
|
|
114
|
-
}, _callee);
|
|
115
|
-
})));
|
|
116
|
-
it('verify successful Registration cases and keepalive for a guest user', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
117
|
-
var guestLine;
|
|
118
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
119
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
120
|
-
case 0:
|
|
121
|
-
createRegistrationSpy.mockClear();
|
|
122
|
-
guestLine = new _.default(userId, clientDeviceUri, mutex, primaryMobiusUris(), backupMobiusUris(), _types3.LOGGER.INFO, guestServiceData, mockJwe);
|
|
123
|
-
jest.useFakeTimers();
|
|
124
|
-
webex.request.mockReturnValue(registrationPayload);
|
|
125
|
-
expect(createRegistrationSpy).toBeCalledOnceWith(webex, guestServiceData, expect.any(_asyncMutex.Mutex), expect.anything(), _types3.LOGGER.INFO, mockJwe);
|
|
126
|
-
expect(guestLine.getStatus()).toEqual(_types.RegistrationStatus.IDLE);
|
|
127
|
-
_context2.next = 8;
|
|
128
|
-
return guestLine.register();
|
|
129
|
-
case 8:
|
|
130
|
-
expect(webex.request).toBeCalledOnceWith(_objectSpread(_objectSpread({}, (0, _testUtil.getMockRequestTemplate)()), {}, {
|
|
131
|
-
body: {
|
|
132
|
-
userId: userId,
|
|
133
|
-
clientDeviceUri: clientDeviceUri,
|
|
134
|
-
serviceData: _objectSpread(_objectSpread({}, guestServiceData), {}, {
|
|
135
|
-
jwe: mockJwe
|
|
136
|
-
})
|
|
137
|
-
},
|
|
138
|
-
uri: "".concat(primaryUrl, "device"),
|
|
139
|
-
method: 'POST'
|
|
140
|
-
}));
|
|
141
|
-
expect(handleErrorSpy).not.toBeCalled();
|
|
142
|
-
expect(guestLine.getStatus()).toEqual(_types.RegistrationStatus.ACTIVE);
|
|
143
|
-
expect(guestLine.getActiveMobiusUrl()).toEqual(primaryUrl);
|
|
144
|
-
expect(guestLine.getLoggingLevel()).toEqual(_types3.LOGGER.INFO);
|
|
145
|
-
expect(guestLine.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);
|
|
146
|
-
webex.request.mockClear();
|
|
147
|
-
jest.advanceTimersByTime(30 * 1000);
|
|
148
|
-
_context2.next = 18;
|
|
149
|
-
return _promise.default.resolve();
|
|
150
|
-
case 18:
|
|
151
|
-
jest.useRealTimers();
|
|
152
|
-
case 19:
|
|
153
|
-
case "end":
|
|
154
|
-
return _context2.stop();
|
|
155
|
-
}
|
|
156
|
-
}, _callee2);
|
|
157
|
-
})));
|
|
158
|
-
it('verify failure Registration cases all requests fail ', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
159
|
-
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
160
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
161
|
-
case 0:
|
|
162
|
-
line.removeAllListeners(_types2.LINE_EVENTS.ERROR);
|
|
163
|
-
webex.request.mockRejectedValue({
|
|
164
|
-
statusCode: 401
|
|
165
|
-
});
|
|
166
|
-
line.on(_types2.LINE_EVENTS.ERROR, function (error) {
|
|
167
|
-
expect(error.message).toBe('User is unauthorized due to an expired token. Sign out, then sign back in.');
|
|
168
|
-
});
|
|
169
|
-
expect(line.getStatus()).toBe(_types.RegistrationStatus.IDLE);
|
|
170
|
-
line.register();
|
|
171
|
-
_context3.next = 7;
|
|
172
|
-
return utils.waitForMsecs(20);
|
|
173
|
-
case 7:
|
|
174
|
-
expect(line.getStatus()).toBe(_types.RegistrationStatus.INACTIVE);
|
|
175
|
-
expect(handleErrorSpy).toBeCalledOnceWith(expect.anything(), expect.anything(), {
|
|
176
|
-
file: _constants.REGISTRATION_FILE,
|
|
177
|
-
method: 'triggerRegistration'
|
|
178
|
-
}, expect.anything(), expect.anything());
|
|
179
|
-
case 9:
|
|
180
|
-
case "end":
|
|
181
|
-
return _context3.stop();
|
|
182
|
-
}
|
|
183
|
-
}, _callee3);
|
|
184
|
-
})));
|
|
185
|
-
it('verify successful de-registration cases', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
|
|
186
|
-
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
187
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
188
|
-
case 0:
|
|
189
|
-
webex.request.mockReturnValueOnce(registrationPayload);
|
|
190
|
-
expect(line.getStatus()).toEqual(_types.RegistrationStatus.IDLE);
|
|
191
|
-
_context4.next = 4;
|
|
192
|
-
return line.register();
|
|
193
|
-
case 4:
|
|
194
|
-
expect(line.getStatus()).toEqual(_types.RegistrationStatus.ACTIVE);
|
|
195
|
-
_context4.next = 7;
|
|
196
|
-
return line.deregister();
|
|
197
|
-
case 7:
|
|
198
|
-
expect(line.getStatus()).toEqual(_types.RegistrationStatus.IDLE);
|
|
199
|
-
case 8:
|
|
200
|
-
case "end":
|
|
201
|
-
return _context4.stop();
|
|
202
|
-
}
|
|
203
|
-
}, _callee4);
|
|
204
|
-
})));
|
|
205
|
-
});
|
|
206
|
-
describe('Line calling tests', function () {
|
|
207
|
-
var line;
|
|
208
|
-
beforeEach(function () {
|
|
209
|
-
line = new _.default(userId, clientDeviceUri, mutex, primaryMobiusUris(), backupMobiusUris(), _types3.LOGGER.INFO);
|
|
210
|
-
});
|
|
211
|
-
afterEach(function () {
|
|
212
|
-
jest.clearAllTimers();
|
|
213
|
-
jest.clearAllMocks();
|
|
214
|
-
jest.useRealTimers();
|
|
215
|
-
line.removeAllListeners();
|
|
216
|
-
});
|
|
217
|
-
it('Return a successful call object while making call', function () {
|
|
218
|
-
var createCallSpy = jest.spyOn(line.callManager, 'createCall');
|
|
219
|
-
var call = line.makeCall({
|
|
220
|
-
address: '5003',
|
|
221
|
-
type: _types.CallType.URI
|
|
222
|
-
});
|
|
223
|
-
expect(createCallSpy).toBeCalledOnceWith(_types.CallDirection.OUTBOUND, undefined, line.lineId, {
|
|
224
|
-
address: 'tel:5003',
|
|
225
|
-
type: 'uri'
|
|
226
|
-
});
|
|
227
|
-
expect(call).toBeTruthy();
|
|
228
|
-
expect(line.getCall(call ? call.getCorrelationId() : '')).toBe(call);
|
|
229
|
-
expect(call ? call.direction : undefined).toStrictEqual(_types.CallDirection.OUTBOUND);
|
|
230
|
-
call === null || call === void 0 ? void 0 : call.end();
|
|
231
|
-
});
|
|
232
|
-
it('Return a successful call object while making call to FAC codes', function () {
|
|
233
|
-
var createCallSpy = jest.spyOn(line.callManager, 'createCall');
|
|
234
|
-
var call = line.makeCall({
|
|
235
|
-
address: '*25',
|
|
236
|
-
type: _types.CallType.URI
|
|
237
|
-
});
|
|
238
|
-
expect(createCallSpy).toBeCalledOnceWith(_types.CallDirection.OUTBOUND, undefined, line.lineId, {
|
|
239
|
-
address: 'tel:*25',
|
|
240
|
-
type: 'uri'
|
|
241
|
-
});
|
|
242
|
-
expect(call).toBeTruthy();
|
|
243
|
-
expect(call ? call.direction : undefined).toStrictEqual(_types.CallDirection.OUTBOUND);
|
|
244
|
-
call === null || call === void 0 ? void 0 : call.end();
|
|
245
|
-
});
|
|
246
|
-
it('Remove spaces from dialled number while making call', function () {
|
|
247
|
-
var createCallSpy = jest.spyOn(line.callManager, 'createCall');
|
|
248
|
-
var call = line.makeCall({
|
|
249
|
-
address: '+91 123 456 7890',
|
|
250
|
-
type: _types.CallType.URI
|
|
251
|
-
});
|
|
252
|
-
expect(createCallSpy).toBeCalledOnceWith(_types.CallDirection.OUTBOUND, undefined, line.lineId, {
|
|
253
|
-
address: 'tel:+911234567890',
|
|
254
|
-
type: 'uri'
|
|
255
|
-
});
|
|
256
|
-
expect(call).toBeTruthy();
|
|
257
|
-
expect(call ? call.direction : undefined).toStrictEqual(_types.CallDirection.OUTBOUND);
|
|
258
|
-
expect(call ? call.destination.address : undefined).toStrictEqual('tel:+911234567890');
|
|
259
|
-
call === null || call === void 0 ? void 0 : call.end();
|
|
260
|
-
});
|
|
261
|
-
it('Remove hyphen from dialled number while making call', function () {
|
|
262
|
-
var createCallSpy = jest.spyOn(line.callManager, 'createCall');
|
|
263
|
-
var call = line.makeCall({
|
|
264
|
-
address: '123-456-7890',
|
|
265
|
-
type: _types.CallType.URI
|
|
266
|
-
});
|
|
267
|
-
expect(createCallSpy).toBeCalledOnceWith(_types.CallDirection.OUTBOUND, undefined, line.lineId, {
|
|
268
|
-
address: 'tel:1234567890',
|
|
269
|
-
type: 'uri'
|
|
270
|
-
});
|
|
271
|
-
expect(call).toBeTruthy();
|
|
272
|
-
expect(call ? call.direction : undefined).toStrictEqual(_types.CallDirection.OUTBOUND);
|
|
273
|
-
expect(call ? call.destination.address : undefined).toStrictEqual('tel:1234567890');
|
|
274
|
-
call === null || call === void 0 ? void 0 : call.end();
|
|
275
|
-
});
|
|
276
|
-
it('attempt to create call with incorrect number format 1', function (done) {
|
|
277
|
-
// There may be other listeners , which may create race
|
|
278
|
-
line.removeAllListeners(_types2.LINE_EVENTS.ERROR);
|
|
279
|
-
var createCallSpy = jest.spyOn(line.callManager, 'createCall');
|
|
280
|
-
line.on(_types2.LINE_EVENTS.ERROR, function (error) {
|
|
281
|
-
expect(error.message).toBe('An invalid phone number was detected. Check the number and try again.');
|
|
282
|
-
done();
|
|
283
|
-
});
|
|
284
|
-
try {
|
|
285
|
-
var call = line.makeCall({
|
|
286
|
-
address: 'select#$@^^',
|
|
287
|
-
type: _types.CallType.URI
|
|
288
|
-
});
|
|
289
|
-
expect(call).toBeUndefined();
|
|
290
|
-
expect(createCallSpy).not.toBeCalledOnceWith({});
|
|
291
|
-
} catch (error) {
|
|
292
|
-
done(error);
|
|
293
|
-
}
|
|
294
|
-
});
|
|
295
|
-
it('attempt to create call with incorrect number format 2', function (done) {
|
|
296
|
-
expect.assertions(4);
|
|
297
|
-
var createCallSpy = jest.spyOn(line.callManager, 'createCall');
|
|
298
|
-
line.on(_types2.LINE_EVENTS.ERROR, function (error) {
|
|
299
|
-
expect(error.message).toBe('An invalid phone number was detected. Check the number and try again.');
|
|
300
|
-
done();
|
|
301
|
-
});
|
|
302
|
-
try {
|
|
303
|
-
var call = line.makeCall({
|
|
304
|
-
address: '+1@8883332505',
|
|
305
|
-
type: _types.CallType.URI
|
|
306
|
-
});
|
|
307
|
-
expect(call).toBeUndefined();
|
|
308
|
-
expect(createCallSpy).not.toBeCalledOnceWith({});
|
|
309
|
-
} catch (error) {
|
|
310
|
-
done(error);
|
|
311
|
-
}
|
|
312
|
-
});
|
|
313
|
-
it('attempt to create call with guest calling service indicator', function () {
|
|
314
|
-
expect.assertions(2);
|
|
315
|
-
var createCallSpy = jest.spyOn(line.callManager, 'createCall');
|
|
316
|
-
|
|
317
|
-
// Mocking the serviceData to have GUEST_CALLING indicator
|
|
318
|
-
line = new _.default(userId, clientDeviceUri, mutex, primaryMobiusUris(), backupMobiusUris(), _types3.LOGGER.INFO, {
|
|
319
|
-
indicator: _types.ServiceIndicator.GUEST_CALLING
|
|
320
|
-
});
|
|
321
|
-
var call = line.makeCall();
|
|
322
|
-
expect(call).toBeTruthy();
|
|
323
|
-
expect(createCallSpy).toBeCalledWith(_types.CallDirection.OUTBOUND, undefined, expect.any(String));
|
|
324
|
-
});
|
|
325
|
-
});
|
|
326
|
-
});
|
|
327
|
-
//# sourceMappingURL=line.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_asyncMutex","require","_testUtil","_registerFixtures","_common","_types","_types2","_","_interopRequireDefault","utils","_interopRequireWildcard","_SDKConnector","_constants","_types3","regUtils","e","t","_WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t","hasOwnProperty","call","_Object$defineProperty","_Object$getOwnPropertyDescriptor","ownKeys","_Object$keys","_Object$getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","_Object$getOwnPropertyDescriptors","_Object$defineProperties","jest","spyOn","mockResolvedValue","undefined","describe","mutex","Mutex","webex","getTestUtilsWebex","SDKConnector","setWebex","defaultServiceData","indicator","ServiceIndicator","CALLING","domain","createRegistrationSpy","mobiusUris","filterMobiusUris","getMobiusDiscoveryResponse","URL","primaryMobiusUris","fn","primary","backupMobiusUris","backup","userId","internal","device","clientDeviceUri","url","mockJwe","guestServiceData","GUEST_CALLING","guestName","handleErrorSpy","global","fetch","request","clearAllMocks","line","mockRegistrationBody","getMockDeviceInfo","discoveryBody","primaryUrl","concat","uris","registrationPayload","statusCode","body","beforeEach","Line","LOGGER","INFO","afterEach","clearAllTimers","useRealTimers","removeAllListeners","it","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","useFakeTimers","mockReturnValue","expect","toBeCalledOnceWith","any","anything","getStatus","toEqual","RegistrationStatus","IDLE","register","getMockRequestTemplate","serviceData","uri","method","not","toBeCalled","ACTIVE","getActiveMobiusUrl","getLoggingLevel","getDeviceId","deviceId","callManager","lineDict","mockClear","advanceTimersByTime","_promise","resolve","stop","_callee2","guestLine","_callee2$","_context2","jwe","_callee3","_callee3$","_context3","LINE_EVENTS","ERROR","mockRejectedValue","on","error","message","toBe","waitForMsecs","INACTIVE","file","REGISTRATION_FILE","_callee4","_callee4$","_context4","mockReturnValueOnce","deregister","createCallSpy","makeCall","address","type","CallType","URI","CallDirection","OUTBOUND","lineId","toBeTruthy","getCall","getCorrelationId","direction","toStrictEqual","end","destination","done","toBeUndefined","assertions","toBeCalledWith","String"],"sources":["line.test.ts"],"sourcesContent":["import {Mutex} from 'async-mutex';\nimport {\n getMobiusDiscoveryResponse,\n getMockDeviceInfo,\n getMockRequestTemplate,\n getTestUtilsWebex,\n} from '../../common/testUtil';\nimport {URL} from '../registration/registerFixtures';\nimport {filterMobiusUris} from '../../common';\nimport {\n CallDirection,\n CallType,\n MobiusServers,\n RegistrationStatus,\n ServiceIndicator,\n WebexRequestPayload,\n} from '../../common/types';\nimport {LINE_EVENTS} from './types';\nimport Line from '.';\nimport * as utils from '../../common/Utils';\nimport SDKConnector from '../../SDKConnector';\nimport {REGISTRATION_FILE} from '../constants';\nimport {LOGGER} from '../../Logger/types';\nimport * as regUtils from '../registration/register';\n\njest.spyOn(utils, 'uploadLogs').mockResolvedValue(undefined);\n\ndescribe('Line Tests', () => {\n const mutex = new Mutex();\n const webex = getTestUtilsWebex();\n SDKConnector.setWebex(webex);\n\n const defaultServiceData = {indicator: ServiceIndicator.CALLING, domain: ''};\n const createRegistrationSpy = jest.spyOn(regUtils, 'createRegistration');\n\n const mobiusUris = filterMobiusUris(getMobiusDiscoveryResponse(), URL);\n const primaryMobiusUris = jest.fn(() => mobiusUris.primary);\n const backupMobiusUris = jest.fn(() => mobiusUris.backup);\n const userId = webex.internal.device.userId;\n const clientDeviceUri = webex.internal.device.url;\n const mockJwe = 'mockJwe';\n const guestServiceData = {\n indicator: ServiceIndicator.GUEST_CALLING,\n domain: '',\n guestName: 'testUser',\n };\n\n const handleErrorSpy = jest.spyOn(utils, 'handleRegistrationErrors');\n // Simulate node fetch by adding the mock webex.request\n global.fetch = webex.request;\n\n jest.clearAllMocks();\n\n describe('Line Registration tests', () => {\n let line;\n const mockRegistrationBody = getMockDeviceInfo();\n\n const discoveryBody: MobiusServers = getMobiusDiscoveryResponse();\n const primaryUrl = `${discoveryBody.primary.uris[0]}/calling/web/`;\n\n const registrationPayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: mockRegistrationBody,\n });\n\n beforeEach(() => {\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO\n );\n });\n\n afterEach(() => {\n jest.clearAllTimers();\n jest.clearAllMocks();\n jest.useRealTimers();\n line.removeAllListeners();\n });\n\n it('verify successful Registration cases and keepalive', async () => {\n jest.useFakeTimers();\n webex.request.mockReturnValue(registrationPayload);\n\n expect(createRegistrationSpy).toBeCalledOnceWith(\n webex,\n defaultServiceData,\n expect.any(Mutex),\n expect.anything(),\n LOGGER.INFO,\n undefined\n );\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n await line.register();\n\n expect(webex.request).toBeCalledOnceWith({\n ...getMockRequestTemplate(),\n body: {\n userId,\n clientDeviceUri,\n serviceData: defaultServiceData,\n },\n uri: `${primaryUrl}device`,\n method: 'POST',\n });\n expect(handleErrorSpy).not.toBeCalled();\n\n expect(line.getStatus()).toEqual(RegistrationStatus.ACTIVE);\n expect(line.getActiveMobiusUrl()).toEqual(primaryUrl);\n expect(line.getLoggingLevel()).toEqual(LOGGER.INFO);\n expect(line.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);\n expect(line.callManager.lineDict[mockRegistrationBody.device.deviceId]).toEqual(line);\n\n webex.request.mockClear();\n\n jest.advanceTimersByTime(30 * 1000);\n await Promise.resolve();\n\n jest.useRealTimers();\n });\n\n it('verify successful Registration cases and keepalive for a guest user', async () => {\n createRegistrationSpy.mockClear();\n const guestLine = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO,\n guestServiceData,\n mockJwe\n );\n jest.useFakeTimers();\n webex.request.mockReturnValue(registrationPayload);\n\n expect(createRegistrationSpy).toBeCalledOnceWith(\n webex,\n guestServiceData,\n expect.any(Mutex),\n expect.anything(),\n LOGGER.INFO,\n mockJwe\n );\n expect(guestLine.getStatus()).toEqual(RegistrationStatus.IDLE);\n await guestLine.register();\n\n expect(webex.request).toBeCalledOnceWith({\n ...getMockRequestTemplate(),\n body: {\n userId,\n clientDeviceUri,\n serviceData: {...guestServiceData, jwe: mockJwe},\n },\n uri: `${primaryUrl}device`,\n method: 'POST',\n });\n expect(handleErrorSpy).not.toBeCalled();\n\n expect(guestLine.getStatus()).toEqual(RegistrationStatus.ACTIVE);\n expect(guestLine.getActiveMobiusUrl()).toEqual(primaryUrl);\n expect(guestLine.getLoggingLevel()).toEqual(LOGGER.INFO);\n expect(guestLine.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);\n\n webex.request.mockClear();\n\n jest.advanceTimersByTime(30 * 1000);\n await Promise.resolve();\n\n jest.useRealTimers();\n });\n\n it('verify failure Registration cases all requests fail ', async () => {\n line.removeAllListeners(LINE_EVENTS.ERROR);\n\n webex.request.mockRejectedValue({\n statusCode: 401,\n });\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'User is unauthorized due to an expired token. Sign out, then sign back in.'\n );\n });\n\n expect(line.getStatus()).toBe(RegistrationStatus.IDLE);\n line.register();\n await utils.waitForMsecs(20);\n\n expect(line.getStatus()).toBe(RegistrationStatus.INACTIVE);\n expect(handleErrorSpy).toBeCalledOnceWith(\n expect.anything(),\n expect.anything(),\n {\n file: REGISTRATION_FILE,\n method: 'triggerRegistration',\n },\n expect.anything(),\n expect.anything()\n );\n });\n\n it('verify successful de-registration cases', async () => {\n webex.request.mockReturnValueOnce(registrationPayload);\n\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n await line.register();\n expect(line.getStatus()).toEqual(RegistrationStatus.ACTIVE);\n\n await line.deregister();\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n });\n });\n\n describe('Line calling tests', () => {\n let line;\n\n beforeEach(() => {\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO\n );\n });\n\n afterEach(() => {\n jest.clearAllTimers();\n jest.clearAllMocks();\n jest.useRealTimers();\n line.removeAllListeners();\n });\n it('Return a successful call object while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '5003', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:5003',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(line.getCall(call ? call.getCorrelationId() : '')).toBe(call);\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n call?.end();\n });\n\n it('Return a successful call object while making call to FAC codes', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '*25', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:*25',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n call?.end();\n });\n\n it('Remove spaces from dialled number while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '+91 123 456 7890', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:+911234567890',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n expect(call ? call.destination.address : undefined).toStrictEqual('tel:+911234567890');\n call?.end();\n });\n\n it('Remove hyphen from dialled number while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '123-456-7890', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:1234567890',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n expect(call ? call.destination.address : undefined).toStrictEqual('tel:1234567890');\n call?.end();\n });\n\n it('attempt to create call with incorrect number format 1', (done) => {\n // There may be other listeners , which may create race\n line.removeAllListeners(LINE_EVENTS.ERROR);\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'An invalid phone number was detected. Check the number and try again.'\n );\n done();\n });\n try {\n const call = line.makeCall({address: 'select#$@^^', type: CallType.URI});\n\n expect(call).toBeUndefined();\n expect(createCallSpy).not.toBeCalledOnceWith({});\n } catch (error) {\n done(error);\n }\n });\n\n it('attempt to create call with incorrect number format 2', (done) => {\n expect.assertions(4);\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'An invalid phone number was detected. Check the number and try again.'\n );\n done();\n });\n\n try {\n const call = line.makeCall({address: '+1@8883332505', type: CallType.URI});\n\n expect(call).toBeUndefined();\n expect(createCallSpy).not.toBeCalledOnceWith({});\n } catch (error) {\n done(error);\n }\n });\n\n it('attempt to create call with guest calling service indicator', () => {\n expect.assertions(2);\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n\n // Mocking the serviceData to have GUEST_CALLING indicator\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO,\n {indicator: ServiceIndicator.GUEST_CALLING}\n );\n const call = line.makeCall();\n\n expect(call).toBeTruthy();\n expect(createCallSpy).toBeCalledWith(CallDirection.OUTBOUND, undefined, expect.any(String));\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
-
_Object$defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.LINE_EVENTS = void 0;
|
|
8
|
-
var LINE_EVENTS = exports.LINE_EVENTS = /*#__PURE__*/function (LINE_EVENTS) {
|
|
9
|
-
LINE_EVENTS["CONNECTING"] = "connecting";
|
|
10
|
-
LINE_EVENTS["ERROR"] = "error";
|
|
11
|
-
LINE_EVENTS["RECONNECTED"] = "reconnected";
|
|
12
|
-
LINE_EVENTS["RECONNECTING"] = "reconnecting";
|
|
13
|
-
LINE_EVENTS["REGISTERED"] = "registered";
|
|
14
|
-
LINE_EVENTS["UNREGISTERED"] = "unregistered";
|
|
15
|
-
LINE_EVENTS["INCOMING_CALL"] = "line:incoming_call";
|
|
16
|
-
return LINE_EVENTS;
|
|
17
|
-
}({});
|
|
18
|
-
/**
|
|
19
|
-
* Represents an interface for managing a telephony line.
|
|
20
|
-
*/
|
|
21
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["LINE_EVENTS","exports"],"sources":["types.ts"],"sourcesContent":["import {LineEventTypes} from '../../Events/types';\nimport {Eventing} from '../../Events/impl';\nimport {IRegistration} from '../registration/types';\nimport {LineError} from '../../Errors/catalog/LineError';\nimport {\n CallDetails,\n CorrelationId,\n IDeviceInfo,\n MobiusDeviceId,\n RegistrationStatus,\n} from '../../common/types';\nimport {ICall} from '../calling/types';\n\nexport enum LINE_EVENTS {\n CONNECTING = 'connecting',\n ERROR = 'error',\n RECONNECTED = 'reconnected',\n RECONNECTING = 'reconnecting',\n REGISTERED = 'registered',\n UNREGISTERED = 'unregistered',\n INCOMING_CALL = 'line:incoming_call',\n}\n\n/**\n * Represents an interface for managing a telephony line.\n */\nexport interface ILine extends Eventing<LineEventTypes> {\n /**\n * The unique identifier of the user associated with the line.\n */\n userId: string;\n\n /**\n * The URI of the client device associated with the line.\n */\n clientDeviceUri: string;\n\n /**\n * The unique identifier of the line.\n */\n lineId: string;\n\n /**\n * The optional Mobius device identifier associated with the line.\n */\n mobiusDeviceId?: string;\n\n /**\n * The phone number associated with the line.\n */\n phoneNumber?: string;\n\n /**\n * The extension number associated with the line.\n */\n extension?: string;\n\n /**\n * An array of SIP addresses associated with the line.\n */\n sipAddresses?: string[];\n\n /**\n * The voicemail number associated with the line.\n */\n voicemail?: string;\n\n /**\n * The timestamp when the line was last seen.\n */\n lastSeen?: string;\n\n /**\n * The interval for sending keep-alive messages for the line.\n */\n keepaliveInterval?: number;\n\n /**\n * The interval for sending call keep-alive messages for the line.\n */\n callKeepaliveInterval?: number;\n\n /**\n * The minimum rehoming interval for the line.\n */\n rehomingIntervalMin?: number;\n\n /**\n * The maximum rehoming interval for the line.\n */\n rehomingIntervalMax?: number;\n\n /**\n * The voice portal number associated with the line.\n */\n voicePortalNumber?: number;\n\n /**\n * The voice portal extension associated with the line.\n */\n voicePortalExtension?: number;\n\n /**\n * The registration information for the line as {@link IRegistration}.\n */\n registration: IRegistration;\n\n /**\n * Registers the line.\n */\n register(): void;\n\n /**\n * Deregisters the line.\n */\n deregister(): void;\n\n /**\n * Retrieves the active Mobius server URL associated with the line.\n *\n */\n getActiveMobiusUrl(): string;\n\n /**\n * Retrieves the registration status of the line as {@link MobiusStatus}.\n *\n */\n getStatus(): RegistrationStatus;\n\n /**\n * Retrieves the device identifier associated with the line as {@link MobiusDeviceId},\n * or `undefined` if no device is associated.\n *\n */\n getDeviceId(): MobiusDeviceId | undefined;\n\n /**\n * Emits line-related events.\n *\n * @param event - The line event to emit.\n * @param deviceInfo - Additional device information (optional).\n * @param lineError - Information about line-related errors (optional).\n *\n * @example\n * ```typescript\n * line.lineEmitter(LINE_EVENTS.UNREGISTERED);\n * ```\n * @ignore\n */\n lineEmitter: (event: LINE_EVENTS, deviceInfo?: IDeviceInfo, lineError?: LineError) => void;\n\n /**\n * Initiates a call to the specified destination.\n *\n * @param dest - The call details including destination information.\n *\n * @example\n * ```typescript\n * const callDetails : CallDetails = {type: 'uri', address: 'example@webex.com'};\n * const callObj: ICall = line.makeCall(callDetails);\n * ```\n */\n makeCall(dest?: CallDetails): ICall | undefined;\n\n /**\n * Retrieves a call object based on the provided correlation identifier.\n *\n * @param correlationId - The correlation identifier of the call.\n * @example\n * ```typescript\n * const callObj: ICall = line.getCall(correlationId);\n * ```\n */\n getCall(correlationId: CorrelationId): ICall;\n}\n\nexport type LineEmitterCallback = (\n event: LINE_EVENTS,\n deviceInfo?: IDeviceInfo,\n clientError?: LineError\n) => void;\n\nexport type LineErrorEmitterCallback = (err: LineError, finalError?: boolean) => void;\n"],"mappings":";;;;;;;IAaYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAUvB;AACA;AACA","ignoreList":[]}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
-
var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
|
|
5
|
-
_Object$defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
var _register = require("./register");
|
|
9
|
-
_Object$keys(_register).forEach(function (key) {
|
|
10
|
-
if (key === "default" || key === "__esModule") return;
|
|
11
|
-
if (key in exports && exports[key] === _register[key]) return;
|
|
12
|
-
_Object$defineProperty(exports, key, {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function get() {
|
|
15
|
-
return _register[key];
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_register","require","_Object$keys","forEach","key","exports","_Object$defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["export * from './register';\n"],"mappings":";;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAAAC,YAAA,CAAAF,SAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAJ,SAAA,CAAAI,GAAA;EAAAE,sBAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAR,SAAA,CAAAI,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|