@webex/calling 3.9.0-next.4 → 3.9.0-next.6

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.
@@ -236,10 +236,6 @@ var Line = exports.default = /*#__PURE__*/function (_Eventing) {
236
236
  }, _callee);
237
237
  })));
238
238
  case 3:
239
- if (this.mobiusDeviceId) {
240
- this.callManager.updateLine(this.mobiusDeviceId, this);
241
- }
242
- case 4:
243
239
  case "end":
244
240
  return _context2.stop();
245
241
  }
@@ -305,6 +301,9 @@ var Line = exports.default = /*#__PURE__*/function (_Eventing) {
305
301
  this.rehomingIntervalMax = rehomingIntervalMax;
306
302
  this.voicePortalNumber = voicePortalNumber;
307
303
  this.voicePortalExtension = voicePortalExtension;
304
+ if (this.mobiusDeviceId) {
305
+ this.callManager.updateLine(this.mobiusDeviceId, this);
306
+ }
308
307
  }
309
308
  }, {
310
309
  key: "getLoggingLevel",
@@ -1 +1 @@
1
- {"version":3,"names":["_uuid","require","_constants","_types","_types2","_constants2","_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","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","mobiusDeviceId","updateLine","register","_deregister","_callee3","_callee3$","_context3","DEREGISTER","deregister","setStatus","IDLE","_device$addresses","keepaliveInterval","callKeepaliveInterval","rehomingIntervalMin","rehomingIntervalMax","voicePortalNumber","voicePortalExtension","mobiusUri","uri","lastSeen","sipAddresses","addresses","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 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 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 }\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":";;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAUA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAC,sBAAA,CAAAN,OAAA;AAEA,IAAAO,aAAA,GAAAP,OAAA;AAGA,IAAAQ,KAAA,GAAAR,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA;AAEA,IAAAU,OAAA,GAAAV,OAAA;AACA,IAAAW,aAAA,GAAAL,sBAAA,CAAAN,OAAA;AACA,IAAAY,OAAA,GAAAZ,OAAA;AAEA,IAAAa,YAAA,GAAAb,OAAA;AACA,IAAAc,OAAA,GAAAd,OAAA;AAA8C,SAAAe,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;IAqIlC;AACF;AACA;IAFE,IAAAgC,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,kBAGqB,UAACK,KAAkB,EAAEC,UAAwB,EAAEC,SAAqB,EAAK;MAC5FC,eAAG,CAACC,IAAI,CAACC,+BAAoB,EAAE;QAC7BC,IAAI,EAAEC,qBAAS;QACfC,MAAM,EAAEC,mBAAO,CAACC;MAClB,CAAC,CAAC;MACF,QAAQV,KAAK;QACX,KAAKW,mBAAW,CAACC,UAAU;UACzB,IAAIX,UAAU,EAAE;YACdN,KAAA,CAAKkB,aAAa,CAACZ,UAAU,CAAC;YAC9BN,KAAA,CAAKmB,IAAI,CAACd,KAAK,MAAAH,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,CAAM,CAAC;UACxB;UACA;QACF,KAAKgB,mBAAW,CAACI,YAAY;QAC7B,KAAKJ,mBAAW,CAACK,WAAW;QAC5B,KAAKL,mBAAW,CAACM,YAAY;UAC3BtB,KAAA,CAAKmB,IAAI,CAACd,KAAK,CAAC;UAChB;QACF,KAAKW,mBAAW,CAACO,KAAK;UACpB,IAAIhB,SAAS,EAAE;YACbP,KAAA,CAAKmB,IAAI,CAACd,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,CAAKwB,YAAY,CAACC,SAAS,CAAC,CAAC;IAAA;IAE1E;AACF;AACA;IAFE,IAAArB,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,kBAGqB;MAAA,IAAA0B,qBAAA;MAAA,QAAAA,qBAAA,GACnB1B,KAAA,CAAKwB,YAAY,CAACG,aAAa,CAAC,CAAC,CAACC,MAAM,cAAAF,qBAAA,uBAAxCA,qBAAA,CAA0CG,QAAQ;IAAA;IAEpD;AACF;AACA;AACA;IAHE,IAAAzB,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,eAIkB,UAAC8B,IAAkB,EAAwB;MAC3DtB,eAAG,CAACC,IAAI,CAACC,+BAAoB,EAAE;QAC7BC,IAAI,EAAEC,qBAAS;QACfC,MAAM,EAAEC,mBAAO,CAACiB;MAClB,CAAC,CAAC;MACF,IAAIhE,IAAI;MAER,IAAI+D,IAAI,EAAE;QACR,IAAME,KAAK,GAAGF,IAAI,CAACG,OAAO,CAACD,KAAK,CAACE,6BAAiB,CAAC;QAEnD,IAAIF,KAAK,IAAIA,KAAK,CAAC,CAAC,CAAC,CAACG,MAAM,KAAKL,IAAI,CAACG,OAAO,CAACE,MAAM,EAAE;UAAA,IAAAC,sBAAA,EAAAC,KAAA;UACpD,IAAMC,eAAe,GAAGR,IAAI,CAACG,OAAO,CACjCM,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,EAAEX,IAAI,CAACW,IAAI;YACfR,OAAO,SAAAS,MAAA,CAASJ,eAAe;UACjC,CAAC;UAEDvE,IAAI,GAAGiC,KAAA,CAAK2C,WAAW,CAACC,UAAU,CAChCC,oBAAa,CAACC,QAAQ,GAAAV,sBAAA,GACtBpC,KAAA,CAAKwB,YAAY,CAACG,aAAa,CAAC,CAAC,CAACC,MAAM,cAAAQ,sBAAA,uBAAxCA,sBAAA,CAA0CP,QAAQ,EAClD7B,KAAA,CAAK+C,MAAM,EACXP,aACF,CAAC;UACDhC,eAAG,CAACA,GAAG,8BAAAkC,MAAA,EAAAL,KAAA,GAA8BtE,IAAI,cAAAsE,KAAA,uBAAJA,KAAA,CAAMW,SAAS,CAAC,CAAC,GAAI;YACxDrC,IAAI,EAAEC,qBAAS;YACfC,MAAM,EAAEC,mBAAO,CAACiB;UAClB,CAAC,CAAC;QACJ,CAAC,MAAM;UACLvB,eAAG,CAACyC,IAAI,CAAC,+BAA+B,EAAE;YACxCtC,IAAI,EAAEC,qBAAS;YACfC,MAAM,EAAEC,mBAAO,CAACiB;UAClB,CAAC,CAAC;UAEF,IAAMmB,GAAG,GAAG,IAAIC,oBAAS,CACvB,uEAAuE,EACvE,CAAC,CAAC,EACFC,kBAAU,CAACC,UAAU,EACrBC,yBAAkB,CAACC,MACrB,CAAC;UAEDvD,KAAA,CAAKmB,IAAI,CAACH,mBAAW,CAACO,KAAK,EAAE2B,GAAG,CAAC;QACnC;QAEA,OAAOnF,IAAI;MACb;MACA,IAAIiC,KAAA,CAAKwD,WAAW,CAACC,SAAS,KAAKC,uBAAgB,CAACC,aAAa,EAAE;QAAA,IAAAC,sBAAA;QACjE7F,IAAI,GAAGiC,KAAA,CAAK2C,WAAW,CAACC,UAAU,CAChCC,oBAAa,CAACC,QAAQ,GAAAc,sBAAA,GACtB5D,KAAA,CAAKwB,YAAY,CAACG,aAAa,CAAC,CAAC,CAACC,MAAM,cAAAgC,sBAAA,uBAAxCA,sBAAA,CAA0C/B,QAAQ,EAClD7B,KAAA,CAAK+C,MACP,CAAC;QACDvC,eAAG,CAACC,IAAI,oCAAAiC,MAAA,CAAoC3E,IAAI,CAACiF,SAAS,CAAC,CAAC,GAAI;UAC9DrC,IAAI,EAAEC,qBAAS;UACfC,MAAM,EAAEC,mBAAO,CAACiB;QAClB,CAAC,CAAC;QAEF,OAAOhE,IAAI;MACb;MAEA,OAAO8F,SAAS;IAClB,CAAC;IAmBD;AACF;AACA;AACA;IAHE,IAAAzD,gBAAA,CAAAnD,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,cAIiB,UAAC8D,aAA4B,EAAY;MACxD,OAAO9D,KAAA,CAAK2C,WAAW,CAACoB,OAAO,CAACD,aAAa,CAAC;IAChD,CAAC;IAhPC9D,KAAA,CAAK+C,MAAM,GAAG,IAAAiB,QAAI,EAAC,CAAC;IACpBhE,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,IAAAkE,sBAAA,CAAAhH,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,GAAAnB,aAAA,EAAqBqF,qBAAY;IACjC,IAAAD,sBAAA,CAAAhH,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,GAAAtB,MAAA,EAAc,IAAAyF,sBAAA,CAAAlH,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,GAAAnB,aAAA,EAAmBuF,QAAQ,CAAC,CAAC;IAC3C,IAAAH,sBAAA,CAAAhH,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,GAAApB,MAAA,EAAcW,KAAK;IAEnB,IAAA0E,sBAAA,CAAAhH,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,GAAAlB,kBAAA,EAA0BU,iBAAiB;IAC3C,IAAAyE,sBAAA,CAAAhH,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,GAAAjB,iBAAA,EAAyBU,gBAAgB;IAEzCO,KAAA,CAAKwD,WAAW,GAAG7D,iBAAiB,aAAjBA,iBAAiB,eAAjBA,iBAAiB,CAAE8D,SAAS,GAC3C9D,iBAAiB,GACjB;MAAC8D,SAAS,EAAEC,uBAAgB,CAACW,OAAO;MAAEC,MAAM,EAAE;IAAE,CAAC;IAErD,IAAAC,2BAAmB,EAACvE,KAAA,CAAKwD,WAAW,CAAC;IAErCxD,KAAA,CAAKwB,YAAY,GAAG,IAAAgD,gCAAkB,MAAAL,sBAAA,CAAAlH,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,GAAAtB,MAAA,GAEpCsB,KAAA,CAAKwD,WAAW,MAAAW,sBAAA,CAAAlH,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,GAAApB,MAAA,GAEhBoB,KAAA,CAAKyE,WAAW,EAChB/E,QAAQ,EACRE,GACF,CAAC;IAEDY,eAAG,CAACkE,SAAS,CAAChF,QAAQ,EAAEkB,qBAAS,CAAC;IAElCZ,KAAA,CAAK2C,WAAW,GAAG,IAAAgC,2BAAc,MAAAR,sBAAA,CAAAlH,OAAA,MAAAiD,uBAAA,CAAAjD,OAAA,EAAA+C,KAAA,GAAAtB,MAAA,GAAcsB,KAAA,CAAKwD,WAAW,CAACC,SAAS,CAAC;IAE1EzD,KAAA,CAAK4E,oBAAoB,CAAC,CAAC;IAAC,OAAA5E,KAAA;EAC9B;;EAEA;AACF;AACA;EAFE,IAAA6E,aAAA,CAAA5H,OAAA,EAAA+B,IAAA;IAAA8F,GAAA;IAAA1G,KAAA;MAAA,IAAA2G,SAAA,OAAAC,kBAAA,CAAA/H,OAAA,gBAAAgI,YAAA,CAAAhI,OAAA,CAAAiI,IAAA,CAGA,SAAAC,SAAA;QAAA,IAAAC,MAAA;QAAA,OAAAH,YAAA,CAAAhI,OAAA,CAAAoI,IAAA,UAAAC,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAC,IAAA,GAAAD,SAAA,CAAAE,IAAA;YAAA;cACEjF,eAAG,CAACC,IAAI,CAACC,+BAAoB,EAAE;gBAC7BC,IAAI,EAAEC,qBAAS;gBACfC,MAAM,EAAEC,mBAAO,CAAC4E;cAClB,CAAC,CAAC;cAACH,SAAA,CAAAE,IAAA;cAAA,OACG,IAAAtB,sBAAA,CAAAlH,OAAA,MAAI,EAAA2B,MAAA,EAAQ+G,YAAY,mBAAAX,kBAAA,CAAA/H,OAAA,gBAAAgI,YAAA,CAAAhI,OAAA,CAAAiI,IAAA,CAAC,SAAAU,QAAA;gBAAA,OAAAX,YAAA,CAAAhI,OAAA,CAAAoI,IAAA,UAAAQ,SAAAC,QAAA;kBAAA,kBAAAA,QAAA,CAAAN,IAAA,GAAAM,QAAA,CAAAL,IAAA;oBAAA;sBAC7BL,MAAI,CAACjE,IAAI,CAACH,mBAAW,CAAC+E,UAAU,CAAC;sBAEjCX,MAAI,CAAC5D,YAAY,CAACwE,gBAAgB,KAAA7B,sBAAA,CAAAlH,OAAA,EAACmI,MAAI,EAAAtG,kBAAA,OAAAqF,sBAAA,CAAAlH,OAAA,EAAqBmI,MAAI,EAAArG,iBAAA,CAAkB,CAAC;sBAAC+G,QAAA,CAAAL,IAAA;sBAAA,OAC9EL,MAAI,CAAC5D,YAAY,CAACyE,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,CAACxD,WAAW,CAACyD,UAAU,CAAC,IAAI,CAACD,cAAc,EAAE,IAAI,CAAC;cACxD;YAAC;YAAA;cAAA,OAAAZ,SAAA,CAAAW,IAAA;UAAA;QAAA,GAAAf,QAAA;MAAA,CACF;MAAA,SAAAkB,SAAA;QAAA,OAAAtB,SAAA,CAAAxH,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAA+I,QAAA;IAAA;IAED;AACF;AACA;IAFE;EAAA;IAAAvB,GAAA;IAAA1G,KAAA;MAAA,IAAAkI,WAAA,OAAAtB,kBAAA,CAAA/H,OAAA,gBAAAgI,YAAA,CAAAhI,OAAA,CAAAiI,IAAA,CAGA,SAAAqB,SAAA;QAAA,OAAAtB,YAAA,CAAAhI,OAAA,CAAAoI,IAAA,UAAAmB,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAjB,IAAA,GAAAiB,SAAA,CAAAhB,IAAA;YAAA;cACEjF,eAAG,CAACC,IAAI,CAACC,+BAAoB,EAAE;gBAC7BC,IAAI,EAAEC,qBAAS;gBACfC,MAAM,EAAEC,mBAAO,CAAC4F;cAClB,CAAC,CAAC;cAACD,SAAA,CAAAhB,IAAA;cAAA,OACG,IAAI,CAACjE,YAAY,CAACmF,UAAU,CAAC,CAAC;YAAA;cACpC,IAAI,CAACnF,YAAY,CAACoF,SAAS,CAACtD,yBAAkB,CAACuD,IAAI,CAAC;YAAC;YAAA;cAAA,OAAAJ,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACtD;MAAA,SAAAI,WAAA;QAAA,OAAAL,WAAA,CAAA/I,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAAqJ,UAAA;IAAA;IAED;AACF;AACA;IAFE;EAAA;IAAA7B,GAAA;IAAA1G,KAAA,EAGA,SAAA8C,cAAsBZ,UAAuB,EAAE;MAAA,IAAAwG,iBAAA;MAC7C,IACElF,MAAM,GAOJtB,UAAU,CAPZsB,MAAM;QACNmF,iBAAiB,GAMfzG,UAAU,CANZyG,iBAAiB;QACjBC,qBAAqB,GAKnB1G,UAAU,CALZ0G,qBAAqB;QACrBC,mBAAmB,GAIjB3G,UAAU,CAJZ2G,mBAAmB;QACnBC,mBAAmB,GAGjB5G,UAAU,CAHZ4G,mBAAmB;QACnBC,iBAAiB,GAEf7G,UAAU,CAFZ6G,iBAAiB;QACjBC,oBAAoB,GAClB9G,UAAU,CADZ8G,oBAAoB;MAGtB,IAAI,CAACjB,cAAc,GAAGvE,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEC,QAAQ;MACtC,IAAI,CAACwF,SAAS,GAAGzF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE0F,GAAG;MAC5B,IAAI,CAACC,QAAQ,GAAG3F,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE2F,QAAQ;MAChC,IAAI,CAACC,YAAY,IAAAV,iBAAA,GAAGlF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE6F,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;IAAAtC,GAAA;IAAA1G,KAAA;IAgCD;AACF;AACA;IACE,SAAAsJ,gBAAA,EAAiC;MAC/B,OAAOlH,eAAG,CAACmH,WAAW,CAAC,CAAC;IAC1B;;IAEA;AACF;AACA;EAFE;IAAA7C,GAAA;IAAA1G,KAAA,EAGA,SAAAwJ,mBAAA,EAAoC;MAClC,OAAO,IAAI,CAACpG,YAAY,CAACoG,kBAAkB,CAAC,CAAC;IAC/C;EAAC;IAAA9C,GAAA;IAAA1G,KAAA;IAkFD;AACF;AACA;IACE,SAAAwG,qBAAA,EAA+B;MAAA,IAAAiD,MAAA;MAC7BrH,eAAG,CAACC,IAAI,CAACC,+BAAoB,EAAE;QAC7BC,IAAI,EAAEC,qBAAS;QACfC,MAAM,EAAEC,mBAAO,CAACgH;MAClB,CAAC,CAAC;MACFtH,eAAG,CAACC,IAAI,CAAC,kCAAkC,EAAE;QAC3CE,IAAI,EAAEC,qBAAS;QACfC,MAAM,EAAEC,mBAAO,CAACgH;MAClB,CAAC,CAAC;MACF,IAAI,CAACnF,WAAW,CAACoF,EAAE,CAACC,uBAAe,CAACC,aAAa,EAAE,UAACC,OAAc,EAAK;QACrEL,MAAI,CAAC1G,IAAI,CAACH,mBAAW,CAACiH,aAAa,EAAEC,OAAO,CAAC;MAC/C,CAAC,CAAC;IACJ;EAAC;EAAA,OAAAlJ,IAAA;AAAA,EAvS+BmJ,cAAQ"}
1
+ {"version":3,"names":["_uuid","require","_constants","_types","_types2","_constants2","_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","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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"}
@@ -100,13 +100,14 @@ describe('Line Tests', function () {
100
100
  expect(line.getActiveMobiusUrl()).toEqual(primaryUrl);
101
101
  expect(line.getLoggingLevel()).toEqual(_types3.LOGGER.INFO);
102
102
  expect(line.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);
103
+ expect(line.callManager.lineDict[mockRegistrationBody.device.deviceId]).toEqual(line);
103
104
  webex.request.mockClear();
104
105
  jest.advanceTimersByTime(30 * 1000);
105
- _context.next = 16;
106
+ _context.next = 17;
106
107
  return _promise.default.resolve();
107
- case 16:
108
- jest.useRealTimers();
109
108
  case 17:
109
+ jest.useRealTimers();
110
+ case 18:
110
111
  case "end":
111
112
  return _context.stop();
112
113
  }
@@ -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","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","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 // 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\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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"}
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","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","undefined","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\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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"}
@@ -69,9 +69,6 @@ export default class Line extends Eventing {
69
69
  this.registration.setMobiusServers(this.#primaryMobiusUris, this.#backupMobiusUris);
70
70
  await this.registration.triggerRegistration();
71
71
  });
72
- if (this.mobiusDeviceId) {
73
- this.callManager.updateLine(this.mobiusDeviceId, this);
74
- }
75
72
  }
76
73
  async deregister() {
77
74
  log.info(METHOD_START_MESSAGE, {
@@ -93,6 +90,9 @@ export default class Line extends Eventing {
93
90
  this.rehomingIntervalMax = rehomingIntervalMax;
94
91
  this.voicePortalNumber = voicePortalNumber;
95
92
  this.voicePortalExtension = voicePortalExtension;
93
+ if (this.mobiusDeviceId) {
94
+ this.callManager.updateLine(this.mobiusDeviceId, this);
95
+ }
96
96
  }
97
97
  lineEmitter = (event, deviceInfo, lineError) => {
98
98
  log.info(METHOD_START_MESSAGE, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/CallingClient/line/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAGlC,OAAO,EACL,WAAW,EAEX,aAAa,EACb,WAAW,EACX,cAAc,EACd,kBAAkB,EAGnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,KAAK,EAAE,WAAW,EAAC,MAAM,SAAS,CAAC;AAG3C,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAC,mBAAmB,EAAC,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,SAAS,EAAC,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAG1C,OAAO,EAAkB,cAAc,EAAC,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAC,KAAK,EAAe,MAAM,kBAAkB,CAAC;AAIrD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,QAAQ,CAAC,cAAc,CAAE,YAAW,KAAK;;IAOlE,YAAY,EAAE,aAAa,CAAC;IAE5B,MAAM,EAAE,MAAM,CAAC;IAEf,eAAe,EAAE,MAAM,CAAC;IAExB,MAAM,EAAE,MAAM,CAAC;IAEf,cAAc,CAAC,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,SAAS,CAAC,CAAS;IAEpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,YAAY,EAAE,MAAM,EAAE,CAAM;IAE5B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAErC,OAAO,CAAC,WAAW,CAAe;IAElC,OAAO,CAAC,WAAW,CAAc;gBAO/B,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,MAAM,EAAE,EAC3B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,QAAQ,EAAE,MAAM,EAChB,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,EACtD,GAAG,CAAC,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM;IA0CP,QAAQ;IAmBR,UAAU;IAYvB,OAAO,CAAC,aAAa;IA0Bd,WAAW,UAAW,WAAW,eAAe,WAAW,cAAc,SAAS,UAyBvF;IAKK,eAAe,IAAI,MAAM;IAOzB,kBAAkB,IAAI,MAAM;IAO5B,SAAS,QAAO,kBAAkB,CAAkC;IAKpE,WAAW,QAAO,cAAc,GAAG,SAAS,CACE;IAM9C,QAAQ,UAAW,WAAW,KAAG,KAAK,GAAG,SAAS,CA+DvD;IAKF,OAAO,CAAC,oBAAoB;IAkBrB,OAAO,kBAAmB,aAAa,KAAG,KAAK,CAEpD;CACH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/CallingClient/line/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAGlC,OAAO,EACL,WAAW,EAEX,aAAa,EACb,WAAW,EACX,cAAc,EACd,kBAAkB,EAGnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,KAAK,EAAE,WAAW,EAAC,MAAM,SAAS,CAAC;AAG3C,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAC,mBAAmB,EAAC,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,SAAS,EAAC,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAG1C,OAAO,EAAkB,cAAc,EAAC,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAC,KAAK,EAAe,MAAM,kBAAkB,CAAC;AAIrD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,QAAQ,CAAC,cAAc,CAAE,YAAW,KAAK;;IAOlE,YAAY,EAAE,aAAa,CAAC;IAE5B,MAAM,EAAE,MAAM,CAAC;IAEf,eAAe,EAAE,MAAM,CAAC;IAExB,MAAM,EAAE,MAAM,CAAC;IAEf,cAAc,CAAC,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,SAAS,CAAC,CAAS;IAEpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,YAAY,EAAE,MAAM,EAAE,CAAM;IAE5B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAErC,OAAO,CAAC,WAAW,CAAe;IAElC,OAAO,CAAC,WAAW,CAAc;gBAO/B,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,MAAM,EAAE,EAC3B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,QAAQ,EAAE,MAAM,EAChB,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,EACtD,GAAG,CAAC,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM;IA0CP,QAAQ;IAgBR,UAAU;IAYvB,OAAO,CAAC,aAAa;IA6Bd,WAAW,UAAW,WAAW,eAAe,WAAW,cAAc,SAAS,UAyBvF;IAKK,eAAe,IAAI,MAAM;IAOzB,kBAAkB,IAAI,MAAM;IAO5B,SAAS,QAAO,kBAAkB,CAAkC;IAKpE,WAAW,QAAO,cAAc,GAAG,SAAS,CACE;IAM9C,QAAQ,UAAW,WAAW,KAAG,KAAK,GAAG,SAAS,CA+DvD;IAKF,OAAO,CAAC,oBAAoB;IAkBrB,OAAO,kBAAmB,aAAa,KAAG,KAAK,CAEpD;CACH"}
package/package.json CHANGED
@@ -38,7 +38,7 @@
38
38
  "dependencies": {
39
39
  "@types/platform": "1.3.4",
40
40
  "@webex/internal-media-core": "2.18.5",
41
- "@webex/internal-plugin-metrics": "3.9.0-next.2",
41
+ "@webex/internal-plugin-metrics": "3.9.0-next.3",
42
42
  "@webex/media-helpers": "3.8.1-next.16",
43
43
  "async-mutex": "0.4.0",
44
44
  "buffer": "6.0.3",
@@ -130,5 +130,5 @@
130
130
  "staticpath": "docs",
131
131
  "noprompt": true
132
132
  },
133
- "version": "3.9.0-next.4"
133
+ "version": "3.9.0-next.6"
134
134
  }