@webex/calling 3.0.0-next.12 → 3.0.0-next.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CallingClient/CallingClient.js +16 -10
- package/dist/CallingClient/CallingClient.js.map +1 -1
- package/dist/CallingClient/CallingClient.test.js +25 -32
- package/dist/CallingClient/CallingClient.test.js.map +1 -1
- package/dist/CallingClient/calling/call.test.js +2 -1
- package/dist/CallingClient/calling/call.test.js.map +1 -1
- package/dist/CallingClient/line/index.js +10 -11
- package/dist/CallingClient/line/index.js.map +1 -1
- package/dist/CallingClient/line/line.test.js +9 -9
- package/dist/CallingClient/line/line.test.js.map +1 -1
- package/dist/CallingClient/line/types.js +1 -7
- package/dist/CallingClient/line/types.js.map +1 -1
- package/dist/CallingClient/registration/register.js +50 -40
- package/dist/CallingClient/registration/register.js.map +1 -1
- package/dist/CallingClient/registration/register.test.js +28 -28
- package/dist/CallingClient/registration/register.test.js.map +1 -1
- package/dist/CallingClient/registration/types.js.map +1 -1
- package/dist/Errors/catalog/CallingDeviceError.js +1 -1
- package/dist/Errors/catalog/CallingDeviceError.js.map +1 -1
- package/dist/Errors/catalog/LineError.js +2 -2
- package/dist/Errors/catalog/LineError.js.map +1 -1
- package/dist/Errors/types.js.map +1 -1
- package/dist/Metrics/index.test.js +1 -1
- package/dist/Metrics/index.test.js.map +1 -1
- package/dist/common/Utils.js +13 -14
- package/dist/common/Utils.js.map +1 -1
- package/dist/common/Utils.test.js +1 -1
- package/dist/common/Utils.test.js.map +1 -1
- package/dist/common/types.js +8 -7
- package/dist/common/types.js.map +1 -1
- package/dist/module/CallingClient/CallingClient.js +8 -5
- package/dist/module/CallingClient/line/index.js +7 -10
- package/dist/module/CallingClient/line/types.js +0 -5
- package/dist/module/CallingClient/registration/register.js +28 -20
- package/dist/module/Errors/catalog/CallingDeviceError.js +2 -2
- package/dist/module/Errors/catalog/LineError.js +2 -2
- package/dist/module/common/Utils.js +14 -15
- package/dist/module/common/types.js +6 -5
- package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
- package/dist/types/CallingClient/line/index.d.ts +4 -5
- package/dist/types/CallingClient/line/index.d.ts.map +1 -1
- package/dist/types/CallingClient/line/types.d.ts +2 -7
- package/dist/types/CallingClient/line/types.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/register.d.ts +3 -3
- package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/types.d.ts +3 -3
- package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
- package/dist/types/Errors/catalog/CallingDeviceError.d.ts +4 -4
- package/dist/types/Errors/catalog/CallingDeviceError.d.ts.map +1 -1
- package/dist/types/Errors/catalog/LineError.d.ts +4 -4
- package/dist/types/Errors/catalog/LineError.d.ts.map +1 -1
- package/dist/types/Errors/types.d.ts +2 -3
- package/dist/types/Errors/types.d.ts.map +1 -1
- package/dist/types/common/Utils.d.ts.map +1 -1
- package/dist/types/common/types.d.ts +3 -2
- package/dist/types/common/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -44,7 +44,7 @@ var _backupMobiusUris = /*#__PURE__*/new _weakMap.default();
|
|
|
44
44
|
var Line = /*#__PURE__*/function (_Eventing) {
|
|
45
45
|
(0, _inherits2.default)(Line, _Eventing);
|
|
46
46
|
var _super = _createSuper(Line);
|
|
47
|
-
function Line(userId, clientDeviceUri,
|
|
47
|
+
function Line(userId, clientDeviceUri, mutex, primaryMobiusUris, backupMobiusUris, logLevel, serviceDataConfig, phoneNumber, extension, voicemail) {
|
|
48
48
|
var _this;
|
|
49
49
|
(0, _classCallCheck2.default)(this, Line);
|
|
50
50
|
_this = _super.call(this);
|
|
@@ -68,7 +68,6 @@ var Line = /*#__PURE__*/function (_Eventing) {
|
|
|
68
68
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mobiusUri", void 0);
|
|
69
69
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "phoneNumber", void 0);
|
|
70
70
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "extension", void 0);
|
|
71
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "status", void 0);
|
|
72
71
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sipAddresses", void 0);
|
|
73
72
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "voicemail", void 0);
|
|
74
73
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "lastSeen", void 0);
|
|
@@ -115,7 +114,7 @@ var Line = /*#__PURE__*/function (_Eventing) {
|
|
|
115
114
|
/**
|
|
116
115
|
* Gets registration status
|
|
117
116
|
*/
|
|
118
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "
|
|
117
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getStatus", function () {
|
|
119
118
|
return _this.registration.getStatus();
|
|
120
119
|
});
|
|
121
120
|
/**
|
|
@@ -144,7 +143,7 @@ var Line = /*#__PURE__*/function (_Eventing) {
|
|
|
144
143
|
_Logger.default.log("New call created, callId: ".concat(call.getCallId()), {});
|
|
145
144
|
} else {
|
|
146
145
|
_Logger.default.warn('Invalid phone number detected', {});
|
|
147
|
-
var err = new _LineError.LineError('An invalid phone number was detected. Check the number and try again.', {}, _types4.ERROR_TYPE.CALL_ERROR,
|
|
146
|
+
var err = new _LineError.LineError('An invalid phone number was detected. Check the number and try again.', {}, _types4.ERROR_TYPE.CALL_ERROR, _types.RegistrationStatus.ACTIVE);
|
|
148
147
|
_this.emit(_types2.LINE_EVENTS.ERROR, err);
|
|
149
148
|
}
|
|
150
149
|
return call;
|
|
@@ -161,7 +160,6 @@ var Line = /*#__PURE__*/function (_Eventing) {
|
|
|
161
160
|
_this.lineId = (0, _uuid.v4)();
|
|
162
161
|
_this.userId = userId;
|
|
163
162
|
_this.clientDeviceUri = clientDeviceUri;
|
|
164
|
-
_this.status = status;
|
|
165
163
|
_this.phoneNumber = phoneNumber;
|
|
166
164
|
_this.extension = extension;
|
|
167
165
|
_this.voicemail = voicemail;
|
|
@@ -176,7 +174,6 @@ var Line = /*#__PURE__*/function (_Eventing) {
|
|
|
176
174
|
};
|
|
177
175
|
(0, _common.validateServiceData)(serviceData);
|
|
178
176
|
_this.registration = (0, _registration.createRegistration)((0, _classPrivateFieldGet2.default)((0, _assertThisInitialized2.default)(_this), _webex), serviceData, (0, _classPrivateFieldGet2.default)((0, _assertThisInitialized2.default)(_this), _mutex), _this.lineEmitter, logLevel);
|
|
179
|
-
_this.registration.setStatus(_types.MobiusStatus.DEFAULT);
|
|
180
177
|
_Logger.default.setLogger(logLevel, _constants.LINE_FILE);
|
|
181
178
|
_this.callManager = (0, _callManager.getCallManager)((0, _classPrivateFieldGet2.default)((0, _assertThisInitialized2.default)(_this), _webex), serviceData.indicator);
|
|
182
179
|
_this.incomingCallListener();
|
|
@@ -199,12 +196,11 @@ var Line = /*#__PURE__*/function (_Eventing) {
|
|
|
199
196
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
200
197
|
while (1) switch (_context.prev = _context.next) {
|
|
201
198
|
case 0:
|
|
202
|
-
_this2.registration.setStatus(_types.MobiusStatus.DEFAULT);
|
|
203
199
|
_this2.emit(_types2.LINE_EVENTS.CONNECTING);
|
|
204
200
|
_this2.registration.setMobiusServers((0, _classPrivateFieldGet2.default)(_this2, _primaryMobiusUris), (0, _classPrivateFieldGet2.default)(_this2, _backupMobiusUris));
|
|
205
|
-
_context.next =
|
|
201
|
+
_context.next = 4;
|
|
206
202
|
return _this2.registration.triggerRegistration();
|
|
207
|
-
case
|
|
203
|
+
case 4:
|
|
208
204
|
case "end":
|
|
209
205
|
return _context.stop();
|
|
210
206
|
}
|
|
@@ -235,8 +231,11 @@ var Line = /*#__PURE__*/function (_Eventing) {
|
|
|
235
231
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
236
232
|
while (1) switch (_context3.prev = _context3.next) {
|
|
237
233
|
case 0:
|
|
238
|
-
|
|
239
|
-
|
|
234
|
+
_context3.next = 2;
|
|
235
|
+
return this.registration.deregister();
|
|
236
|
+
case 2:
|
|
237
|
+
this.registration.setStatus(_types.RegistrationStatus.IDLE);
|
|
238
|
+
case 3:
|
|
240
239
|
case "end":
|
|
241
240
|
return _context3.stop();
|
|
242
241
|
}
|
|
@@ -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","status","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","LineStatus","ACTIVE","undefined","correlationId","getCall","uuid","_classPrivateFieldSet2","SDKConnector","_classPrivateFieldGet2","getWebex","serviceData","indicator","ServiceIndicator","CALLING","domain","validateServiceData","createRegistration","lineEmitter","setStatus","MobiusStatus","DEFAULT","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","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 MobiusStatus,\n ServiceIndicator,\n} from '../../common/types';\nimport {ILine, LINE_EVENTS, LineEventTypes, LineStatus} 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} 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 status: LineStatus;\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 status: LineStatus,\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.status = status;\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 this.registration.setStatus(MobiusStatus.DEFAULT);\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.registration.setStatus(MobiusStatus.DEFAULT);\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 this.registration.deregister();\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 getRegistrationStatus = (): MobiusStatus => 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 LineStatus.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","_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","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, LineEventTypes} 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} 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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"}
|
|
@@ -59,7 +59,7 @@ describe('Line Tests', function () {
|
|
|
59
59
|
body: mockRegistrationBody
|
|
60
60
|
};
|
|
61
61
|
beforeEach(function () {
|
|
62
|
-
line = new _.default(userId, clientDeviceUri,
|
|
62
|
+
line = new _.default(userId, clientDeviceUri, mutex, primaryMobiusUris(), backupMobiusUris(), _types3.LOGGER.INFO);
|
|
63
63
|
});
|
|
64
64
|
afterEach(function () {
|
|
65
65
|
jest.clearAllTimers();
|
|
@@ -74,7 +74,7 @@ describe('Line Tests', function () {
|
|
|
74
74
|
jest.useFakeTimers();
|
|
75
75
|
webex.request.mockReturnValue(registrationPayload);
|
|
76
76
|
expect(createRegistrationSpy).toBeCalledOnceWith(webex, defaultServiceData, expect.any(_asyncMutex.Mutex), expect.anything(), _types3.LOGGER.INFO);
|
|
77
|
-
expect(line.
|
|
77
|
+
expect(line.getStatus()).toEqual(_types.RegistrationStatus.IDLE);
|
|
78
78
|
_context.next = 6;
|
|
79
79
|
return line.register();
|
|
80
80
|
case 6:
|
|
@@ -88,7 +88,7 @@ describe('Line Tests', function () {
|
|
|
88
88
|
method: 'POST'
|
|
89
89
|
}));
|
|
90
90
|
expect(handleErrorSpy).not.toBeCalled();
|
|
91
|
-
expect(line.
|
|
91
|
+
expect(line.getStatus()).toEqual(_types.RegistrationStatus.ACTIVE);
|
|
92
92
|
expect(line.getActiveMobiusUrl()).toEqual(primaryUrl);
|
|
93
93
|
expect(line.getLoggingLevel()).toEqual(_types3.LOGGER.INFO);
|
|
94
94
|
expect(line.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);
|
|
@@ -119,12 +119,12 @@ describe('Line Tests', function () {
|
|
|
119
119
|
line.on(_types2.LINE_EVENTS.ERROR, function (error) {
|
|
120
120
|
expect(error.message).toBe('User is unauthorized due to an expired token. Sign out, then sign back in.');
|
|
121
121
|
});
|
|
122
|
-
expect(line.
|
|
122
|
+
expect(line.getStatus()).toBe(_types.RegistrationStatus.IDLE);
|
|
123
123
|
line.register();
|
|
124
124
|
_context2.next = 7;
|
|
125
125
|
return utils.waitForMsecs(20);
|
|
126
126
|
case 7:
|
|
127
|
-
expect(line.
|
|
127
|
+
expect(line.getStatus()).toBe(_types.RegistrationStatus.INACTIVE);
|
|
128
128
|
expect(handleErrorSpy).toBeCalledOnceWith(expect.anything(), expect.anything(), {
|
|
129
129
|
file: _constants.REGISTRATION_FILE,
|
|
130
130
|
method: 'attemptRegistrationWithServers'
|
|
@@ -140,15 +140,15 @@ describe('Line Tests', function () {
|
|
|
140
140
|
while (1) switch (_context3.prev = _context3.next) {
|
|
141
141
|
case 0:
|
|
142
142
|
webex.request.mockReturnValueOnce(registrationPayload);
|
|
143
|
-
expect(line.
|
|
143
|
+
expect(line.getStatus()).toEqual(_types.RegistrationStatus.IDLE);
|
|
144
144
|
_context3.next = 4;
|
|
145
145
|
return line.register();
|
|
146
146
|
case 4:
|
|
147
|
-
expect(line.
|
|
147
|
+
expect(line.getStatus()).toEqual(_types.RegistrationStatus.ACTIVE);
|
|
148
148
|
_context3.next = 7;
|
|
149
149
|
return line.deregister();
|
|
150
150
|
case 7:
|
|
151
|
-
expect(line.
|
|
151
|
+
expect(line.getStatus()).toEqual(_types.RegistrationStatus.IDLE);
|
|
152
152
|
case 8:
|
|
153
153
|
case "end":
|
|
154
154
|
return _context3.stop();
|
|
@@ -159,7 +159,7 @@ describe('Line Tests', function () {
|
|
|
159
159
|
describe('Line calling tests', function () {
|
|
160
160
|
var line;
|
|
161
161
|
beforeEach(function () {
|
|
162
|
-
line = new _.default(userId, clientDeviceUri,
|
|
162
|
+
line = new _.default(userId, clientDeviceUri, mutex, primaryMobiusUris(), backupMobiusUris(), _types3.LOGGER.INFO);
|
|
163
163
|
});
|
|
164
164
|
afterEach(function () {
|
|
165
165
|
jest.clearAllTimers();
|
|
@@ -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","LineStatus","ACTIVE","LOGGER","INFO","afterEach","clearAllTimers","useRealTimers","removeAllListeners","it","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","useFakeTimers","request","mockReturnValue","expect","toBeCalledOnceWith","any","anything","getRegistrationStatus","toEqual","MobiusStatus","DEFAULT","register","getMockRequestTemplate","serviceData","uri","method","not","toBeCalled","getActiveMobiusUrl","getLoggingLevel","getDeviceId","deviceId","mockClear","advanceTimersByTime","_promise","resolve","stop","_callee2","_callee2$","_context2","LINE_EVENTS","ERROR","mockRejectedValue","on","error","message","toBe","waitForMsecs","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 MobiusStatus,\n ServiceIndicator,\n WebexRequestPayload,\n} from '../../common/types';\nimport {LINE_EVENTS, LineStatus} 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 LineStatus.ACTIVE,\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.getRegistrationStatus()).toEqual(MobiusStatus.DEFAULT);\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.getRegistrationStatus()).toEqual(MobiusStatus.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.getRegistrationStatus()).toBe(MobiusStatus.DEFAULT);\n line.register();\n await utils.waitForMsecs(20);\n\n expect(line.getRegistrationStatus()).toBe(MobiusStatus.DEFAULT);\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.getRegistrationStatus()).toEqual(MobiusStatus.DEFAULT);\n await line.register();\n expect(line.getRegistrationStatus()).toEqual(MobiusStatus.ACTIVE);\n\n await line.deregister();\n expect(line.getRegistrationStatus()).toEqual(MobiusStatus.DEFAULT);\n });\n });\n describe('Line calling tests', () => {\n let line;\n\n beforeEach(() => {\n line = new Line(\n userId,\n clientDeviceUri,\n LineStatus.ACTIVE,\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","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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"}
|
|
@@ -4,13 +4,7 @@ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/defi
|
|
|
4
4
|
_Object$defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
8
|
-
var LineStatus;
|
|
9
|
-
exports.LineStatus = LineStatus;
|
|
10
|
-
(function (LineStatus) {
|
|
11
|
-
LineStatus["INACTIVE"] = "inactive";
|
|
12
|
-
LineStatus["ACTIVE"] = "active";
|
|
13
|
-
})(LineStatus || (exports.LineStatus = LineStatus = {}));
|
|
7
|
+
exports.LINE_EVENTS = void 0;
|
|
14
8
|
var LINE_EVENTS;
|
|
15
9
|
/**
|
|
16
10
|
* Represents an interface for managing a telephony line.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["LINE_EVENTS","exports"],"sources":["types.ts"],"sourcesContent":["import {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 {\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 LineEventTypes = {\n [LINE_EVENTS.CONNECTING]: () => void;\n [LINE_EVENTS.ERROR]: (error: LineError) => void;\n [LINE_EVENTS.RECONNECTED]: () => void;\n [LINE_EVENTS.RECONNECTING]: () => void;\n [LINE_EVENTS.REGISTERED]: (lineInfo: ILine) => void;\n [LINE_EVENTS.UNREGISTERED]: () => void;\n [LINE_EVENTS.INCOMING_CALL]: (callObj: ICall) => void;\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":";;;;;;;IAWYA,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"}
|