@webex/calling 3.0.0-next.22 → 3.0.0-next.24

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.
Files changed (131) hide show
  1. package/dist/CallHistory/CallHistory.js +5 -6
  2. package/dist/CallHistory/CallHistory.js.map +1 -1
  3. package/dist/CallHistory/CallHistory.test.js.map +1 -1
  4. package/dist/CallHistory/callHistoryFixtures.js +3 -6
  5. package/dist/CallHistory/callHistoryFixtures.js.map +1 -1
  6. package/dist/CallHistory/constants.js +9 -18
  7. package/dist/CallHistory/constants.js.map +1 -1
  8. package/dist/CallSettings/CallSettings.js +18 -13
  9. package/dist/CallSettings/CallSettings.js.map +1 -1
  10. package/dist/CallSettings/CallSettings.test.js.map +1 -1
  11. package/dist/CallSettings/UcmBackendConnector.js +3 -4
  12. package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
  13. package/dist/CallSettings/UcmBackendConnector.test.js +2 -2
  14. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
  15. package/dist/CallSettings/WxCallBackendConnector.js +19 -13
  16. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
  17. package/dist/CallSettings/WxCallBackendConnector.test.js +2 -2
  18. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
  19. package/dist/CallSettings/constants.js +11 -22
  20. package/dist/CallSettings/constants.js.map +1 -1
  21. package/dist/CallSettings/testFixtures.js +4 -8
  22. package/dist/CallSettings/testFixtures.js.map +1 -1
  23. package/dist/CallingClient/CallingClient.js +17 -15
  24. package/dist/CallingClient/CallingClient.js.map +1 -1
  25. package/dist/CallingClient/CallingClient.test.js +9 -7
  26. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  27. package/dist/CallingClient/callRecordFixtures.js +2 -4
  28. package/dist/CallingClient/callRecordFixtures.js.map +1 -1
  29. package/dist/CallingClient/calling/CallerId/index.js +6 -6
  30. package/dist/CallingClient/calling/CallerId/index.js.map +1 -1
  31. package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -1
  32. package/dist/CallingClient/calling/call.js +49 -38
  33. package/dist/CallingClient/calling/call.js.map +1 -1
  34. package/dist/CallingClient/calling/call.test.js +9 -8
  35. package/dist/CallingClient/calling/call.test.js.map +1 -1
  36. package/dist/CallingClient/calling/callManager.js +3 -5
  37. package/dist/CallingClient/calling/callManager.js.map +1 -1
  38. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  39. package/dist/CallingClient/calling/types.js +31 -33
  40. package/dist/CallingClient/calling/types.js.map +1 -1
  41. package/dist/CallingClient/callingClientFixtures.js +16 -32
  42. package/dist/CallingClient/callingClientFixtures.js.map +1 -1
  43. package/dist/CallingClient/constants.js +100 -200
  44. package/dist/CallingClient/constants.js.map +1 -1
  45. package/dist/CallingClient/line/index.js +5 -4
  46. package/dist/CallingClient/line/index.js.map +1 -1
  47. package/dist/CallingClient/line/line.test.js +4 -4
  48. package/dist/CallingClient/line/line.test.js.map +1 -1
  49. package/dist/CallingClient/line/types.js +6 -7
  50. package/dist/CallingClient/line/types.js.map +1 -1
  51. package/dist/CallingClient/registration/register.js +51 -42
  52. package/dist/CallingClient/registration/register.js.map +1 -1
  53. package/dist/CallingClient/registration/register.test.js +5 -4
  54. package/dist/CallingClient/registration/register.test.js.map +1 -1
  55. package/dist/CallingClient/registration/registerFixtures.js +5 -10
  56. package/dist/CallingClient/registration/registerFixtures.js.map +1 -1
  57. package/dist/Contacts/ContactsClient.js +30 -19
  58. package/dist/Contacts/ContactsClient.js.map +1 -1
  59. package/dist/Contacts/ContactsClient.test.js +4 -4
  60. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  61. package/dist/Contacts/constants.js +10 -18
  62. package/dist/Contacts/constants.js.map +1 -1
  63. package/dist/Contacts/contactFixtures.js +26 -52
  64. package/dist/Contacts/contactFixtures.js.map +1 -1
  65. package/dist/Contacts/types.js +29 -9
  66. package/dist/Contacts/types.js.map +1 -1
  67. package/dist/Errors/catalog/CallError.js +3 -5
  68. package/dist/Errors/catalog/CallError.js.map +1 -1
  69. package/dist/Errors/catalog/CallingDeviceError.js +3 -5
  70. package/dist/Errors/catalog/CallingDeviceError.js.map +1 -1
  71. package/dist/Errors/catalog/ExtendedError.js +2 -3
  72. package/dist/Errors/catalog/ExtendedError.js.map +1 -1
  73. package/dist/Errors/catalog/LineError.js +3 -5
  74. package/dist/Errors/catalog/LineError.js.map +1 -1
  75. package/dist/Errors/types.js +15 -20
  76. package/dist/Errors/types.js.map +1 -1
  77. package/dist/Events/impl/index.js +2 -3
  78. package/dist/Events/impl/index.js.map +1 -1
  79. package/dist/Events/types.js +42 -51
  80. package/dist/Events/types.js.map +1 -1
  81. package/dist/Logger/index.js +1 -2
  82. package/dist/Logger/index.js.map +1 -1
  83. package/dist/Logger/index.test.js.map +1 -1
  84. package/dist/Logger/types.js +9 -12
  85. package/dist/Logger/types.js.map +1 -1
  86. package/dist/Metrics/index.js +2 -4
  87. package/dist/Metrics/index.js.map +1 -1
  88. package/dist/Metrics/index.test.js +2 -2
  89. package/dist/Metrics/index.test.js.map +1 -1
  90. package/dist/Metrics/types.js +15 -20
  91. package/dist/Metrics/types.js.map +1 -1
  92. package/dist/SDKConnector/index.js +1 -2
  93. package/dist/SDKConnector/index.js.map +1 -1
  94. package/dist/SDKConnector/utils.js +1 -2
  95. package/dist/SDKConnector/utils.js.map +1 -1
  96. package/dist/Voicemail/BroadworksBackendConnector.js +21 -12
  97. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
  98. package/dist/Voicemail/BroadworksBackendConnector.test.js +2 -2
  99. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
  100. package/dist/Voicemail/UcmBackendConnector.js +19 -11
  101. package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
  102. package/dist/Voicemail/UcmBackendConnector.test.js +5 -4
  103. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
  104. package/dist/Voicemail/Voicemail.js +17 -12
  105. package/dist/Voicemail/Voicemail.js.map +1 -1
  106. package/dist/Voicemail/Voicemail.test.js.map +1 -1
  107. package/dist/Voicemail/WxCallBackendConnector.js +17 -10
  108. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
  109. package/dist/Voicemail/WxCallBackendConnector.test.js +4 -4
  110. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
  111. package/dist/Voicemail/constants.js +29 -58
  112. package/dist/Voicemail/constants.js.map +1 -1
  113. package/dist/Voicemail/voicemailFixture.js +35 -70
  114. package/dist/Voicemail/voicemailFixture.js.map +1 -1
  115. package/dist/common/Utils.js +5 -7
  116. package/dist/common/Utils.js.map +1 -1
  117. package/dist/common/Utils.test.js +2 -2
  118. package/dist/common/Utils.test.js.map +1 -1
  119. package/dist/common/constants.js +41 -82
  120. package/dist/common/constants.js.map +1 -1
  121. package/dist/common/testUtil.js +10 -20
  122. package/dist/common/testUtil.js.map +1 -1
  123. package/dist/common/types.js +30 -40
  124. package/dist/common/types.js.map +1 -1
  125. package/dist/index.js +6 -0
  126. package/dist/index.js.map +1 -1
  127. package/dist/module/index.js +1 -0
  128. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  129. package/dist/types/index.d.ts +1 -0
  130. package/dist/types/index.d.ts.map +1 -1
  131. package/package.json +3 -2
