@webex/calling 3.5.0-next.2 → 3.5.0-next.21
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/CallingClient/CallingClient.js +2 -2
- package/dist/CallingClient/CallingClient.js.map +1 -1
- package/dist/CallingClient/CallingClient.test.js +1 -1
- package/dist/CallingClient/CallingClient.test.js.map +1 -1
- package/dist/CallingClient/calling/call.js +434 -348
- package/dist/CallingClient/calling/call.js.map +1 -1
- package/dist/CallingClient/calling/call.test.js +516 -386
- package/dist/CallingClient/calling/call.test.js.map +1 -1
- package/dist/CallingClient/calling/callManager.js +6 -6
- package/dist/CallingClient/calling/callManager.js.map +1 -1
- package/dist/CallingClient/calling/callManager.test.js +3 -3
- package/dist/CallingClient/calling/callManager.test.js.map +1 -1
- package/dist/CallingClient/calling/types.js +6 -1
- package/dist/CallingClient/calling/types.js.map +1 -1
- package/dist/CallingClient/line/index.js +13 -6
- package/dist/CallingClient/line/index.js.map +1 -1
- package/dist/CallingClient/line/line.test.js +84 -22
- package/dist/CallingClient/line/line.test.js.map +1 -1
- package/dist/CallingClient/line/types.js.map +1 -1
- package/dist/CallingClient/registration/register.js +79 -59
- package/dist/CallingClient/registration/register.js.map +1 -1
- package/dist/CallingClient/registration/register.test.js +1 -1
- package/dist/CallingClient/registration/register.test.js.map +1 -1
- package/dist/CallingClient/types.js.map +1 -1
- package/dist/common/Utils.js +18 -13
- package/dist/common/Utils.js.map +1 -1
- package/dist/common/Utils.test.js +97 -0
- package/dist/common/Utils.test.js.map +1 -1
- package/dist/common/constants.js +2 -1
- package/dist/common/constants.js.map +1 -1
- package/dist/common/types.js +1 -0
- package/dist/common/types.js.map +1 -1
- package/dist/module/CallingClient/CallingClient.js +1 -1
- package/dist/module/CallingClient/calling/call.js +66 -22
- package/dist/module/CallingClient/calling/callManager.js +5 -5
- package/dist/module/CallingClient/calling/types.js +5 -0
- package/dist/module/CallingClient/line/index.js +12 -6
- package/dist/module/CallingClient/registration/register.js +12 -4
- package/dist/module/common/Utils.js +12 -5
- package/dist/module/common/constants.js +1 -0
- package/dist/module/common/types.js +1 -0
- package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/call.d.ts +7 -5
- package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/callManager.d.ts +1 -1
- package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/types.d.ts +6 -2
- package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
- package/dist/types/CallingClient/line/index.d.ts +3 -2
- package/dist/types/CallingClient/line/index.d.ts.map +1 -1
- package/dist/types/CallingClient/line/types.d.ts +1 -1
- package/dist/types/CallingClient/line/types.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/register.d.ts +4 -2
- package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
- package/dist/types/CallingClient/types.d.ts +1 -0
- package/dist/types/CallingClient/types.d.ts.map +1 -1
- package/dist/types/common/Utils.d.ts.map +1 -1
- package/dist/types/common/constants.d.ts +1 -0
- package/dist/types/common/constants.d.ts.map +1 -1
- package/dist/types/common/types.d.ts +2 -1
- package/dist/types/common/types.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_uuid","require","_types","_types2","_constants","_Logger","_interopRequireDefault","_registration","_impl","_LineError","_common","_SDKConnector","_types3","_callManager","_types4","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","_classPrivateFieldInitSpec","obj","privateMap","value","_checkPrivateRedeclaration","set","privateCollection","has","TypeError","_webex","_weakMap","_mutex","_sdkConnector","_primaryMobiusUris","_backupMobiusUris","Line","exports","_Eventing","_inherits2","_super","userId","clientDeviceUri","mutex","primaryMobiusUris","backupMobiusUris","logLevel","serviceDataConfig","phoneNumber","extension","voicemail","_this","_classCallCheck2","_assertThisInitialized2","writable","_defineProperty2","event","deviceInfo","lineError","LINE_EVENTS","REGISTERED","normalizeLine","emit","UNREGISTERED","RECONNECTED","RECONNECTING","ERROR","registration","getStatus","_this$registration$ge","getDeviceInfo","device","deviceId","dest","match","address","VALID_PHONE","length","_this$registration$ge2","sanitizedNumber","replace","formattedDest","type","concat","callManager","createCall","CallDirection","OUTBOUND","lineId","log","getCallId","warn","err","LineError","ERROR_TYPE","CALL_ERROR","RegistrationStatus","ACTIVE","undefined","correlationId","getCall","uuid","_classPrivateFieldSet2","SDKConnector","_classPrivateFieldGet2","getWebex","serviceData","indicator","ServiceIndicator","CALLING","domain","validateServiceData","createRegistration","lineEmitter","setLogger","LINE_FILE","getCallManager","incomingCallListener","_createClass2","key","_register","_asyncToGenerator2","_regenerator","mark","_callee2","_this2","wrap","_callee2$","_context2","prev","next","runExclusive","_callee","_callee$","_context","CONNECTING","setMobiusServers","triggerRegistration","stop","mobiusDeviceId","updateLine","register","_deregister","_callee3","_callee3$","_context3","deregister","setStatus","IDLE","_device$addresses","keepaliveInterval","callKeepaliveInterval","rehomingIntervalMin","rehomingIntervalMax","voicePortalNumber","voicePortalExtension","mobiusUri","uri","lastSeen","sipAddresses","addresses","getLoggingLevel","getLogLevel","getActiveMobiusUrl","_this3","logContext","file","method","name","on","LINE_EVENT_KEYS","INCOMING_CALL","callObj","Eventing"],"sources":["index.ts"],"sourcesContent":["import {Mutex} from 'async-mutex';\nimport {v4 as uuid} from 'uuid';\nimport {\n CallDetails,\n CallDirection,\n CorrelationId,\n IDeviceInfo,\n MobiusDeviceId,\n RegistrationStatus,\n ServiceIndicator,\n} from '../../common/types';\nimport {ILine, LINE_EVENTS} from './types';\nimport {LINE_FILE, VALID_PHONE} 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 #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 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 const serviceData = serviceDataConfig?.indicator\n ? serviceDataConfig\n : {indicator: ServiceIndicator.CALLING, domain: ''};\n\n validateServiceData(serviceData);\n\n this.registration = createRegistration(\n this.#webex,\n serviceData,\n this.#mutex,\n this.lineEmitter,\n logLevel\n );\n\n log.setLogger(logLevel, LINE_FILE);\n\n this.callManager = getCallManager(this.#webex, serviceData.indicator);\n\n this.incomingCallListener();\n }\n\n /**\n * Wrapper to for device registration.\n */\n public async register() {\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 if (this.mobiusDeviceId) {\n this.callManager.updateLine(this.mobiusDeviceId, this);\n }\n }\n\n /**\n * Wrapper to for device deregister.\n */\n public async deregister() {\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 }\n\n /**\n * Line events emitter\n */\n public lineEmitter = (event: LINE_EVENTS, deviceInfo?: IDeviceInfo, lineError?: LineError) => {\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 let call;\n\n if (dest) {\n const match = dest.address.match(VALID_PHONE);\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 formattedDest,\n CallDirection.OUTBOUND,\n this.registration.getDeviceInfo().device?.deviceId as string,\n this.lineId\n );\n log.log(`New call created, callId: ${call.getCallId()}`, {});\n } else {\n log.warn('Invalid phone number detected', {});\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\n return undefined;\n };\n\n /**\n * An Incoming Call listener.\n */\n private incomingCallListener() {\n const logContext = {\n file: LINE_FILE,\n method: this.incomingCallListener.name,\n };\n log.log('Listening for incoming calls... ', logContext);\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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"}
|
|
1
|
+
{"version":3,"names":["_uuid","require","_types","_types2","_constants","_Logger","_interopRequireDefault","_registration","_impl","_LineError","_common","_SDKConnector","_types3","_callManager","_types4","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","_classPrivateFieldInitSpec","obj","privateMap","value","_checkPrivateRedeclaration","set","privateCollection","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","_defineProperty2","event","deviceInfo","lineError","LINE_EVENTS","REGISTERED","normalizeLine","emit","UNREGISTERED","RECONNECTED","RECONNECTING","ERROR","registration","getStatus","_this$registration$ge","getDeviceInfo","device","deviceId","dest","match","address","VALID_PHONE","length","_this$registration$ge2","sanitizedNumber","replace","formattedDest","type","concat","callManager","createCall","CallDirection","OUTBOUND","lineId","log","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","LINE_FILE","getCallManager","incomingCallListener","_createClass2","key","_register","_asyncToGenerator2","_regenerator","mark","_callee2","_this2","wrap","_callee2$","_context2","prev","next","runExclusive","_callee","_callee$","_context","CONNECTING","setMobiusServers","triggerRegistration","stop","mobiusDeviceId","updateLine","register","_deregister","_callee3","_callee3$","_context3","deregister","setStatus","IDLE","_device$addresses","keepaliveInterval","callKeepaliveInterval","rehomingIntervalMin","rehomingIntervalMax","voicePortalNumber","voicePortalExtension","mobiusUri","uri","lastSeen","sipAddresses","addresses","getLoggingLevel","getLogLevel","getActiveMobiusUrl","_this3","logContext","file","method","name","on","LINE_EVENT_KEYS","INCOMING_CALL","callObj","Eventing"],"sources":["index.ts"],"sourcesContent":["import {Mutex} from 'async-mutex';\nimport {v4 as uuid} from 'uuid';\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, VALID_PHONE} 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 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 if (this.mobiusDeviceId) {\n this.callManager.updateLine(this.mobiusDeviceId, this);\n }\n }\n\n /**\n * Wrapper to for device deregister.\n */\n public async deregister() {\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 }\n\n /**\n * Line events emitter\n */\n public lineEmitter = (event: LINE_EVENTS, deviceInfo?: IDeviceInfo, lineError?: LineError) => {\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 let call;\n\n if (dest) {\n const match = dest.address.match(VALID_PHONE);\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 } else {\n log.warn('Invalid phone number detected', {});\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.log(`New guest call created, callId: ${call.getCallId()}`, {});\n\n return call;\n }\n\n return undefined;\n };\n\n /**\n * An Incoming Call listener.\n */\n private incomingCallListener() {\n const logContext = {\n file: LINE_FILE,\n method: this.incomingCallListener.name,\n };\n log.log('Listening for incoming calls... ', logContext);\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":";;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAUA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAC,sBAAA,CAAAL,OAAA;AAEA,IAAAM,aAAA,GAAAN,OAAA;AAGA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,UAAA,GAAAR,OAAA;AAEA,IAAAS,OAAA,GAAAT,OAAA;AACA,IAAAU,aAAA,GAAAL,sBAAA,CAAAL,OAAA;AACA,IAAAW,OAAA,GAAAX,OAAA;AAEA,IAAAY,YAAA,GAAAZ,OAAA;AACA,IAAAa,OAAA,GAAAb,OAAA;AAA8C,SAAAc,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,OAAA,GAAAO,MAAA,MAAAN,yBAAA,QAAAO,SAAA,OAAAH,gBAAA,CAAAC,OAAA,QAAAG,WAAA,EAAAF,MAAA,GAAAG,kBAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAH,SAAA,YAAAD,MAAA,GAAAH,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,CAAAP,OAAA,QAAAC,MAAA;AAAA,SAAAL,0BAAA,eAAAY,OAAA,qBAAAJ,kBAAA,oBAAAA,kBAAA,CAAAK,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,kBAAA,CAAAO,OAAA,8CAAAI,CAAA;AAAA,SAAAC,2BAAAC,GAAA,EAAAC,UAAA,EAAAC,KAAA,IAAAC,0BAAA,CAAAH,GAAA,EAAAC,UAAA,GAAAA,UAAA,CAAAG,GAAA,CAAAJ,GAAA,EAAAE,KAAA;AAAA,SAAAC,2BAAAH,GAAA,EAAAK,iBAAA,QAAAA,iBAAA,CAAAC,GAAA,CAAAN,GAAA,eAAAO,SAAA;AAAA,IAAAC,MAAA,oBAAAC,QAAA,CAAA1B,OAAA;AAAA,IAAA2B,MAAA,oBAAAD,QAAA,CAAA1B,OAAA;AAAA,IAAA4B,aAAA,oBAAAF,QAAA,CAAA1B,OAAA;AAAA,IAAA6B,kBAAA,oBAAAH,QAAA,CAAA1B,OAAA;AAAA,IAAA8B,iBAAA,oBAAAJ,QAAA,CAAA1B,OAAA;AAAA,IAEzB+B,IAAI,GAAAC,OAAA,CAAAhC,OAAA,0BAAAiC,SAAA;EAAA,IAAAC,UAAA,CAAAlC,OAAA,EAAA+B,IAAA,EAAAE,SAAA;EAAA,IAAAE,MAAA,GAAA1C,YAAA,CAAAsC,IAAA;EAiDvB,SAAAA,KACEK,MAAc,EACdC,eAAuB,EACvBC,KAAY,EACZC,iBAA2B,EAC3BC,gBAA0B,EAC1BC,QAAgB,EAChBC,iBAAsD,EACtDC,GAAY,EACZC,WAAoB,EACpBC,SAAkB,EAClBC,SAAkB,EAClB;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,CAAAhD,OAAA,QAAA+B,IAAA;IACAgB,KAAA,GAAAZ,MAAA,CAAArB,IAAA;IAAQE,0BAAA,KAAAiC,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,GAAAtB,MAAA;MAAAyB,QAAA;MAAA/B,KAAA;IAAA;IAAAH,0BAAA,KAAAiC,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,GAAApB,MAAA;MAAAuB,QAAA;MAAA/B,KAAA;IAAA;IAAAH,0BAAA,KAAAiC,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,GAAAnB,aAAA;MAAAsB,QAAA;MAAA/B,KAAA;IAAA;IAAA,IAAAgC,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA;IAAA,IAAAI,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA;IAAA,IAAAI,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA;IAAA,IAAAI,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA;IAAA,IAAAI,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA;IAAA,IAAAI,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA;IAAA,IAAAI,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA;IAAA,IAAAI,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA;IAAA,IAAAI,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,mBAvCsB,EAAE;IAAA,IAAAI,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA;IAAA,IAAAI,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA;IAAA,IAAAI,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA;IAAA,IAAAI,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA;IAAA,IAAAI,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA;IAAA,IAAAI,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA;IAAA,IAAAI,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA;IAAA,IAAAI,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA;IAAA,IAAAI,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA;IAAA,IAAAI,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA;IAAA/B,0BAAA,KAAAiC,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,GAAAlB,kBAAA;MAAAqB,QAAA;MAAA/B,KAAA;IAAA;IAAAH,0BAAA,KAAAiC,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,GAAAjB,iBAAA;MAAAoB,QAAA;MAAA/B,KAAA;IAAA;IA6HlC;AACF;AACA;IAFE,IAAAgC,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,kBAGqB,UAACK,KAAkB,EAAEC,UAAwB,EAAEC,SAAqB,EAAK;MAC5F,QAAQF,KAAK;QACX,KAAKG,mBAAW,CAACC,UAAU;UACzB,IAAIH,UAAU,EAAE;YACdN,KAAA,CAAKU,aAAa,CAACJ,UAAU,CAAC;YAC9BN,KAAA,CAAKW,IAAI,CAACN,KAAK,MAAAH,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,CAAM,CAAC;UACxB;UACA;QACF,KAAKQ,mBAAW,CAACI,YAAY;QAC7B,KAAKJ,mBAAW,CAACK,WAAW;QAC5B,KAAKL,mBAAW,CAACM,YAAY;UAC3Bd,KAAA,CAAKW,IAAI,CAACN,KAAK,CAAC;UAChB;QACF,KAAKG,mBAAW,CAACO,KAAK;UACpB,IAAIR,SAAS,EAAE;YACbP,KAAA,CAAKW,IAAI,CAACN,KAAK,EAAEE,SAAS,CAAC;UAC7B;UACA;QACF;UACE;MACJ;IACF,CAAC;IAgBD;AACF;AACA;IAFE,IAAAH,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,gBAGmB;MAAA,OAA0BA,KAAA,CAAKgB,YAAY,CAACC,SAAS,CAAC,CAAC;IAAA;IAE1E;AACF;AACA;IAFE,IAAAb,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,kBAGqB;MAAA,IAAAkB,qBAAA;MAAA,QAAAA,qBAAA,GACnBlB,KAAA,CAAKgB,YAAY,CAACG,aAAa,CAAC,CAAC,CAACC,MAAM,cAAAF,qBAAA,uBAAxCA,qBAAA,CAA0CG,QAAQ;IAAA;IAEpD;AACF;AACA;AACA;IAHE,IAAAjB,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,eAIkB,UAACsB,IAAkB,EAAwB;MAC3D,IAAIvD,IAAI;MAER,IAAIuD,IAAI,EAAE;QACR,IAAMC,KAAK,GAAGD,IAAI,CAACE,OAAO,CAACD,KAAK,CAACE,sBAAW,CAAC;QAE7C,IAAIF,KAAK,IAAIA,KAAK,CAAC,CAAC,CAAC,CAACG,MAAM,KAAKJ,IAAI,CAACE,OAAO,CAACE,MAAM,EAAE;UAAA,IAAAC,sBAAA;UACpD,IAAMC,eAAe,GAAGN,IAAI,CAACE,OAAO,CACjCK,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAC3BA,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CACpBA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;UACrB,IAAMC,aAAa,GAAG;YACpBC,IAAI,EAAET,IAAI,CAACS,IAAI;YACfP,OAAO,SAAAQ,MAAA,CAASJ,eAAe;UACjC,CAAC;UAED7D,IAAI,GAAGiC,KAAA,CAAKiC,WAAW,CAACC,UAAU,CAChCC,oBAAa,CAACC,QAAQ,GAAAT,sBAAA,GACtB3B,KAAA,CAAKgB,YAAY,CAACG,aAAa,CAAC,CAAC,CAACC,MAAM,cAAAO,sBAAA,uBAAxCA,sBAAA,CAA0CN,QAAQ,EAClDrB,KAAA,CAAKqC,MAAM,EACXP,aACF,CAAC;UACDQ,eAAG,CAACA,GAAG,8BAAAN,MAAA,CAA8BjE,IAAI,CAACwE,SAAS,CAAC,CAAC,GAAI,CAAC,CAAC,CAAC;QAC9D,CAAC,MAAM;UACLD,eAAG,CAACE,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;UAE7C,IAAMC,GAAG,GAAG,IAAIC,oBAAS,CACvB,uEAAuE,EACvE,CAAC,CAAC,EACFC,kBAAU,CAACC,UAAU,EACrBC,yBAAkB,CAACC,MACrB,CAAC;UAED9C,KAAA,CAAKW,IAAI,CAACH,mBAAW,CAACO,KAAK,EAAE0B,GAAG,CAAC;QACnC;QAEA,OAAO1E,IAAI;MACb;MACA,IAAIiC,KAAA,CAAK+C,WAAW,CAACC,SAAS,KAAKC,uBAAgB,CAACC,aAAa,EAAE;QAAA,IAAAC,sBAAA;QACjEpF,IAAI,GAAGiC,KAAA,CAAKiC,WAAW,CAACC,UAAU,CAChCC,oBAAa,CAACC,QAAQ,GAAAe,sBAAA,GACtBnD,KAAA,CAAKgB,YAAY,CAACG,aAAa,CAAC,CAAC,CAACC,MAAM,cAAA+B,sBAAA,uBAAxCA,sBAAA,CAA0C9B,QAAQ,EAClDrB,KAAA,CAAKqC,MACP,CAAC;QACDC,eAAG,CAACA,GAAG,oCAAAN,MAAA,CAAoCjE,IAAI,CAACwE,SAAS,CAAC,CAAC,GAAI,CAAC,CAAC,CAAC;QAElE,OAAOxE,IAAI;MACb;MAEA,OAAOqF,SAAS;IAClB,CAAC;IAgBD;AACF;AACA;AACA;IAHE,IAAAhD,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,cAIiB,UAACqD,aAA4B,EAAY;MACxD,OAAOrD,KAAA,CAAKiC,WAAW,CAACqB,OAAO,CAACD,aAAa,CAAC;IAChD,CAAC;IApNCrD,KAAA,CAAKqC,MAAM,GAAG,IAAAkB,QAAI,EAAC,CAAC;IACpBvD,KAAA,CAAKX,MAAM,GAAGA,MAAM;IACpBW,KAAA,CAAKV,eAAe,GAAGA,eAAe;IACtCU,KAAA,CAAKH,WAAW,GAAGA,WAAW;IAC9BG,KAAA,CAAKF,SAAS,GAAGA,SAAS;IAC1BE,KAAA,CAAKD,SAAS,GAAGA,SAAS;IAE1B,IAAAyD,sBAAA,CAAAvG,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,GAAAnB,aAAA,EAAqB4E,qBAAY;IACjC,IAAAD,sBAAA,CAAAvG,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,GAAAtB,MAAA,EAAc,IAAAgF,sBAAA,CAAAzG,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,GAAAnB,aAAA,EAAmB8E,QAAQ,CAAC,CAAC;IAC3C,IAAAH,sBAAA,CAAAvG,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,GAAApB,MAAA,EAAcW,KAAK;IAEnB,IAAAiE,sBAAA,CAAAvG,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,GAAAlB,kBAAA,EAA0BU,iBAAiB;IAC3C,IAAAgE,sBAAA,CAAAvG,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,GAAAjB,iBAAA,EAAyBU,gBAAgB;IAEzCO,KAAA,CAAK+C,WAAW,GAAGpD,iBAAiB,aAAjBA,iBAAiB,eAAjBA,iBAAiB,CAAEqD,SAAS,GAC3CrD,iBAAiB,GACjB;MAACqD,SAAS,EAAEC,uBAAgB,CAACW,OAAO;MAAEC,MAAM,EAAE;IAAE,CAAC;IAErD,IAAAC,2BAAmB,EAAC9D,KAAA,CAAK+C,WAAW,CAAC;IAErC/C,KAAA,CAAKgB,YAAY,GAAG,IAAA+C,gCAAkB,MAAAL,sBAAA,CAAAzG,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,GAAAtB,MAAA,GAEpCsB,KAAA,CAAK+C,WAAW,MAAAW,sBAAA,CAAAzG,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,GAAApB,MAAA,GAEhBoB,KAAA,CAAKgE,WAAW,EAChBtE,QAAQ,EACRE,GACF,CAAC;IAED0C,eAAG,CAAC2B,SAAS,CAACvE,QAAQ,EAAEwE,oBAAS,CAAC;IAElClE,KAAA,CAAKiC,WAAW,GAAG,IAAAkC,2BAAc,MAAAT,sBAAA,CAAAzG,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,GAAAtB,MAAA,GAAcsB,KAAA,CAAK+C,WAAW,CAACC,SAAS,CAAC;IAE1EhD,KAAA,CAAKoE,oBAAoB,CAAC,CAAC;IAAC,OAAApE,KAAA;EAC9B;;EAEA;AACF;AACA;EAFE,IAAAqE,aAAA,CAAApH,OAAA,EAAA+B,IAAA;IAAAsF,GAAA;IAAAlG,KAAA;MAAA,IAAAmG,SAAA,OAAAC,kBAAA,CAAAvH,OAAA,gBAAAwH,YAAA,CAAAxH,OAAA,CAAAyH,IAAA,CAGA,SAAAC,SAAA;QAAA,IAAAC,MAAA;QAAA,OAAAH,YAAA,CAAAxH,OAAA,CAAA4H,IAAA,UAAAC,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAC,IAAA,GAAAD,SAAA,CAAAE,IAAA;YAAA;cAAAF,SAAA,CAAAE,IAAA;cAAA,OACQ,IAAAvB,sBAAA,CAAAzG,OAAA,MAAI,EAAA2B,MAAA,EAAQsG,YAAY,mBAAAV,kBAAA,CAAAvH,OAAA,gBAAAwH,YAAA,CAAAxH,OAAA,CAAAyH,IAAA,CAAC,SAAAS,QAAA;gBAAA,OAAAV,YAAA,CAAAxH,OAAA,CAAA4H,IAAA,UAAAO,SAAAC,QAAA;kBAAA,kBAAAA,QAAA,CAAAL,IAAA,GAAAK,QAAA,CAAAJ,IAAA;oBAAA;sBAC7BL,MAAI,CAACjE,IAAI,CAACH,mBAAW,CAAC8E,UAAU,CAAC;sBAEjCV,MAAI,CAAC5D,YAAY,CAACuE,gBAAgB,KAAA7B,sBAAA,CAAAzG,OAAA,EAAC2H,MAAI,EAAA9F,kBAAA,OAAA4E,sBAAA,CAAAzG,OAAA,EAAqB2H,MAAI,EAAA7F,iBAAA,CAAkB,CAAC;sBAACsG,QAAA,CAAAJ,IAAA;sBAAA,OAC9EL,MAAI,CAAC5D,YAAY,CAACwE,mBAAmB,CAAC,CAAC;oBAAA;oBAAA;sBAAA,OAAAH,QAAA,CAAAI,IAAA;kBAAA;gBAAA,GAAAN,OAAA;cAAA,CAC9C,GAAC;YAAA;cACF,IAAI,IAAI,CAACO,cAAc,EAAE;gBACvB,IAAI,CAACzD,WAAW,CAAC0D,UAAU,CAAC,IAAI,CAACD,cAAc,EAAE,IAAI,CAAC;cACxD;YAAC;YAAA;cAAA,OAAAX,SAAA,CAAAU,IAAA;UAAA;QAAA,GAAAd,QAAA;MAAA,CACF;MAAA,SAAAiB,SAAA;QAAA,OAAArB,SAAA,CAAAhH,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAAsI,QAAA;IAAA;IAED;AACF;AACA;IAFE;EAAA;IAAAtB,GAAA;IAAAlG,KAAA;MAAA,IAAAyH,WAAA,OAAArB,kBAAA,CAAAvH,OAAA,gBAAAwH,YAAA,CAAAxH,OAAA,CAAAyH,IAAA,CAGA,SAAAoB,SAAA;QAAA,OAAArB,YAAA,CAAAxH,OAAA,CAAA4H,IAAA,UAAAkB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAhB,IAAA,GAAAgB,SAAA,CAAAf,IAAA;YAAA;cAAAe,SAAA,CAAAf,IAAA;cAAA,OACQ,IAAI,CAACjE,YAAY,CAACiF,UAAU,CAAC,CAAC;YAAA;cACpC,IAAI,CAACjF,YAAY,CAACkF,SAAS,CAACrD,yBAAkB,CAACsD,IAAI,CAAC;YAAC;YAAA;cAAA,OAAAH,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACtD;MAAA,SAAAG,WAAA;QAAA,OAAAJ,WAAA,CAAAtI,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAA2I,UAAA;IAAA;IAED;AACF;AACA;IAFE;EAAA;IAAA3B,GAAA;IAAAlG,KAAA,EAGA,SAAAsC,cAAsBJ,UAAuB,EAAE;MAAA,IAAA8F,iBAAA;MAC7C,IACEhF,MAAM,GAOJd,UAAU,CAPZc,MAAM;QACNiF,iBAAiB,GAMf/F,UAAU,CANZ+F,iBAAiB;QACjBC,qBAAqB,GAKnBhG,UAAU,CALZgG,qBAAqB;QACrBC,mBAAmB,GAIjBjG,UAAU,CAJZiG,mBAAmB;QACnBC,mBAAmB,GAGjBlG,UAAU,CAHZkG,mBAAmB;QACnBC,iBAAiB,GAEfnG,UAAU,CAFZmG,iBAAiB;QACjBC,oBAAoB,GAClBpG,UAAU,CADZoG,oBAAoB;MAGtB,IAAI,CAAChB,cAAc,GAAGtE,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEC,QAAQ;MACtC,IAAI,CAACsF,SAAS,GAAGvF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEwF,GAAG;MAC5B,IAAI,CAACC,QAAQ,GAAGzF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEyF,QAAQ;MAChC,IAAI,CAACC,YAAY,IAAAV,iBAAA,GAAGhF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE2F,SAAS,cAAAX,iBAAA,cAAAA,iBAAA,GAAI,EAAE;MAC3C,IAAI,CAACC,iBAAiB,GAAGA,iBAAiB;MAC1C,IAAI,CAACC,qBAAqB,GAAGA,qBAAqB;MAClD,IAAI,CAACC,mBAAmB,GAAGA,mBAAmB;MAC9C,IAAI,CAACC,mBAAmB,GAAGA,mBAAmB;MAC9C,IAAI,CAACC,iBAAiB,GAAGA,iBAAiB;MAC1C,IAAI,CAACC,oBAAoB,GAAGA,oBAAoB;IAClD;EAAC;IAAApC,GAAA;IAAAlG,KAAA;IA4BD;AACF;AACA;IACE,SAAA4I,gBAAA,EAAiC;MAC/B,OAAO1E,eAAG,CAAC2E,WAAW,CAAC,CAAC;IAC1B;;IAEA;AACF;AACA;EAFE;IAAA3C,GAAA;IAAAlG,KAAA,EAGA,SAAA8I,mBAAA,EAAoC;MAClC,OAAO,IAAI,CAAClG,YAAY,CAACkG,kBAAkB,CAAC,CAAC;IAC/C;EAAC;IAAA5C,GAAA;IAAAlG,KAAA;IAqED;AACF;AACA;IACE,SAAAgG,qBAAA,EAA+B;MAAA,IAAA+C,MAAA;MAC7B,IAAMC,UAAU,GAAG;QACjBC,IAAI,EAAEnD,oBAAS;QACfoD,MAAM,EAAE,IAAI,CAAClD,oBAAoB,CAACmD;MACpC,CAAC;MACDjF,eAAG,CAACA,GAAG,CAAC,kCAAkC,EAAE8E,UAAU,CAAC;MACvD,IAAI,CAACnF,WAAW,CAACuF,EAAE,CAACC,uBAAe,CAACC,aAAa,EAAE,UAACC,OAAc,EAAK;QACrER,MAAI,CAACxG,IAAI,CAACH,mBAAW,CAACkH,aAAa,EAAEC,OAAO,CAAC;MAC/C,CAAC,CAAC;IACJ;EAAC;EAAA,OAAA3I,IAAA;AAAA,EA3Q+B4I,cAAQ"}
|
|
@@ -47,6 +47,12 @@ describe('Line Tests', function () {
|
|
|
47
47
|
});
|
|
48
48
|
var userId = webex.internal.device.userId;
|
|
49
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
|
+
};
|
|
50
56
|
var handleErrorSpy = jest.spyOn(utils, 'handleRegistrationErrors');
|
|
51
57
|
jest.clearAllMocks();
|
|
52
58
|
describe('Line Registration tests', function () {
|
|
@@ -73,7 +79,7 @@ describe('Line Tests', function () {
|
|
|
73
79
|
case 0:
|
|
74
80
|
jest.useFakeTimers();
|
|
75
81
|
webex.request.mockReturnValue(registrationPayload);
|
|
76
|
-
expect(createRegistrationSpy).toBeCalledOnceWith(webex, defaultServiceData, expect.any(_asyncMutex.Mutex), expect.anything(), _types3.LOGGER.INFO);
|
|
82
|
+
expect(createRegistrationSpy).toBeCalledOnceWith(webex, defaultServiceData, expect.any(_asyncMutex.Mutex), expect.anything(), _types3.LOGGER.INFO, undefined);
|
|
77
83
|
expect(line.getStatus()).toEqual(_types.RegistrationStatus.IDLE);
|
|
78
84
|
_context.next = 6;
|
|
79
85
|
return line.register();
|
|
@@ -108,9 +114,55 @@ describe('Line Tests', function () {
|
|
|
108
114
|
}
|
|
109
115
|
}, _callee);
|
|
110
116
|
})));
|
|
111
|
-
it('verify
|
|
117
|
+
it('verify successful Registration cases and keepalive for a guest user', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
118
|
+
var guestLine;
|
|
112
119
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
113
120
|
while (1) switch (_context2.prev = _context2.next) {
|
|
121
|
+
case 0:
|
|
122
|
+
createRegistrationSpy.mockClear();
|
|
123
|
+
guestLine = new _.default(userId, clientDeviceUri, mutex, primaryMobiusUris(), backupMobiusUris(), _types3.LOGGER.INFO, guestServiceData, mockJwe);
|
|
124
|
+
jest.useFakeTimers();
|
|
125
|
+
webex.request.mockReturnValue(registrationPayload);
|
|
126
|
+
expect(createRegistrationSpy).toBeCalledOnceWith(webex, guestServiceData, expect.any(_asyncMutex.Mutex), expect.anything(), _types3.LOGGER.INFO, mockJwe);
|
|
127
|
+
expect(guestLine.getStatus()).toEqual(_types.RegistrationStatus.IDLE);
|
|
128
|
+
_context2.next = 8;
|
|
129
|
+
return guestLine.register();
|
|
130
|
+
case 8:
|
|
131
|
+
expect(webex.request).toBeCalledOnceWith(_objectSpread(_objectSpread({}, (0, _testUtil.getMockRequestTemplate)()), {}, {
|
|
132
|
+
body: {
|
|
133
|
+
userId: userId,
|
|
134
|
+
clientDeviceUri: clientDeviceUri,
|
|
135
|
+
serviceData: _objectSpread(_objectSpread({}, guestServiceData), {}, {
|
|
136
|
+
jwe: mockJwe
|
|
137
|
+
})
|
|
138
|
+
},
|
|
139
|
+
uri: "".concat(primaryUrl, "device"),
|
|
140
|
+
method: 'POST'
|
|
141
|
+
}));
|
|
142
|
+
expect(handleErrorSpy).not.toBeCalled();
|
|
143
|
+
expect(guestLine.getStatus()).toEqual(_types.RegistrationStatus.ACTIVE);
|
|
144
|
+
expect(guestLine.getActiveMobiusUrl()).toEqual(primaryUrl);
|
|
145
|
+
expect(guestLine.getLoggingLevel()).toEqual(_types3.LOGGER.INFO);
|
|
146
|
+
expect(guestLine.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);
|
|
147
|
+
webex.request.mockClear();
|
|
148
|
+
jest.advanceTimersByTime(30 * 1000);
|
|
149
|
+
_context2.next = 18;
|
|
150
|
+
return _promise.default.resolve();
|
|
151
|
+
case 18:
|
|
152
|
+
expect(webex.request).toBeCalledOnceWith(_objectSpread(_objectSpread({}, (0, _testUtil.getMockRequestTemplate)()), {}, {
|
|
153
|
+
uri: "".concat(mockRegistrationBody.device.uri, "/status"),
|
|
154
|
+
method: 'POST'
|
|
155
|
+
}));
|
|
156
|
+
jest.useRealTimers();
|
|
157
|
+
case 20:
|
|
158
|
+
case "end":
|
|
159
|
+
return _context2.stop();
|
|
160
|
+
}
|
|
161
|
+
}, _callee2);
|
|
162
|
+
})));
|
|
163
|
+
it('verify failure Registration cases all requests fail ', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
164
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
165
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
114
166
|
case 0:
|
|
115
167
|
line.removeAllListeners(_types2.LINE_EVENTS.ERROR);
|
|
116
168
|
webex.request.mockRejectedValue({
|
|
@@ -121,7 +173,7 @@ describe('Line Tests', function () {
|
|
|
121
173
|
});
|
|
122
174
|
expect(line.getStatus()).toBe(_types.RegistrationStatus.IDLE);
|
|
123
175
|
line.register();
|
|
124
|
-
|
|
176
|
+
_context3.next = 7;
|
|
125
177
|
return utils.waitForMsecs(20);
|
|
126
178
|
case 7:
|
|
127
179
|
expect(line.getStatus()).toBe(_types.RegistrationStatus.INACTIVE);
|
|
@@ -131,29 +183,29 @@ describe('Line Tests', function () {
|
|
|
131
183
|
}, expect.anything());
|
|
132
184
|
case 9:
|
|
133
185
|
case "end":
|
|
134
|
-
return
|
|
186
|
+
return _context3.stop();
|
|
135
187
|
}
|
|
136
|
-
},
|
|
188
|
+
}, _callee3);
|
|
137
189
|
})));
|
|
138
|
-
it('verify successful de-registration cases', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
139
|
-
return _regenerator.default.wrap(function
|
|
140
|
-
while (1) switch (
|
|
190
|
+
it('verify successful de-registration cases', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
|
|
191
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
192
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
141
193
|
case 0:
|
|
142
194
|
webex.request.mockReturnValueOnce(registrationPayload);
|
|
143
195
|
expect(line.getStatus()).toEqual(_types.RegistrationStatus.IDLE);
|
|
144
|
-
|
|
196
|
+
_context4.next = 4;
|
|
145
197
|
return line.register();
|
|
146
198
|
case 4:
|
|
147
199
|
expect(line.getStatus()).toEqual(_types.RegistrationStatus.ACTIVE);
|
|
148
|
-
|
|
200
|
+
_context4.next = 7;
|
|
149
201
|
return line.deregister();
|
|
150
202
|
case 7:
|
|
151
203
|
expect(line.getStatus()).toEqual(_types.RegistrationStatus.IDLE);
|
|
152
204
|
case 8:
|
|
153
205
|
case "end":
|
|
154
|
-
return
|
|
206
|
+
return _context4.stop();
|
|
155
207
|
}
|
|
156
|
-
},
|
|
208
|
+
}, _callee4);
|
|
157
209
|
})));
|
|
158
210
|
});
|
|
159
211
|
describe('Line calling tests', function () {
|
|
@@ -173,10 +225,10 @@ describe('Line Tests', function () {
|
|
|
173
225
|
address: '5003',
|
|
174
226
|
type: _types.CallType.URI
|
|
175
227
|
});
|
|
176
|
-
expect(createCallSpy).toBeCalledOnceWith({
|
|
228
|
+
expect(createCallSpy).toBeCalledOnceWith(_types.CallDirection.OUTBOUND, undefined, line.lineId, {
|
|
177
229
|
address: 'tel:5003',
|
|
178
230
|
type: 'uri'
|
|
179
|
-
}
|
|
231
|
+
});
|
|
180
232
|
expect(call).toBeTruthy();
|
|
181
233
|
expect(line.getCall(call ? call.getCorrelationId() : '')).toBe(call);
|
|
182
234
|
expect(call ? call.direction : undefined).toStrictEqual(_types.CallDirection.OUTBOUND);
|
|
@@ -188,10 +240,10 @@ describe('Line Tests', function () {
|
|
|
188
240
|
address: '*25',
|
|
189
241
|
type: _types.CallType.URI
|
|
190
242
|
});
|
|
191
|
-
expect(createCallSpy).toBeCalledOnceWith({
|
|
243
|
+
expect(createCallSpy).toBeCalledOnceWith(_types.CallDirection.OUTBOUND, undefined, line.lineId, {
|
|
192
244
|
address: 'tel:*25',
|
|
193
245
|
type: 'uri'
|
|
194
|
-
}
|
|
246
|
+
});
|
|
195
247
|
expect(call).toBeTruthy();
|
|
196
248
|
expect(call ? call.direction : undefined).toStrictEqual(_types.CallDirection.OUTBOUND);
|
|
197
249
|
call === null || call === void 0 ? void 0 : call.end();
|
|
@@ -202,10 +254,10 @@ describe('Line Tests', function () {
|
|
|
202
254
|
address: '+91 123 456 7890',
|
|
203
255
|
type: _types.CallType.URI
|
|
204
256
|
});
|
|
205
|
-
expect(createCallSpy).toBeCalledOnceWith({
|
|
257
|
+
expect(createCallSpy).toBeCalledOnceWith(_types.CallDirection.OUTBOUND, undefined, line.lineId, {
|
|
206
258
|
address: 'tel:+911234567890',
|
|
207
259
|
type: 'uri'
|
|
208
|
-
}
|
|
260
|
+
});
|
|
209
261
|
expect(call).toBeTruthy();
|
|
210
262
|
expect(call ? call.direction : undefined).toStrictEqual(_types.CallDirection.OUTBOUND);
|
|
211
263
|
expect(call ? call.destination.address : undefined).toStrictEqual('tel:+911234567890');
|
|
@@ -217,10 +269,10 @@ describe('Line Tests', function () {
|
|
|
217
269
|
address: '123-456-7890',
|
|
218
270
|
type: _types.CallType.URI
|
|
219
271
|
});
|
|
220
|
-
expect(createCallSpy).toBeCalledOnceWith({
|
|
272
|
+
expect(createCallSpy).toBeCalledOnceWith(_types.CallDirection.OUTBOUND, undefined, line.lineId, {
|
|
221
273
|
address: 'tel:1234567890',
|
|
222
274
|
type: 'uri'
|
|
223
|
-
}
|
|
275
|
+
});
|
|
224
276
|
expect(call).toBeTruthy();
|
|
225
277
|
expect(call ? call.direction : undefined).toStrictEqual(_types.CallDirection.OUTBOUND);
|
|
226
278
|
expect(call ? call.destination.address : undefined).toStrictEqual('tel:1234567890');
|
|
@@ -247,8 +299,6 @@ describe('Line Tests', function () {
|
|
|
247
299
|
});
|
|
248
300
|
it('attempt to create call with incorrect number format 2', function (done) {
|
|
249
301
|
expect.assertions(4);
|
|
250
|
-
// There may be other listeners , which may create race
|
|
251
|
-
line.removeAllListeners(_types2.LINE_EVENTS.ERROR);
|
|
252
302
|
var createCallSpy = jest.spyOn(line.callManager, 'createCall');
|
|
253
303
|
line.on(_types2.LINE_EVENTS.ERROR, function (error) {
|
|
254
304
|
expect(error.message).toBe('An invalid phone number was detected. Check the number and try again.');
|
|
@@ -265,6 +315,18 @@ describe('Line Tests', function () {
|
|
|
265
315
|
done(error);
|
|
266
316
|
}
|
|
267
317
|
});
|
|
318
|
+
it('attempt to create call with guest calling service indicator', function () {
|
|
319
|
+
expect.assertions(2);
|
|
320
|
+
var createCallSpy = jest.spyOn(line.callManager, 'createCall');
|
|
321
|
+
|
|
322
|
+
// Mocking the serviceData to have GUEST_CALLING indicator
|
|
323
|
+
line = new _.default(userId, clientDeviceUri, mutex, primaryMobiusUris(), backupMobiusUris(), _types3.LOGGER.INFO, {
|
|
324
|
+
indicator: _types.ServiceIndicator.GUEST_CALLING
|
|
325
|
+
});
|
|
326
|
+
var call = line.makeCall();
|
|
327
|
+
expect(call).toBeTruthy();
|
|
328
|
+
expect(createCallSpy).toBeCalledWith(_types.CallDirection.OUTBOUND, undefined, expect.any(String));
|
|
329
|
+
});
|
|
268
330
|
});
|
|
269
331
|
});
|
|
270
332
|
//# sourceMappingURL=line.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_asyncMutex","require","_testUtil","_registerFixtures","_common","_types","_types2","_","_interopRequireDefault","utils","_interopRequireWildcard","_SDKConnector","_constants","_types3","regUtils","_getRequireWildcardCache","e","_WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","_Object$defineProperty","_Object$getOwnPropertyDescriptor","u","Object","prototype","hasOwnProperty","call","i","set","ownKeys","_Object$keys","_Object$getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","_Object$getOwnPropertyDescriptors","_Object$defineProperties","describe","mutex","Mutex","webex","getTestUtilsWebex","SDKConnector","setWebex","defaultServiceData","indicator","ServiceIndicator","CALLING","domain","createRegistrationSpy","jest","spyOn","mobiusUris","filterMobiusUris","getMobiusDiscoveryResponse","URL","primaryMobiusUris","fn","primary","backupMobiusUris","backup","userId","internal","device","clientDeviceUri","url","handleErrorSpy","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","request","mockReturnValue","expect","toBeCalledOnceWith","any","anything","getStatus","toEqual","RegistrationStatus","IDLE","register","getMockRequestTemplate","serviceData","uri","method","not","toBeCalled","ACTIVE","getActiveMobiusUrl","getLoggingLevel","getDeviceId","deviceId","mockClear","advanceTimersByTime","_promise","resolve","stop","_callee2","_callee2$","_context2","LINE_EVENTS","ERROR","mockRejectedValue","on","error","message","toBe","waitForMsecs","INACTIVE","file","REGISTRATION_FILE","_callee3","_callee3$","_context3","mockReturnValueOnce","deregister","createCallSpy","callManager","makeCall","address","type","CallType","URI","CallDirection","OUTBOUND","undefined","lineId","toBeTruthy","getCall","getCorrelationId","direction","toStrictEqual","end","destination","done","toBeUndefined","assertions"],"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\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\n const handleErrorSpy = jest.spyOn(utils, 'handleRegistrationErrors');\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 );\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\n webex.request.mockClear();\n\n jest.advanceTimersByTime(30 * 1000);\n await Promise.resolve();\n\n expect(webex.request).toBeCalledOnceWith({\n ...getMockRequestTemplate(),\n uri: `${mockRegistrationBody.device.uri}/status`,\n method: 'POST',\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: 'attemptRegistrationWithServers',\n },\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(\n {address: 'tel:5003', type: 'uri'},\n CallDirection.OUTBOUND,\n undefined,\n line.lineId\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(\n {address: 'tel:*25', type: 'uri'},\n CallDirection.OUTBOUND,\n undefined,\n line.lineId\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(\n {address: 'tel:+911234567890', type: 'uri'},\n CallDirection.OUTBOUND,\n undefined,\n line.lineId\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(\n {address: 'tel:1234567890', type: 'uri'},\n CallDirection.OUTBOUND,\n undefined,\n line.lineId\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 // 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\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});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_asyncMutex","require","_testUtil","_registerFixtures","_common","_types","_types2","_","_interopRequireDefault","utils","_interopRequireWildcard","_SDKConnector","_constants","_types3","regUtils","_getRequireWildcardCache","e","_WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","_Object$defineProperty","_Object$getOwnPropertyDescriptor","u","Object","prototype","hasOwnProperty","call","i","set","ownKeys","_Object$keys","_Object$getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","_Object$getOwnPropertyDescriptors","_Object$defineProperties","describe","mutex","Mutex","webex","getTestUtilsWebex","SDKConnector","setWebex","defaultServiceData","indicator","ServiceIndicator","CALLING","domain","createRegistrationSpy","jest","spyOn","mobiusUris","filterMobiusUris","getMobiusDiscoveryResponse","URL","primaryMobiusUris","fn","primary","backupMobiusUris","backup","userId","internal","device","clientDeviceUri","url","mockJwe","guestServiceData","GUEST_CALLING","guestName","handleErrorSpy","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","request","mockReturnValue","expect","toBeCalledOnceWith","any","anything","undefined","getStatus","toEqual","RegistrationStatus","IDLE","register","getMockRequestTemplate","serviceData","uri","method","not","toBeCalled","ACTIVE","getActiveMobiusUrl","getLoggingLevel","getDeviceId","deviceId","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","callManager","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\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\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\n webex.request.mockClear();\n\n jest.advanceTimersByTime(30 * 1000);\n await Promise.resolve();\n\n expect(webex.request).toBeCalledOnceWith({\n ...getMockRequestTemplate(),\n uri: `${mockRegistrationBody.device.uri}/status`,\n method: 'POST',\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 expect(webex.request).toBeCalledOnceWith({\n ...getMockRequestTemplate(),\n uri: `${mockRegistrationBody.device.uri}/status`,\n method: 'POST',\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: 'attemptRegistrationWithServers',\n },\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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"}
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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"}
|