@@ -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","_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","exports"],"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","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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"}
@@ -25,10 +25,10 @@ var _SDKConnector = _interopRequireDefault(require("../../SDKConnector"));
25
25
  var _constants = require("../constants");
26
26
  var _types3 = require("../../Logger/types");
27
27
  var regUtils = _interopRequireWildcard(require("../registration/register"));
28
- function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
30
- function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
31
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
28
+ function _getRequireWildcardCache(e) { if ("function" != typeof _WeakMap) return null; var r = new _WeakMap(), t = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
29
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? _Object$getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? _Object$defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
30
+ function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
31
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
32
32
  describe('Line Tests', function () {
33
33
  var mutex = new _asyncMutex.Mutex();
34
34
  var webex = (0, _testUtil.getTestUtilsWebex)();
@@ -1 +1 @@
1
- {"version":3,"names":["_asyncMutex","require","_testUtil","_registerFixtures","_common","_types","_types2","_","_interopRequireDefault","utils","_interopRequireWildcard","_SDKConnector","_constants","_types3","regUtils","_getRequireWildcardCache","nodeInterop","_WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","_Object$defineProperty","_Object$getOwnPropertyDescriptor","key","Object","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","_Object$keys","_Object$getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","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","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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"}
@@ -5,12 +5,7 @@ _Object$defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.LINE_EVENTS = void 0;
8
- var LINE_EVENTS;
9
- /**
10
- * Represents an interface for managing a telephony line.
11
- */
12
- exports.LINE_EVENTS = LINE_EVENTS;
13
- (function (LINE_EVENTS) {
8
+ var LINE_EVENTS = exports.LINE_EVENTS = /*#__PURE__*/function (LINE_EVENTS) {
14
9
  LINE_EVENTS["CONNECTING"] = "connecting";
15
10
  LINE_EVENTS["ERROR"] = "error";
16
11
  LINE_EVENTS["RECONNECTED"] = "reconnected";
@@ -18,5 +13,9 @@ exports.LINE_EVENTS = LINE_EVENTS;
18
13
  LINE_EVENTS["REGISTERED"] = "registered";
19
14
  LINE_EVENTS["UNREGISTERED"] = "unregistered";
20
15
  LINE_EVENTS["INCOMING_CALL"] = "line:incoming_call";
21
- })(LINE_EVENTS || (exports.LINE_EVENTS = LINE_EVENTS = {}));
16
+ return LINE_EVENTS;
17
+ }({});
18
+ /**
19
+ * Represents an interface for managing a telephony line.
20
+ */
22
21
  //# sourceMappingURL=types.js.map
@@ -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: 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;AAUvB;AACA;AACA;AAFAC,OAAA,CAAAD,WAAA,GAAAA,WAAA;AAAA,WAVYA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;AAAA,GAAXA,WAAW,KAAAC,OAAA,CAAAD,WAAA,GAAXA,WAAW"}
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"}
@@ -34,7 +34,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
34
34
  /**
35
35
  *
36
36
  */
37
- var Registration = /*#__PURE__*/function () {
37
+ var Registration = exports.Registration = /*#__PURE__*/function () {
38
38
  /**
39
39
  */
40
40
  function Registration(webex, serviceData, mutex, lineEmitter, logLevel) {
@@ -106,16 +106,15 @@ var Registration = /*#__PURE__*/function () {
106
106
  */
107
107
  }, {
108
108
  key: "postKeepAlive",
109
- value: function () {
109
+ value: (function () {
110
110
  var _postKeepAlive = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(url) {
111
- var _headers;
112
111
  return _regenerator.default.wrap(function _callee$(_context) {
113
112
  while (1) switch (_context.prev = _context.next) {
114
113
  case 0:
115
114
  return _context.abrupt("return", this.webex.request({
116
115
  uri: "".concat(url, "/status"),
117
116
  method: _types3.HTTP_METHODS.POST,
118
- headers: (_headers = {}, (0, _defineProperty2.default)(_headers, _constants.CISCO_DEVICE_URL, this.webex.internal.device.url), (0, _defineProperty2.default)(_headers, _constants.SPARK_USER_AGENT, _constants.CALLING_USER_AGENT), _headers),
117
+ headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants.CISCO_DEVICE_URL, this.webex.internal.device.url), _constants.SPARK_USER_AGENT, _constants.CALLING_USER_AGENT),
119
118
  service: _types3.ALLOWED_SERVICES.MOBIUS
120
119
  }));
121
120
  case 1:
@@ -133,12 +132,13 @@ var Registration = /*#__PURE__*/function () {
133
132
  * Implementation of delete device.
134
133
  *
135
134
  */
135
+ )
136
136
  }, {
137
137
  key: "deleteRegistration",
138
- value: function () {
138
+ value: (function () {
139
139
  var _deleteRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(url, deviceId, deviceUrl) {
140
140
  var _response;
141
- var response, _headers2;
141
+ var response;
142
142
  return _regenerator.default.wrap(function _callee2$(_context2) {
143
143
  while (1) switch (_context2.prev = _context2.next) {
144
144
  case 0:
@@ -146,41 +146,43 @@ var Registration = /*#__PURE__*/function () {
146
146
  _context2.t0 = fetch;
147
147
  _context2.t1 = "".concat(url).concat(_constants.DEVICES_ENDPOINT_RESOURCE, "/").concat(deviceId);
148
148
  _context2.t2 = _types3.HTTP_METHODS.DELETE;
149
- _headers2 = {};
150
- (0, _defineProperty2.default)(_headers2, _constants.CISCO_DEVICE_URL, deviceUrl);
151
149
  _context2.t3 = _defineProperty2.default;
152
- _context2.t4 = _headers2;
150
+ _context2.t4 = _defineProperty2.default;
151
+ _context2.t5 = _defineProperty2.default;
152
+ _context2.t6 = (0, _defineProperty2.default)({}, _constants.CISCO_DEVICE_URL, deviceUrl);
153
153
  _context2.next = 10;
154
154
  return this.webex.credentials.getUserToken();
155
155
  case 10:
156
- _context2.t5 = _context2.sent;
157
- (0, _context2.t3)(_context2.t4, "Authorization", _context2.t5);
158
- (0, _defineProperty2.default)(_headers2, "trackingId", "".concat(_constants.WEBEX_WEB_CLIENT, "_").concat((0, _uuid.v4)()));
159
- (0, _defineProperty2.default)(_headers2, _constants.SPARK_USER_AGENT, _constants.CALLING_USER_AGENT);
160
- _context2.t6 = _headers2;
161
- _context2.t7 = {
156
+ _context2.t7 = _context2.sent;
157
+ _context2.t8 = (0, _context2.t5)(_context2.t6, "Authorization", _context2.t7);
158
+ _context2.t9 = "".concat(_constants.WEBEX_WEB_CLIENT, "_").concat((0, _uuid.v4)());
159
+ _context2.t10 = (0, _context2.t4)(_context2.t8, "trackingId", _context2.t9);
160
+ _context2.t11 = _constants.SPARK_USER_AGENT;
161
+ _context2.t12 = _constants.CALLING_USER_AGENT;
162
+ _context2.t13 = (0, _context2.t3)(_context2.t10, _context2.t11, _context2.t12);
163
+ _context2.t14 = {
162
164
  method: _context2.t2,
163
- headers: _context2.t6
165
+ headers: _context2.t13
164
166
  };
165
- _context2.next = 18;
166
- return (0, _context2.t0)(_context2.t1, _context2.t7);
167
- case 18:
167
+ _context2.next = 20;
168
+ return (0, _context2.t0)(_context2.t1, _context2.t14);
169
+ case 20:
168
170
  response = _context2.sent;
169
- _context2.next = 24;
171
+ _context2.next = 26;
170
172
  break;
171
- case 21:
172
- _context2.prev = 21;
173
- _context2.t8 = _context2["catch"](0);
173
+ case 23:
174
+ _context2.prev = 23;
175
+ _context2.t15 = _context2["catch"](0);
174
176
  _Logger.default.warn("Delete failed with Mobius", {});
175
- case 24:
177
+ case 26:
176
178
  this.setStatus(_types3.RegistrationStatus.INACTIVE);
177
179
  this.lineEmitter(_types4.LINE_EVENTS.UNREGISTERED);
178
180
  return _context2.abrupt("return", (_response = response) === null || _response === void 0 ? void 0 : _response.json());
179
- case 27:
181
+ case 29:
180
182
  case "end":
181
183
  return _context2.stop();
182
184
  }
183
- }, _callee2, this, [[0, 21]]);
185
+ }, _callee2, this, [[0, 23]]);
184
186
  }));
185
187
  function deleteRegistration(_x2, _x3, _x4) {
186
188
  return _deleteRegistration.apply(this, arguments);
@@ -191,11 +193,11 @@ var Registration = /*#__PURE__*/function () {
191
193
  * Implementation of POST request for device registration.
192
194
  *
193
195
  */
196
+ )
194
197
  }, {
195
198
  key: "postRegistration",
196
- value: function () {
199
+ value: (function () {
197
200
  var _postRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(url) {
198
- var _headers3;
199
201
  var deviceInfo;
200
202
  return _regenerator.default.wrap(function _callee3$(_context3) {
201
203
  while (1) switch (_context3.prev = _context3.next) {
@@ -208,7 +210,7 @@ var Registration = /*#__PURE__*/function () {
208
210
  return _context3.abrupt("return", this.webex.request({
209
211
  uri: "".concat(url, "device"),
210
212
  method: _types3.HTTP_METHODS.POST,
211
- headers: (_headers3 = {}, (0, _defineProperty2.default)(_headers3, _constants.CISCO_DEVICE_URL, deviceInfo.clientDeviceUri), (0, _defineProperty2.default)(_headers3, _constants.SPARK_USER_AGENT, _constants.CALLING_USER_AGENT), _headers3),
213
+ headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants.CISCO_DEVICE_URL, deviceInfo.clientDeviceUri), _constants.SPARK_USER_AGENT, _constants.CALLING_USER_AGENT),
212
214
  body: deviceInfo,
213
215
  service: _types3.ALLOWED_SERVICES.MOBIUS
214
216
  }));
@@ -227,9 +229,10 @@ var Registration = /*#__PURE__*/function () {
227
229
  * Re-attempts registration with the mobius url it was last registered
228
230
  * to, that mobius url is expected to be updated already in this.activeMobiusUrl.
229
231
  */
232
+ )
230
233
  }, {
231
234
  key: "restorePreviousRegistration",
232
- value: function () {
235
+ value: (function () {
233
236
  var _restorePreviousRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(caller) {
234
237
  var abort;
235
238
  return _regenerator.default.wrap(function _callee4$(_context4) {
@@ -263,9 +266,10 @@ var Registration = /*#__PURE__*/function () {
263
266
  * can handle this device registration now, in such cases this
264
267
  * method is called to retry sooner than the rehoming timer value.
265
268
  */
269
+ )
266
270
  }, {
267
271
  key: "scheduleFailback429Retry",
268
- value: function () {
272
+ value: (function () {
269
273
  var _scheduleFailback429Retry = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
270
274
  var interval, abort;
271
275
  return _regenerator.default.wrap(function _callee5$(_context5) {
@@ -312,6 +316,7 @@ var Registration = /*#__PURE__*/function () {
312
316
  *
313
317
  * attempted already.
314
318
  */
319
+ )
315
320
  }, {
316
321
  key: "getRegRetryInterval",
317
322
  value: function getRegRetryInterval() {
@@ -328,7 +333,7 @@ var Registration = /*#__PURE__*/function () {
328
333
  */
329
334
  }, {
330
335
  key: "startFailoverTimer",
331
- value: function () {
336
+ value: (function () {
332
337
  var _startFailoverTimer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10() {
333
338
  var _this = this;
334
339
  var attempt,
@@ -458,6 +463,7 @@ var Registration = /*#__PURE__*/function () {
458
463
  /**
459
464
  * Clears the failback timer if running.
460
465
  */
466
+ )
461
467
  }, {
462
468
  key: "clearFailbackTimer",
463
469
  value: function clearFailbackTimer() {
@@ -536,7 +542,7 @@ var Registration = /*#__PURE__*/function () {
536
542
  */
537
543
  }, {
538
544
  key: "executeFailback",
539
- value: function () {
545
+ value: (function () {
540
546
  var _executeFailback = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee13() {
541
547
  var _this3 = this;
542
548
  return _regenerator.default.wrap(function _callee13$(_context13) {
@@ -627,6 +633,7 @@ var Registration = /*#__PURE__*/function () {
627
633
  * server.
628
634
  *
629
635
  */
636
+ )
630
637
  }, {
631
638
  key: "setIntervalValues",
632
639
  value: function setIntervalValues(deviceInfo) {
@@ -675,7 +682,7 @@ var Registration = /*#__PURE__*/function () {
675
682
  */
676
683
  }, {
677
684
  key: "restartRegistration",
678
- value: function () {
685
+ value: (function () {
679
686
  var _restartRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee14(caller) {
680
687
  var abort;
681
688
  return _regenerator.default.wrap(function _callee14$(_context14) {
@@ -713,9 +720,10 @@ var Registration = /*#__PURE__*/function () {
713
720
  * Allows retry if not restored in the first attempt.
714
721
  *
715
722
  */
723
+ )
716
724
  }, {
717
725
  key: "handleConnectionRestoration",
718
- value: function () {
726
+ value: (function () {
719
727
  var _handleConnectionRestoration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16(retry) {
720
728
  var _this4 = this;
721
729
  return _regenerator.default.wrap(function _callee16$(_context16) {
@@ -783,6 +791,7 @@ var Registration = /*#__PURE__*/function () {
783
791
  * due to device registration already exists.
784
792
  *
785
793
  */
794
+ )
786
795
  }, {
787
796
  key: "restoreRegistrationCallBack",
788
797
  value: function restoreRegistrationCallBack() {
@@ -846,7 +855,7 @@ var Registration = /*#__PURE__*/function () {
846
855
  */
847
856
  }, {
848
857
  key: "triggerRegistration",
849
- value: function () {
858
+ value: (function () {
850
859
  var _triggerRegistration = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee18() {
851
860
  var abort;
852
861
  return _regenerator.default.wrap(function _callee18$(_context18) {
@@ -885,9 +894,10 @@ var Registration = /*#__PURE__*/function () {
885
894
  * attempt has hit a final error and a retry should not be scheduled
886
895
  * else false.
887
896
  */
897
+ )
888
898
  }, {
889
899
  key: "attemptRegistrationWithServers",
890
- value: function () {
900
+ value: (function () {
891
901
  var _attemptRegistrationWithServers = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19(caller) {
892
902
  var _this6 = this;
893
903
  var servers,
@@ -1027,6 +1037,7 @@ var Registration = /*#__PURE__*/function () {
1027
1037
  * This method sets up a timer to periodically send keep-alive requests to maintain a connection.
1028
1038
  * It handles retries, error handling, and re-registration attempts based on the response, ensuring continuous connectivity with the server.
1029
1039
  */
1040
+ )
1030
1041
  }, {
1031
1042
  key: "startKeepaliveTimer",
1032
1043
  value: function startKeepaliveTimer(url, interval) {
@@ -1219,7 +1230,7 @@ var Registration = /*#__PURE__*/function () {
1219
1230
  */
1220
1231
  }, {
1221
1232
  key: "reconnectOnFailure",
1222
- value: function () {
1233
+ value: (function () {
1223
1234
  var _reconnectOnFailure = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee23(caller) {
1224
1235
  var abort;
1225
1236
  return _regenerator.default.wrap(function _callee23$(_context23) {
@@ -1263,15 +1274,13 @@ var Registration = /*#__PURE__*/function () {
1263
1274
  return _reconnectOnFailure.apply(this, arguments);
1264
1275
  }
1265
1276
  return reconnectOnFailure;
1266
- }()
1277
+ }())
1267
1278
  }]);
1268
1279
  return Registration;
1269
1280
  }();
1270
1281
  /*
1271
1282
  */
1272
- exports.Registration = Registration;
1273
- var createRegistration = function createRegistration(webex, serviceData, mutex, lineEmitter, logLevel) {
1283
+ var createRegistration = exports.createRegistration = function createRegistration(webex, serviceData, mutex, lineEmitter, logLevel) {
1274
1284
  return new Registration(webex, serviceData, mutex, lineEmitter, logLevel);
1275
1285
  };
1276
- exports.createRegistration = createRegistration;
1277
1286
  //# sourceMappingURL=register.js.map