@webex/calling 3.12.0-llmrefactor.1 → 3.12.0-llmrefactor.2
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/constants.js +4 -2
- package/dist/CallingClient/constants.js.map +1 -1
- package/dist/CallingClient/line/index.js +4 -0
- package/dist/CallingClient/line/index.js.map +1 -1
- package/dist/CallingClient/line/line.test.js +47 -10
- package/dist/CallingClient/line/line.test.js.map +1 -1
- package/dist/CallingClient/registration/register.js +466 -390
- package/dist/CallingClient/registration/register.js.map +1 -1
- package/dist/CallingClient/registration/register.test.js +349 -80
- package/dist/CallingClient/registration/register.test.js.map +1 -1
- package/dist/CallingClient/registration/types.js +26 -0
- package/dist/CallingClient/registration/types.js.map +1 -1
- package/dist/Errors/types.js +2 -0
- package/dist/Errors/types.js.map +1 -1
- package/dist/Events/types.js.map +1 -1
- package/dist/common/Utils.js +85 -50
- package/dist/common/Utils.js.map +1 -1
- package/dist/common/Utils.test.js +270 -195
- package/dist/common/Utils.test.js.map +1 -1
- package/dist/module/CallingClient/constants.js +2 -0
- package/dist/module/CallingClient/line/index.js +2 -0
- package/dist/module/CallingClient/registration/register.js +36 -10
- package/dist/module/CallingClient/registration/types.js +5 -1
- package/dist/module/Errors/types.js +2 -0
- package/dist/module/common/Utils.js +26 -8
- package/dist/types/CallingClient/constants.d.ts +2 -0
- package/dist/types/CallingClient/constants.d.ts.map +1 -1
- package/dist/types/CallingClient/line/index.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/register.d.ts +2 -1
- package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/types.d.ts +23 -0
- package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
- package/dist/types/Errors/types.d.ts +2 -0
- package/dist/types/Errors/types.d.ts.map +1 -1
- package/dist/types/Events/types.d.ts +1 -1
- package/dist/types/Events/types.d.ts.map +1 -1
- package/dist/types/common/Utils.d.ts +2 -5
- package/dist/types/common/Utils.d.ts.map +1 -1
- package/package.json +9 -9
|
@@ -4,4 +4,30 @@ 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.HARD_STOP_REASON = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* Reason a registration is torn down without any re-registration attempt.
|
|
10
|
+
* The values double as the label used in hard-stop log messages.
|
|
11
|
+
*/
|
|
12
|
+
var HARD_STOP_REASON = exports.HARD_STOP_REASON = /*#__PURE__*/function (HARD_STOP_REASON) {
|
|
13
|
+
HARD_STOP_REASON["REGISTRATION_DOWN"] = "registration-down";
|
|
14
|
+
HARD_STOP_REASON["SESSION_SUPERSEDED"] = "session-superseded";
|
|
15
|
+
return HARD_STOP_REASON;
|
|
16
|
+
}({});
|
|
17
|
+
/**
|
|
18
|
+
* Describes a hard stop of the registration. A superseded session must carry the
|
|
19
|
+
* {@link LineError} that is handed to the SDK consumer as the reason on
|
|
20
|
+
* `LINE_EVENTS.UNREGISTERED`; a registration-down stop carries no reason.
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Specialized handlers a caller of `handleRegistrationErrors` opts into. A flow only
|
|
24
|
+
* passes the handlers for the status codes it can act on, which is what keeps handling
|
|
25
|
+
* such as the `409` session-superseded hard stop scoped to the keepalive flow.
|
|
26
|
+
*/
|
|
27
|
+
/**
|
|
28
|
+
* Outcome of `handleRegistrationErrors`.
|
|
29
|
+
*/
|
|
30
|
+
/**
|
|
31
|
+
* Represents an interface for managing registration-related operations.
|
|
32
|
+
*/
|
|
7
33
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import {Devices, IDeviceInfo, RegistrationStatus} from '../../common/types';\nimport {MobiusAsyncEvent} from '../calling/types';\n\nexport type Header = {\n [key: string]: string;\n};\n\nexport type restoreRegistrationCallBack = (\n restoreData: IDeviceInfo,\n caller: string\n) => Promise<boolean>;\n\nexport type retry429CallBack = (retryAfter: number, caller: string) => Promise<void>;\n\nexport type FailoverCacheState = {\n attempt: number;\n timeElapsed: number;\n retryScheduledTime: number;\n serverType: 'primary' | 'backup';\n};\n\n/**\n * Represents an interface for managing registration-related operations.\n */\nexport interface IRegistration {\n /**\n * Sets the primary and backup Mobius server URLs.\n *\n * @param primaryMobiusUris - An array of primary Mobius server URLs.\n * @param backupMobiusUris - An array of backup Mobius server URLs.\n */\n setMobiusServers(primaryMobiusUris: string[], backupMobiusUris: string[]): void;\n\n /**\n * Triggers the registration process with the given list of servers\n * Registration is attempted with primary and backup until it succeeds or the list is exhausted\n */\n triggerRegistration(): Promise<void>;\n\n /**\n * Checks if the device is currently registered.\n *\n */\n isDeviceRegistered(): boolean;\n\n /**\n * Sets the status of the registration.\n *\n * @param value - The registration status to set.\n */\n setStatus(value: RegistrationStatus): void;\n\n /**\n * Retrieves the current registration status.\n *\n */\n getStatus(): RegistrationStatus;\n\n /**\n * Retrieves information about the device as {@link IDeviceInfo}.\n *\n */\n getDeviceInfo(): IDeviceInfo;\n\n /**\n * Clears the keep-alive timer used for registration.\n */\n clearKeepaliveTimer(): void;\n\n /**\n * Deregisters the device.\n */\n deregister(closeMobiusWss: boolean): void;\n\n /**\n * Sets the active Mobius server URL to use for registration.\n *\n * @param url - The Mobius server URL to set as active.\n */\n setActiveMobiusUrl(url: string): void;\n\n /**\n * Retrieves the active Mobius server URL.\n *\n */\n getActiveMobiusUrl(): string;\n\n /**\n * Attempts to reconnect after a connection failure.\n *\n * @param caller - The caller's identifier for reconnection.\n */\n reconnectOnFailure(caller: string): Promise<void>;\n\n /**\n * Checks if a reconnection attempt is pending.\n *\n */\n isReconnectPending(): boolean;\n\n /**\n * Restores the connection and attempts refreshing existing registration with server.\n * Allows retry if not restored in the first attempt.\n *\n * @param retry - Set to `true` to trigger a retry after restoration.\n */\n handleConnectionRestoration(retry: boolean): Promise<boolean>;\n\n /**\n * Populate deviceInfo from a devices response (e.g., getDevices API).\n */\n setDeviceInfo(body: Devices): void;\n\n /**\n * Handles a Mobius REGISTRATION_DOWN async event. Ends the first active\n * call (if any) and runs registration-side cleanup.\n *\n * @param event - The Mobius async event payload (optional).\n */\n handleRegistrationDownEvent(event?: MobiusAsyncEvent): Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["HARD_STOP_REASON","exports"],"sources":["types.ts"],"sourcesContent":["import {Devices, IDeviceInfo, RegistrationStatus} from '../../common/types';\nimport {LineError} from '../../Errors/catalog/LineError';\nimport {MobiusAsyncEvent} from '../calling/types';\n\nexport type Header = {\n [key: string]: string;\n};\n\n/**\n * Reason a registration is torn down without any re-registration attempt.\n * The values double as the label used in hard-stop log messages.\n */\nexport enum HARD_STOP_REASON {\n REGISTRATION_DOWN = 'registration-down',\n SESSION_SUPERSEDED = 'session-superseded',\n}\n\n/**\n * Describes a hard stop of the registration. A superseded session must carry the\n * {@link LineError} that is handed to the SDK consumer as the reason on\n * `LINE_EVENTS.UNREGISTERED`; a registration-down stop carries no reason.\n */\nexport type HardStop =\n | {reason: HARD_STOP_REASON.REGISTRATION_DOWN; error?: undefined}\n | {reason: HARD_STOP_REASON.SESSION_SUPERSEDED; error: LineError};\n\nexport type restoreRegistrationCallBack = (\n restoreData: IDeviceInfo,\n caller: string\n) => Promise<boolean>;\n\nexport type retry429CallBack = (retryAfter: number, caller: string) => Promise<void>;\n\nexport type sessionSupersededCallBack = (clientError: LineError) => Promise<void>;\n\n/**\n * Specialized handlers a caller of `handleRegistrationErrors` opts into. A flow only\n * passes the handlers for the status codes it can act on, which is what keeps handling\n * such as the `409` session-superseded hard stop scoped to the keepalive flow.\n */\nexport type RegistrationErrorHandlers = {\n /** Invoked on `429` so the caller can reschedule its own flow after `Retry-After`. */\n retry429Cb?: retry429CallBack;\n /** Invoked on `403` device-limit so the caller can restore the existing registration. */\n restoreRegCb?: restoreRegistrationCallBack;\n /** Invoked on `409` so the caller can hard stop a superseded calling session. */\n sessionSupersededCb?: sessionSupersededCallBack;\n};\n\n/**\n * Outcome of `handleRegistrationErrors`.\n */\nexport type RegistrationErrorResult = {\n /** The error is terminal — the caller must not retry. */\n finalError: boolean;\n /** The Mobius WebSocket of the failed server must be torn down before moving on. */\n shouldDisconnect: boolean;\n /**\n * One of the {@link RegistrationErrorHandlers} fully owned the outcome, including\n * cleanup and notifying the consumer. The caller must skip its own failure handling so\n * that events are not emitted twice.\n */\n handledByCallback: boolean;\n};\n\nexport type FailoverCacheState = {\n attempt: number;\n timeElapsed: number;\n retryScheduledTime: number;\n serverType: 'primary' | 'backup';\n};\n\n/**\n * Represents an interface for managing registration-related operations.\n */\nexport interface IRegistration {\n /**\n * Sets the primary and backup Mobius server URLs.\n *\n * @param primaryMobiusUris - An array of primary Mobius server URLs.\n * @param backupMobiusUris - An array of backup Mobius server URLs.\n */\n setMobiusServers(primaryMobiusUris: string[], backupMobiusUris: string[]): void;\n\n /**\n * Triggers the registration process with the given list of servers\n * Registration is attempted with primary and backup until it succeeds or the list is exhausted\n */\n triggerRegistration(): Promise<void>;\n\n /**\n * Checks if the device is currently registered.\n *\n */\n isDeviceRegistered(): boolean;\n\n /**\n * Sets the status of the registration.\n *\n * @param value - The registration status to set.\n */\n setStatus(value: RegistrationStatus): void;\n\n /**\n * Retrieves the current registration status.\n *\n */\n getStatus(): RegistrationStatus;\n\n /**\n * Retrieves information about the device as {@link IDeviceInfo}.\n *\n */\n getDeviceInfo(): IDeviceInfo;\n\n /**\n * Clears the keep-alive timer used for registration.\n */\n clearKeepaliveTimer(): void;\n\n /**\n * Deregisters the device.\n */\n deregister(closeMobiusWss: boolean): void;\n\n /**\n * Sets the active Mobius server URL to use for registration.\n *\n * @param url - The Mobius server URL to set as active.\n */\n setActiveMobiusUrl(url: string): void;\n\n /**\n * Retrieves the active Mobius server URL.\n *\n */\n getActiveMobiusUrl(): string;\n\n /**\n * Attempts to reconnect after a connection failure.\n *\n * @param caller - The caller's identifier for reconnection.\n */\n reconnectOnFailure(caller: string): Promise<void>;\n\n /**\n * Checks if a reconnection attempt is pending.\n *\n */\n isReconnectPending(): boolean;\n\n /**\n * Restores the connection and attempts refreshing existing registration with server.\n * Allows retry if not restored in the first attempt.\n *\n * @param retry - Set to `true` to trigger a retry after restoration.\n */\n handleConnectionRestoration(retry: boolean): Promise<boolean>;\n\n /**\n * Populate deviceInfo from a devices response (e.g., getDevices API).\n */\n setDeviceInfo(body: Devices): void;\n\n /**\n * Handles a Mobius REGISTRATION_DOWN async event. Ends the first active\n * call (if any) and runs registration-side cleanup.\n *\n * @param event - The Mobius async event payload (optional).\n */\n handleRegistrationDownEvent(event?: MobiusAsyncEvent): Promise<void>;\n}\n"],"mappings":";;;;;;;AAQA;AACA;AACA;AACA;AAHA,IAIYA,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,0BAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA;AAK5B;AACA;AACA;AACA;AACA;AAcA;AACA;AACA;AACA;AACA;AAUA;AACA;AACA;AAqBA;AACA;AACA","ignoreList":[]}
|
package/dist/Errors/types.js
CHANGED
|
@@ -19,6 +19,7 @@ var ERROR_TYPE = exports.ERROR_TYPE = /*#__PURE__*/function (ERROR_TYPE) {
|
|
|
19
19
|
ERROR_TYPE["NOT_FOUND"] = "not_found";
|
|
20
20
|
ERROR_TYPE["REGISTRATION_ERROR"] = "registration_error";
|
|
21
21
|
ERROR_TYPE["SERVICE_UNAVAILABLE"] = "service_unavailable";
|
|
22
|
+
ERROR_TYPE["SESSION_SUPERSEDED"] = "session_superseded";
|
|
22
23
|
ERROR_TYPE["TIMEOUT"] = "timeout";
|
|
23
24
|
ERROR_TYPE["TOKEN_ERROR"] = "token_error";
|
|
24
25
|
ERROR_TYPE["TOO_MANY_REQUESTS"] = "too_many_requests";
|
|
@@ -29,6 +30,7 @@ var ERROR_CODE = exports.ERROR_CODE = /*#__PURE__*/function (ERROR_CODE) {
|
|
|
29
30
|
ERROR_CODE[ERROR_CODE["UNAUTHORIZED"] = 401] = "UNAUTHORIZED";
|
|
30
31
|
ERROR_CODE[ERROR_CODE["FORBIDDEN"] = 403] = "FORBIDDEN";
|
|
31
32
|
ERROR_CODE[ERROR_CODE["DEVICE_NOT_FOUND"] = 404] = "DEVICE_NOT_FOUND";
|
|
33
|
+
ERROR_CODE[ERROR_CODE["CONFLICT"] = 409] = "CONFLICT";
|
|
32
34
|
ERROR_CODE[ERROR_CODE["INTERNAL_SERVER_ERROR"] = 500] = "INTERNAL_SERVER_ERROR";
|
|
33
35
|
ERROR_CODE[ERROR_CODE["NOT_IMPLEMENTED"] = 501] = "NOT_IMPLEMENTED";
|
|
34
36
|
ERROR_CODE[ERROR_CODE["SERVICE_UNAVAILABLE"] = 503] = "SERVICE_UNAVAILABLE";
|
package/dist/Errors/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ERROR_LAYER","exports","ERROR_TYPE","ERROR_CODE","CALL_ERROR_CODE","DEVICE_ERROR_CODE"],"sources":["types.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-interface */\nimport {CorrelationId, IMetaContext, RegistrationStatus} from '../common/types';\n\nexport type ErrorMessage = string;\n\nexport enum ERROR_LAYER {\n CALL_CONTROL = 'call_control',\n MEDIA = 'media',\n}\n\nexport enum ERROR_TYPE {\n CALL_ERROR = 'call_error',\n DEFAULT = 'default_error',\n BAD_REQUEST = 'bad_request',\n FORBIDDEN_ERROR = 'forbidden',\n NOT_FOUND = 'not_found',\n REGISTRATION_ERROR = 'registration_error',\n SERVICE_UNAVAILABLE = 'service_unavailable',\n TIMEOUT = 'timeout',\n TOKEN_ERROR = 'token_error',\n TOO_MANY_REQUESTS = 'too_many_requests',\n SERVER_ERROR = 'server_error',\n}\n\nexport enum ERROR_CODE {\n UNAUTHORIZED = 401,\n FORBIDDEN = 403,\n DEVICE_NOT_FOUND = 404,\n INTERNAL_SERVER_ERROR = 500,\n NOT_IMPLEMENTED = 501,\n SERVICE_UNAVAILABLE = 503,\n BAD_REQUEST = 400,\n REQUEST_TIMEOUT = 408,\n TOO_MANY_REQUESTS = 429,\n}\n\nexport enum CALL_ERROR_CODE {\n INVALID_STATUS_UPDATE = 111,\n DEVICE_NOT_REGISTERED = 112,\n CALL_NOT_FOUND = 113,\n ERROR_PROCESSING = 114,\n USER_BUSY = 115,\n PARSING_ERROR = 116,\n TIMEOUT_ERROR = 117,\n NOT_ACCEPTABLE = 118,\n CALL_REJECTED = 119,\n NOT_AVAILABLE = 120,\n}\n\nexport enum DEVICE_ERROR_CODE {\n DEVICE_LIMIT_EXCEEDED = 101,\n DEVICE_CREATION_DISABLED = 102,\n DEVICE_CREATION_FAILED = 103,\n}\n\nexport interface ErrorContext extends IMetaContext {}\n\nexport type ErrorObject = {\n message: ErrorMessage;\n type: ERROR_TYPE;\n context: ErrorContext;\n};\n\nexport interface LineErrorObject extends ErrorObject {\n status: RegistrationStatus;\n}\n\nexport interface CallErrorObject extends ErrorObject {\n correlationId: CorrelationId;\n errorLayer: ERROR_LAYER;\n}\n"],"mappings":";;;;;;;AAAA;AAAA,IAKYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAAA,IAKXE,UAAU,GAAAD,OAAA,CAAAC,UAAA,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAAA,
|
|
1
|
+
{"version":3,"names":["ERROR_LAYER","exports","ERROR_TYPE","ERROR_CODE","CALL_ERROR_CODE","DEVICE_ERROR_CODE"],"sources":["types.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-interface */\nimport {CorrelationId, IMetaContext, RegistrationStatus} from '../common/types';\n\nexport type ErrorMessage = string;\n\nexport enum ERROR_LAYER {\n CALL_CONTROL = 'call_control',\n MEDIA = 'media',\n}\n\nexport enum ERROR_TYPE {\n CALL_ERROR = 'call_error',\n DEFAULT = 'default_error',\n BAD_REQUEST = 'bad_request',\n FORBIDDEN_ERROR = 'forbidden',\n NOT_FOUND = 'not_found',\n REGISTRATION_ERROR = 'registration_error',\n SERVICE_UNAVAILABLE = 'service_unavailable',\n SESSION_SUPERSEDED = 'session_superseded',\n TIMEOUT = 'timeout',\n TOKEN_ERROR = 'token_error',\n TOO_MANY_REQUESTS = 'too_many_requests',\n SERVER_ERROR = 'server_error',\n}\n\nexport enum ERROR_CODE {\n UNAUTHORIZED = 401,\n FORBIDDEN = 403,\n DEVICE_NOT_FOUND = 404,\n CONFLICT = 409,\n INTERNAL_SERVER_ERROR = 500,\n NOT_IMPLEMENTED = 501,\n SERVICE_UNAVAILABLE = 503,\n BAD_REQUEST = 400,\n REQUEST_TIMEOUT = 408,\n TOO_MANY_REQUESTS = 429,\n}\n\nexport enum CALL_ERROR_CODE {\n INVALID_STATUS_UPDATE = 111,\n DEVICE_NOT_REGISTERED = 112,\n CALL_NOT_FOUND = 113,\n ERROR_PROCESSING = 114,\n USER_BUSY = 115,\n PARSING_ERROR = 116,\n TIMEOUT_ERROR = 117,\n NOT_ACCEPTABLE = 118,\n CALL_REJECTED = 119,\n NOT_AVAILABLE = 120,\n}\n\nexport enum DEVICE_ERROR_CODE {\n DEVICE_LIMIT_EXCEEDED = 101,\n DEVICE_CREATION_DISABLED = 102,\n DEVICE_CREATION_FAILED = 103,\n}\n\nexport interface ErrorContext extends IMetaContext {}\n\nexport type ErrorObject = {\n message: ErrorMessage;\n type: ERROR_TYPE;\n context: ErrorContext;\n};\n\nexport interface LineErrorObject extends ErrorObject {\n status: RegistrationStatus;\n}\n\nexport interface CallErrorObject extends ErrorObject {\n correlationId: CorrelationId;\n errorLayer: ERROR_LAYER;\n}\n"],"mappings":";;;;;;;AAAA;AAAA,IAKYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAAA,IAKXE,UAAU,GAAAD,OAAA,CAAAC,UAAA,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAAA,IAeVC,UAAU,GAAAF,OAAA,CAAAE,UAAA,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAAA,IAaVC,eAAe,GAAAH,OAAA,CAAAG,eAAA,0BAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAAA,IAafC,iBAAiB,GAAAJ,OAAA,CAAAI,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA","ignoreList":[]}
|
package/dist/Events/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_types","require","_constants","COMMON_EVENT_KEYS","exports","LINE_EVENT_KEYS","CALLING_CLIENT_EVENT_KEYS","CALL_EVENT_KEYS","SUPPLEMENTARY_SERVICES","MOBIUS_MIDCALL_STATE","Disposition","SessionType","MOBIUS_EVENT_KEYS","MEDIA_CONNECTION_EVENT_KEYS","RECORDING_EVENT_TYPE","RECORDING_EVENT_SUBTYPE","CALL_STATE"],"sources":["types.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */ // TODO: remove once we define the payloads\nimport {ILine} from '../api';\nimport {LINE_EVENTS} from '../CallingClient/line/types';\nimport type {ICall} from '../CallingClient/calling/types';\nimport {CallId, DisplayInformation} from '../common/types';\nimport {CallError, CallingClientError, LineError} from '../Errors';\nimport {MOBIUS_SOCKET_DISCONNECT_REASON} from '../CallingClient/utils/constants';\n\nexport {MOBIUS_SOCKET_DISCONNECT_REASON};\n\n/** External Eventing Start */\nexport enum COMMON_EVENT_KEYS {\n CB_VOICEMESSAGE_CONTENT_GET = 'call_back_voicemail_content_get',\n CALL_HISTORY_USER_SESSION_INFO = 'callHistory:user_recent_sessions',\n CALL_HISTORY_USER_VIEWED_SESSIONS = 'callHistory:user_viewed_sessions',\n CALL_HISTORY_USER_SESSIONS_DELETED = 'callHistory:user_sessions_deleted',\n CALL_RECORDING_CREATED = 'callRecording:created',\n CALL_RECORDING_UPDATED = 'callRecording:updated',\n CALL_RECORDING_DELETED = 'callRecording:deleted',\n}\n\nexport enum LINE_EVENT_KEYS {\n INCOMING_CALL = 'incoming_call',\n}\n\nexport enum CALLING_CLIENT_EVENT_KEYS {\n ERROR = 'callingClient:error',\n OUTGOING_CALL = 'callingClient:outgoing_call',\n USER_SESSION_INFO = 'callingClient:user_recent_sessions',\n ALL_CALLS_CLEARED = 'callingClient:all_calls_cleared',\n MOBIUS_SOCKET_CONNECTED = 'callingClient:mobius_socket_connected',\n MOBIUS_SOCKET_DISCONNECTED = 'callingClient:mobius_socket_disconnected',\n}\n\nexport type MobiusSocketDisconnectedEvent = {\n reason: MOBIUS_SOCKET_DISCONNECT_REASON;\n};\n\nexport enum CALL_EVENT_KEYS {\n ALERTING = 'alerting',\n CALL_ERROR = 'call_error',\n CALLER_ID = 'caller_id',\n CONNECT = 'connect',\n DISCONNECT = 'disconnect',\n ESTABLISHED = 'established',\n HELD = 'held',\n HOLD_ERROR = 'hold_error',\n PROGRESS = 'progress',\n REMOTE_MEDIA = 'remote_media',\n RESUME_ERROR = 'resume_error',\n RESUMED = 'resumed',\n TRANSFER_ERROR = 'transfer_error',\n}\n\nexport enum SUPPLEMENTARY_SERVICES {\n HOLD = 'hold',\n RESUME = 'resume',\n DIVERT = 'divert',\n TRANSFER = 'transfer',\n PARK = 'park',\n}\n\nexport enum MOBIUS_MIDCALL_STATE {\n HELD = 'HELD',\n CONNECTED = 'CONNECTED',\n}\n\nexport enum Disposition {\n ANSWERED = 'Answered',\n CANCELED = 'Canceled',\n INITIATED = 'Initiated',\n MISSED = 'MISSED',\n}\n\nexport type CallRecordLink = {\n locusUrl?: string;\n conversationUrl?: string;\n callbackAddress: string;\n};\n\nexport type CallBackInfo = {\n callbackAddress: string;\n callbackType: string;\n};\n\nexport type LookUpInfo = {\n lookupLink: string;\n type: string;\n};\n\nexport type CallRecordSelf = {\n id: string;\n name?: string;\n phoneNumber?: string;\n cucmDN?: string;\n ucmLineNumber?: number;\n};\n\nexport type CallRecordListOther = {\n ownerId?: string;\n id: string;\n name?: string;\n sipUrl?: string;\n primaryDisplayString?: string;\n secondaryDisplayString?: string;\n isPrivate: boolean;\n callbackAddress: string;\n phoneNumber?: string;\n contact?: string;\n email?: string;\n};\n\nexport type RedirectionDetails = {\n phoneNumber?: string;\n sipUrl?: string;\n name?: string;\n reason: string;\n userId?: string;\n isPrivate: boolean;\n};\n\nexport enum SessionType {\n SPARK = 'SPARK',\n WEBEX_CALLING = 'WEBEXCALLING',\n}\n\nexport type UserSession = {\n id: string;\n sessionId: string;\n disposition: Disposition;\n startTime: string;\n endTime: string;\n url: string;\n durationSeconds: number;\n joinedDurationSeconds: number;\n participantCount: number;\n isDeleted: boolean;\n isPMR: boolean;\n correlationIds: string[];\n links: CallRecordLink;\n self: CallRecordSelf;\n durationSecs: number;\n other: CallRecordListOther;\n sessionType: SessionType;\n direction: string;\n callingSpecifics?: {\n redirectionDetails: RedirectionDetails;\n };\n};\n\nexport type CallingParty = {\n name?: string;\n number?: string;\n privacyEnabled?: boolean;\n userId?: string;\n address?: string;\n};\n\nexport type Item = {\n id?: string;\n duration?: number;\n callingParty?: CallingParty;\n urgent?: boolean;\n confidential?: boolean;\n read?: boolean;\n created?: string;\n messageId?: string;\n time?: number;\n};\n\nexport enum MOBIUS_EVENT_KEYS {\n SERVER_EVENT_INCLUSIVE = 'event:mobius',\n CALL_SESSION_EVENT_INCLUSIVE = 'event:janus.user_recent_sessions',\n CALL_SESSION_EVENT_LEGACY = 'event:janus.user_sessions',\n CALL_SESSION_EVENT_VIEWED = 'event:janus.user_viewed_sessions',\n CALL_SESSION_EVENT_DELETED = 'event:janus.user_sessions_deleted',\n RECORDING_EVENT_CREATED = 'event:convergedRecordings.created',\n RECORDING_EVENT_UPDATED = 'event:convergedRecordings.updated',\n RECORDING_EVENT_DELETED = 'event:convergedRecordings.deleted',\n}\n\nexport type CallSessionData = {\n userSessions: {\n userSessions: UserSession[];\n statusCode: number;\n };\n eventType:\n | MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_INCLUSIVE\n | MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_LEGACY;\n};\n\nexport type CallSessionEvent = {\n id: string;\n data: CallSessionData;\n timestamp: number;\n trackingId: string;\n};\n\nexport enum MEDIA_CONNECTION_EVENT_KEYS {\n ROAP_MESSAGE_TO_SEND = 'roap:messageToSend',\n MEDIA_TYPE_AUDIO = 'audio',\n}\n\nexport type CallerIdDisplay = {\n correlationId: string;\n callerId: DisplayInformation;\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 CallEventTypes = {\n [CALL_EVENT_KEYS.CALL_ERROR]: (error: CallError) => void;\n [CALL_EVENT_KEYS.CALLER_ID]: (display: CallerIdDisplay) => void;\n [CALL_EVENT_KEYS.CONNECT]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.DISCONNECT]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.ESTABLISHED]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.HELD]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.HOLD_ERROR]: (error: CallError) => void;\n [LINE_EVENT_KEYS.INCOMING_CALL]: (callObj: ICall) => void;\n [CALL_EVENT_KEYS.PROGRESS]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.REMOTE_MEDIA]: (track: MediaStreamTrack) => void;\n [CALL_EVENT_KEYS.RESUME_ERROR]: (error: CallError) => void;\n [CALL_EVENT_KEYS.RESUMED]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.TRANSFER_ERROR]: (error: CallError) => void;\n [CALLING_CLIENT_EVENT_KEYS.ALL_CALLS_CLEARED]: () => void;\n};\n\nexport type MessageId = {\n messageId: string;\n};\n\nexport type VoicemailEventTypes = {\n [COMMON_EVENT_KEYS.CB_VOICEMESSAGE_CONTENT_GET]: (messageId: MessageId) => void;\n};\n\nexport type CallingClientEventTypes = {\n [CALLING_CLIENT_EVENT_KEYS.ERROR]: (error: CallingClientError) => void;\n [CALLING_CLIENT_EVENT_KEYS.USER_SESSION_INFO]: (event: CallSessionEvent) => void;\n [CALLING_CLIENT_EVENT_KEYS.OUTGOING_CALL]: (callId: string) => void;\n [CALLING_CLIENT_EVENT_KEYS.ALL_CALLS_CLEARED]: () => void;\n [CALLING_CLIENT_EVENT_KEYS.MOBIUS_SOCKET_CONNECTED]: () => void;\n [CALLING_CLIENT_EVENT_KEYS.MOBIUS_SOCKET_DISCONNECTED]: (\n event: MobiusSocketDisconnectedEvent\n ) => void;\n};\n\nexport type CallHistoryEventTypes = {\n [COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSION_INFO]: (event: CallSessionEvent) => void;\n [COMMON_EVENT_KEYS.CALL_HISTORY_USER_VIEWED_SESSIONS]: (event: CallSessionViewedEvent) => void;\n [COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSIONS_DELETED]: (event: CallSessionDeletedEvent) => void;\n};\n\n/**\n * Backend recording Mercury `eventType` values, surfaced on the recording activity envelope.\n */\nexport enum RECORDING_EVENT_TYPE {\n CREATED = 'convergedRecordings.created',\n UPDATED = 'convergedRecordings.updated',\n DELETED = 'convergedRecordings.deleted',\n}\n\n/**\n * Sub-type that qualifies a `convergedRecordings.updated` event. Notably, AI summary/transcript\n * availability is surfaced as an `updated` event with `eventSubType: SUMMARY_CREATE` — there are\n * no separate `transcriptAvailable`/`summaryAvailable` backend events.\n */\nexport enum RECORDING_EVENT_SUBTYPE {\n TRASH = 'TRASH',\n PURGE = 'PURGE',\n RESTORE = 'RESTORE',\n SUMMARY_CREATE = 'SUMMARY_CREATE',\n}\n\nexport type RecordingActor = {\n id?: string;\n objectType?: string;\n emailAddress?: string;\n displayName?: string;\n};\n\nexport type RecordingActivityObject = {\n id: string;\n objectType?: string;\n suiteID?: string;\n callSessionID?: string;\n locationID?: string;\n topic?: string;\n durationSeconds?: number;\n sizeBytes?: number;\n callingActorID?: string;\n calledActorID?: string;\n personality?: string;\n storageRegion?: string;\n playbackUrl?: string;\n published?: string;\n};\n\nexport type RecordingActivity = {\n id?: string;\n objectType?: string;\n verb?: string;\n published?: string;\n actor?: RecordingActor;\n object: RecordingActivityObject;\n};\n\nexport type RecordingEventData = {\n activity: RecordingActivity;\n eventType: RECORDING_EVENT_TYPE;\n eventSubType?: RECORDING_EVENT_SUBTYPE;\n};\n\nexport type RecordingEvent = {\n id?: string;\n data: RecordingEventData;\n timestamp?: number;\n trackingId?: string;\n};\n\nexport type CallRecordingEventTypes = {\n [COMMON_EVENT_KEYS.CALL_RECORDING_CREATED]: (event: RecordingEvent) => void;\n [COMMON_EVENT_KEYS.CALL_RECORDING_UPDATED]: (event: RecordingEvent) => void;\n [COMMON_EVENT_KEYS.CALL_RECORDING_DELETED]: (event: RecordingEvent) => void;\n};\n/* External Eventing End */\n\n/** Internal Eventing Start */\nenum CALL_STATE {\n HELD = 'held',\n REMOTE_HELD = 'remoteheld',\n CONNECTED = 'connected',\n}\n\ntype eventType = string;\n\ntype callProgressData = {\n alerting: boolean;\n inbandROAP: boolean;\n};\n\nexport type CallerIdInfo = {\n 'x-broadworks-remote-party-info'?: string;\n 'p-asserted-identity'?: string;\n from?: string;\n};\n\ntype callId = string;\ntype deviceId = string;\ntype correlationId = string;\ntype callUrl = string;\ntype causecode = number;\ntype cause = string;\n\ntype eventData = {\n callerId: CallerIdInfo;\n callState: CALL_STATE;\n};\n\ntype midCallServiceData = {\n eventType: eventType;\n eventData: eventData;\n};\n\ntype midCallService = Array<midCallServiceData>;\ninterface BaseMessage {\n eventType: eventType;\n correlationId: correlationId;\n deviceId: deviceId;\n callId: callId;\n callUrl: callUrl;\n}\nexport interface CallSetupMessage extends BaseMessage {\n callerId: CallerIdInfo;\n trackingId: string;\n alertType: string;\n}\n\n/** Internal Eventing End */\n\n/** State Machine Events */\n\nexport type CallEvent =\n /* Received Events */\n | {type: 'E_RECV_CALL_SETUP'; data?: unknown}\n | {type: 'E_RECV_CALL_PROGRESS'; data?: unknown}\n | {type: 'E_RECV_CALL_CONNECT'; data?: unknown}\n | {type: 'E_RECV_CALL_DISCONNECT'; data?: unknown}\n\n /* Sent Events */\n | {type: 'E_SEND_CALL_SETUP'; data?: unknown}\n | {type: 'E_SEND_CALL_ALERTING'; data?: unknown}\n | {type: 'E_SEND_CALL_CONNECT'; data?: unknown}\n | {type: 'E_SEND_CALL_DISCONNECT'; data?: unknown}\n\n /* Common Events */\n | {type: 'E_CALL_ESTABLISHED'; data?: unknown}\n | {type: 'E_CALL_INFO'; data?: unknown}\n | {type: 'E_UNKNOWN'; data?: unknown}\n | {type: 'E_CALL_CLEARED'; data?: unknown}\n | {type: 'E_CALL_HOLD'; data?: unknown}\n | {type: 'E_CALL_RESUME'; data?: unknown};\n\n/* ROAP Events */\nexport type RoapEvent =\n | {type: 'E_SEND_ROAP_OFFER'; data?: unknown}\n | {type: 'E_SEND_ROAP_ANSWER'; data?: unknown}\n | {type: 'E_RECV_ROAP_OFFER'; data?: unknown}\n | {type: 'E_RECV_ROAP_ANSWER'; data?: unknown}\n | {type: 'E_ROAP_ERROR'; data?: unknown}\n | {type: 'E_ROAP_OK'; data?: unknown}\n | {type: 'E_RECV_ROAP_OFFER_REQUEST'; data?: unknown} // ROAP request to explicitly ask Client to do OFFER\n | {type: 'E_ROAP_TEARDOWN'; data?: unknown};\n\n// TODO: export RoapMessage type from the media SDK to use here\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface RoapMessage {\n seq: number;\n messageType: 'OFFER' | 'ANSWER' | 'OK' | 'ERROR' | 'OFFER_REQUEST' | 'OFFER_RESPONSE';\n offererSessionId?: string;\n answererSessionId?: string;\n sdp?: string;\n version?: string;\n tieBreaker?: string;\n errorType?: string;\n}\n\nexport interface RoapMessageEvent {\n roapMessage: RoapMessage;\n}\n\nexport type UserReadSessions = {\n sessionId: string;\n};\n\nexport type CallSessionViewedData = {\n userReadSessions: {\n userReadSessions: UserReadSessions[];\n statusCode: number;\n };\n eventType: MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_VIEWED;\n};\n\nexport type CallSessionViewedEvent = {\n id: string;\n data: CallSessionViewedData;\n timestamp: number;\n trackingId: string;\n};\n\nexport type CallSessionDeletedData = {\n deletedSessions: string[];\n eventType: MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_DELETED;\n};\n\nexport type CallSessionDeletedEvent = {\n id: string;\n data: CallSessionDeletedData;\n timestamp: number;\n trackingId: string;\n};\n\nexport type EndTimeSessionId = {\n endTime: string;\n sessionId: string;\n};\n\nexport type SanitizedEndTimeAndSessionId = {\n endTime: number;\n sessionId: string;\n};\n\nexport type UCMLine = {\n dnorpattern: string;\n index: number;\n label: string | null;\n};\n\nexport type UCMDevice = {\n name: string;\n model: number;\n lines: UCMLine[];\n};\n\nexport type UCMLinesApiResponse = {\n devices: UCMDevice[];\n};\n"],"mappings":";;;;;;;;;;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAIA,IAAAC,UAAA,GAAAD,OAAA;AANA;AAAuD;AAUvD;AAAA,IACYE,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAAA,IAUjBE,eAAe,GAAAD,OAAA,CAAAC,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAAA,IAIfC,yBAAyB,GAAAF,OAAA,CAAAE,yBAAA,0BAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA;AAAA,IAazBC,eAAe,GAAAH,OAAA,CAAAG,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAAA,IAgBfC,sBAAsB,GAAAJ,OAAA,CAAAI,sBAAA,0BAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAA,OAAtBA,sBAAsB;AAAA;AAAA,IAQtBC,oBAAoB,GAAAL,OAAA,CAAAK,oBAAA,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAAA,IAKpBC,WAAW,GAAAN,OAAA,CAAAM,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAAA,IAsDXC,WAAW,GAAAP,OAAA,CAAAO,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAAA,IAiDXC,iBAAiB,GAAAR,OAAA,CAAAQ,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAAA,IA4BjBC,2BAA2B,GAAAT,OAAA,CAAAS,2BAAA,0BAA3BA,2BAA2B;EAA3BA,2BAA2B;EAA3BA,2BAA2B;EAAA,OAA3BA,2BAA2B;AAAA;AA8DvC;AACA;AACA;AAFA,IAGYC,oBAAoB,GAAAV,OAAA,CAAAU,oBAAA,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAMhC;AACA;AACA;AACA;AACA;AAJA,IAKYC,uBAAuB,GAAAX,OAAA,CAAAW,uBAAA,0BAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAA,OAAvBA,uBAAuB;AAAA;AA0DnC;AAEA;AAAA,IACKC,UAAU,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA,EAAVA,UAAU;AAkDf;AAEA;AAuBA;AAWA;AACA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_types","require","_constants","COMMON_EVENT_KEYS","exports","LINE_EVENT_KEYS","CALLING_CLIENT_EVENT_KEYS","CALL_EVENT_KEYS","SUPPLEMENTARY_SERVICES","MOBIUS_MIDCALL_STATE","Disposition","SessionType","MOBIUS_EVENT_KEYS","MEDIA_CONNECTION_EVENT_KEYS","RECORDING_EVENT_TYPE","RECORDING_EVENT_SUBTYPE","CALL_STATE"],"sources":["types.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */ // TODO: remove once we define the payloads\nimport {ILine} from '../api';\nimport {LINE_EVENTS} from '../CallingClient/line/types';\nimport type {ICall} from '../CallingClient/calling/types';\nimport {CallId, DisplayInformation} from '../common/types';\nimport {CallError, CallingClientError, LineError} from '../Errors';\nimport {MOBIUS_SOCKET_DISCONNECT_REASON} from '../CallingClient/utils/constants';\n\nexport {MOBIUS_SOCKET_DISCONNECT_REASON};\n\n/** External Eventing Start */\nexport enum COMMON_EVENT_KEYS {\n CB_VOICEMESSAGE_CONTENT_GET = 'call_back_voicemail_content_get',\n CALL_HISTORY_USER_SESSION_INFO = 'callHistory:user_recent_sessions',\n CALL_HISTORY_USER_VIEWED_SESSIONS = 'callHistory:user_viewed_sessions',\n CALL_HISTORY_USER_SESSIONS_DELETED = 'callHistory:user_sessions_deleted',\n CALL_RECORDING_CREATED = 'callRecording:created',\n CALL_RECORDING_UPDATED = 'callRecording:updated',\n CALL_RECORDING_DELETED = 'callRecording:deleted',\n}\n\nexport enum LINE_EVENT_KEYS {\n INCOMING_CALL = 'incoming_call',\n}\n\nexport enum CALLING_CLIENT_EVENT_KEYS {\n ERROR = 'callingClient:error',\n OUTGOING_CALL = 'callingClient:outgoing_call',\n USER_SESSION_INFO = 'callingClient:user_recent_sessions',\n ALL_CALLS_CLEARED = 'callingClient:all_calls_cleared',\n MOBIUS_SOCKET_CONNECTED = 'callingClient:mobius_socket_connected',\n MOBIUS_SOCKET_DISCONNECTED = 'callingClient:mobius_socket_disconnected',\n}\n\nexport type MobiusSocketDisconnectedEvent = {\n reason: MOBIUS_SOCKET_DISCONNECT_REASON;\n};\n\nexport enum CALL_EVENT_KEYS {\n ALERTING = 'alerting',\n CALL_ERROR = 'call_error',\n CALLER_ID = 'caller_id',\n CONNECT = 'connect',\n DISCONNECT = 'disconnect',\n ESTABLISHED = 'established',\n HELD = 'held',\n HOLD_ERROR = 'hold_error',\n PROGRESS = 'progress',\n REMOTE_MEDIA = 'remote_media',\n RESUME_ERROR = 'resume_error',\n RESUMED = 'resumed',\n TRANSFER_ERROR = 'transfer_error',\n}\n\nexport enum SUPPLEMENTARY_SERVICES {\n HOLD = 'hold',\n RESUME = 'resume',\n DIVERT = 'divert',\n TRANSFER = 'transfer',\n PARK = 'park',\n}\n\nexport enum MOBIUS_MIDCALL_STATE {\n HELD = 'HELD',\n CONNECTED = 'CONNECTED',\n}\n\nexport enum Disposition {\n ANSWERED = 'Answered',\n CANCELED = 'Canceled',\n INITIATED = 'Initiated',\n MISSED = 'MISSED',\n}\n\nexport type CallRecordLink = {\n locusUrl?: string;\n conversationUrl?: string;\n callbackAddress: string;\n};\n\nexport type CallBackInfo = {\n callbackAddress: string;\n callbackType: string;\n};\n\nexport type LookUpInfo = {\n lookupLink: string;\n type: string;\n};\n\nexport type CallRecordSelf = {\n id: string;\n name?: string;\n phoneNumber?: string;\n cucmDN?: string;\n ucmLineNumber?: number;\n};\n\nexport type CallRecordListOther = {\n ownerId?: string;\n id: string;\n name?: string;\n sipUrl?: string;\n primaryDisplayString?: string;\n secondaryDisplayString?: string;\n isPrivate: boolean;\n callbackAddress: string;\n phoneNumber?: string;\n contact?: string;\n email?: string;\n};\n\nexport type RedirectionDetails = {\n phoneNumber?: string;\n sipUrl?: string;\n name?: string;\n reason: string;\n userId?: string;\n isPrivate: boolean;\n};\n\nexport enum SessionType {\n SPARK = 'SPARK',\n WEBEX_CALLING = 'WEBEXCALLING',\n}\n\nexport type UserSession = {\n id: string;\n sessionId: string;\n disposition: Disposition;\n startTime: string;\n endTime: string;\n url: string;\n durationSeconds: number;\n joinedDurationSeconds: number;\n participantCount: number;\n isDeleted: boolean;\n isPMR: boolean;\n correlationIds: string[];\n links: CallRecordLink;\n self: CallRecordSelf;\n durationSecs: number;\n other: CallRecordListOther;\n sessionType: SessionType;\n direction: string;\n callingSpecifics?: {\n redirectionDetails: RedirectionDetails;\n };\n};\n\nexport type CallingParty = {\n name?: string;\n number?: string;\n privacyEnabled?: boolean;\n userId?: string;\n address?: string;\n};\n\nexport type Item = {\n id?: string;\n duration?: number;\n callingParty?: CallingParty;\n urgent?: boolean;\n confidential?: boolean;\n read?: boolean;\n created?: string;\n messageId?: string;\n time?: number;\n};\n\nexport enum MOBIUS_EVENT_KEYS {\n SERVER_EVENT_INCLUSIVE = 'event:mobius',\n CALL_SESSION_EVENT_INCLUSIVE = 'event:janus.user_recent_sessions',\n CALL_SESSION_EVENT_LEGACY = 'event:janus.user_sessions',\n CALL_SESSION_EVENT_VIEWED = 'event:janus.user_viewed_sessions',\n CALL_SESSION_EVENT_DELETED = 'event:janus.user_sessions_deleted',\n RECORDING_EVENT_CREATED = 'event:convergedRecordings.created',\n RECORDING_EVENT_UPDATED = 'event:convergedRecordings.updated',\n RECORDING_EVENT_DELETED = 'event:convergedRecordings.deleted',\n}\n\nexport type CallSessionData = {\n userSessions: {\n userSessions: UserSession[];\n statusCode: number;\n };\n eventType:\n | MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_INCLUSIVE\n | MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_LEGACY;\n};\n\nexport type CallSessionEvent = {\n id: string;\n data: CallSessionData;\n timestamp: number;\n trackingId: string;\n};\n\nexport enum MEDIA_CONNECTION_EVENT_KEYS {\n ROAP_MESSAGE_TO_SEND = 'roap:messageToSend',\n MEDIA_TYPE_AUDIO = 'audio',\n}\n\nexport type CallerIdDisplay = {\n correlationId: string;\n callerId: DisplayInformation;\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 /**\n * Emitted whenever the line is no longer registered.\n *\n * `error` is present only when the SDK knows why the registration ended and will not\n * re-establish it. Today that is a session superseded by another registration for the\n * same user, for example calling opened in a second browser tab, reported as\n * `ERROR_TYPE.SESSION_SUPERSEDED`.\n */\n [LINE_EVENTS.UNREGISTERED]: (error?: LineError) => void;\n [LINE_EVENTS.INCOMING_CALL]: (callObj: ICall) => void;\n};\n\nexport type CallEventTypes = {\n [CALL_EVENT_KEYS.CALL_ERROR]: (error: CallError) => void;\n [CALL_EVENT_KEYS.CALLER_ID]: (display: CallerIdDisplay) => void;\n [CALL_EVENT_KEYS.CONNECT]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.DISCONNECT]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.ESTABLISHED]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.HELD]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.HOLD_ERROR]: (error: CallError) => void;\n [LINE_EVENT_KEYS.INCOMING_CALL]: (callObj: ICall) => void;\n [CALL_EVENT_KEYS.PROGRESS]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.REMOTE_MEDIA]: (track: MediaStreamTrack) => void;\n [CALL_EVENT_KEYS.RESUME_ERROR]: (error: CallError) => void;\n [CALL_EVENT_KEYS.RESUMED]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.TRANSFER_ERROR]: (error: CallError) => void;\n [CALLING_CLIENT_EVENT_KEYS.ALL_CALLS_CLEARED]: () => void;\n};\n\nexport type MessageId = {\n messageId: string;\n};\n\nexport type VoicemailEventTypes = {\n [COMMON_EVENT_KEYS.CB_VOICEMESSAGE_CONTENT_GET]: (messageId: MessageId) => void;\n};\n\nexport type CallingClientEventTypes = {\n [CALLING_CLIENT_EVENT_KEYS.ERROR]: (error: CallingClientError) => void;\n [CALLING_CLIENT_EVENT_KEYS.USER_SESSION_INFO]: (event: CallSessionEvent) => void;\n [CALLING_CLIENT_EVENT_KEYS.OUTGOING_CALL]: (callId: string) => void;\n [CALLING_CLIENT_EVENT_KEYS.ALL_CALLS_CLEARED]: () => void;\n [CALLING_CLIENT_EVENT_KEYS.MOBIUS_SOCKET_CONNECTED]: () => void;\n [CALLING_CLIENT_EVENT_KEYS.MOBIUS_SOCKET_DISCONNECTED]: (\n event: MobiusSocketDisconnectedEvent\n ) => void;\n};\n\nexport type CallHistoryEventTypes = {\n [COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSION_INFO]: (event: CallSessionEvent) => void;\n [COMMON_EVENT_KEYS.CALL_HISTORY_USER_VIEWED_SESSIONS]: (event: CallSessionViewedEvent) => void;\n [COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSIONS_DELETED]: (event: CallSessionDeletedEvent) => void;\n};\n\n/**\n * Backend recording Mercury `eventType` values, surfaced on the recording activity envelope.\n */\nexport enum RECORDING_EVENT_TYPE {\n CREATED = 'convergedRecordings.created',\n UPDATED = 'convergedRecordings.updated',\n DELETED = 'convergedRecordings.deleted',\n}\n\n/**\n * Sub-type that qualifies a `convergedRecordings.updated` event. Notably, AI summary/transcript\n * availability is surfaced as an `updated` event with `eventSubType: SUMMARY_CREATE` — there are\n * no separate `transcriptAvailable`/`summaryAvailable` backend events.\n */\nexport enum RECORDING_EVENT_SUBTYPE {\n TRASH = 'TRASH',\n PURGE = 'PURGE',\n RESTORE = 'RESTORE',\n SUMMARY_CREATE = 'SUMMARY_CREATE',\n}\n\nexport type RecordingActor = {\n id?: string;\n objectType?: string;\n emailAddress?: string;\n displayName?: string;\n};\n\nexport type RecordingActivityObject = {\n id: string;\n objectType?: string;\n suiteID?: string;\n callSessionID?: string;\n locationID?: string;\n topic?: string;\n durationSeconds?: number;\n sizeBytes?: number;\n callingActorID?: string;\n calledActorID?: string;\n personality?: string;\n storageRegion?: string;\n playbackUrl?: string;\n published?: string;\n};\n\nexport type RecordingActivity = {\n id?: string;\n objectType?: string;\n verb?: string;\n published?: string;\n actor?: RecordingActor;\n object: RecordingActivityObject;\n};\n\nexport type RecordingEventData = {\n activity: RecordingActivity;\n eventType: RECORDING_EVENT_TYPE;\n eventSubType?: RECORDING_EVENT_SUBTYPE;\n};\n\nexport type RecordingEvent = {\n id?: string;\n data: RecordingEventData;\n timestamp?: number;\n trackingId?: string;\n};\n\nexport type CallRecordingEventTypes = {\n [COMMON_EVENT_KEYS.CALL_RECORDING_CREATED]: (event: RecordingEvent) => void;\n [COMMON_EVENT_KEYS.CALL_RECORDING_UPDATED]: (event: RecordingEvent) => void;\n [COMMON_EVENT_KEYS.CALL_RECORDING_DELETED]: (event: RecordingEvent) => void;\n};\n/* External Eventing End */\n\n/** Internal Eventing Start */\nenum CALL_STATE {\n HELD = 'held',\n REMOTE_HELD = 'remoteheld',\n CONNECTED = 'connected',\n}\n\ntype eventType = string;\n\ntype callProgressData = {\n alerting: boolean;\n inbandROAP: boolean;\n};\n\nexport type CallerIdInfo = {\n 'x-broadworks-remote-party-info'?: string;\n 'p-asserted-identity'?: string;\n from?: string;\n};\n\ntype callId = string;\ntype deviceId = string;\ntype correlationId = string;\ntype callUrl = string;\ntype causecode = number;\ntype cause = string;\n\ntype eventData = {\n callerId: CallerIdInfo;\n callState: CALL_STATE;\n};\n\ntype midCallServiceData = {\n eventType: eventType;\n eventData: eventData;\n};\n\ntype midCallService = Array<midCallServiceData>;\ninterface BaseMessage {\n eventType: eventType;\n correlationId: correlationId;\n deviceId: deviceId;\n callId: callId;\n callUrl: callUrl;\n}\nexport interface CallSetupMessage extends BaseMessage {\n callerId: CallerIdInfo;\n trackingId: string;\n alertType: string;\n}\n\n/** Internal Eventing End */\n\n/** State Machine Events */\n\nexport type CallEvent =\n /* Received Events */\n | {type: 'E_RECV_CALL_SETUP'; data?: unknown}\n | {type: 'E_RECV_CALL_PROGRESS'; data?: unknown}\n | {type: 'E_RECV_CALL_CONNECT'; data?: unknown}\n | {type: 'E_RECV_CALL_DISCONNECT'; data?: unknown}\n\n /* Sent Events */\n | {type: 'E_SEND_CALL_SETUP'; data?: unknown}\n | {type: 'E_SEND_CALL_ALERTING'; data?: unknown}\n | {type: 'E_SEND_CALL_CONNECT'; data?: unknown}\n | {type: 'E_SEND_CALL_DISCONNECT'; data?: unknown}\n\n /* Common Events */\n | {type: 'E_CALL_ESTABLISHED'; data?: unknown}\n | {type: 'E_CALL_INFO'; data?: unknown}\n | {type: 'E_UNKNOWN'; data?: unknown}\n | {type: 'E_CALL_CLEARED'; data?: unknown}\n | {type: 'E_CALL_HOLD'; data?: unknown}\n | {type: 'E_CALL_RESUME'; data?: unknown};\n\n/* ROAP Events */\nexport type RoapEvent =\n | {type: 'E_SEND_ROAP_OFFER'; data?: unknown}\n | {type: 'E_SEND_ROAP_ANSWER'; data?: unknown}\n | {type: 'E_RECV_ROAP_OFFER'; data?: unknown}\n | {type: 'E_RECV_ROAP_ANSWER'; data?: unknown}\n | {type: 'E_ROAP_ERROR'; data?: unknown}\n | {type: 'E_ROAP_OK'; data?: unknown}\n | {type: 'E_RECV_ROAP_OFFER_REQUEST'; data?: unknown} // ROAP request to explicitly ask Client to do OFFER\n | {type: 'E_ROAP_TEARDOWN'; data?: unknown};\n\n// TODO: export RoapMessage type from the media SDK to use here\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface RoapMessage {\n seq: number;\n messageType: 'OFFER' | 'ANSWER' | 'OK' | 'ERROR' | 'OFFER_REQUEST' | 'OFFER_RESPONSE';\n offererSessionId?: string;\n answererSessionId?: string;\n sdp?: string;\n version?: string;\n tieBreaker?: string;\n errorType?: string;\n}\n\nexport interface RoapMessageEvent {\n roapMessage: RoapMessage;\n}\n\nexport type UserReadSessions = {\n sessionId: string;\n};\n\nexport type CallSessionViewedData = {\n userReadSessions: {\n userReadSessions: UserReadSessions[];\n statusCode: number;\n };\n eventType: MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_VIEWED;\n};\n\nexport type CallSessionViewedEvent = {\n id: string;\n data: CallSessionViewedData;\n timestamp: number;\n trackingId: string;\n};\n\nexport type CallSessionDeletedData = {\n deletedSessions: string[];\n eventType: MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_DELETED;\n};\n\nexport type CallSessionDeletedEvent = {\n id: string;\n data: CallSessionDeletedData;\n timestamp: number;\n trackingId: string;\n};\n\nexport type EndTimeSessionId = {\n endTime: string;\n sessionId: string;\n};\n\nexport type SanitizedEndTimeAndSessionId = {\n endTime: number;\n sessionId: string;\n};\n\nexport type UCMLine = {\n dnorpattern: string;\n index: number;\n label: string | null;\n};\n\nexport type UCMDevice = {\n name: string;\n model: number;\n lines: UCMLine[];\n};\n\nexport type UCMLinesApiResponse = {\n devices: UCMDevice[];\n};\n"],"mappings":";;;;;;;;;;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAIA,IAAAC,UAAA,GAAAD,OAAA;AANA;AAAuD;AAUvD;AAAA,IACYE,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAAA,IAUjBE,eAAe,GAAAD,OAAA,CAAAC,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAAA,IAIfC,yBAAyB,GAAAF,OAAA,CAAAE,yBAAA,0BAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA;AAAA,IAazBC,eAAe,GAAAH,OAAA,CAAAG,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAAA,IAgBfC,sBAAsB,GAAAJ,OAAA,CAAAI,sBAAA,0BAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAA,OAAtBA,sBAAsB;AAAA;AAAA,IAQtBC,oBAAoB,GAAAL,OAAA,CAAAK,oBAAA,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAAA,IAKpBC,WAAW,GAAAN,OAAA,CAAAM,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAAA,IAsDXC,WAAW,GAAAP,OAAA,CAAAO,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAAA,IAiDXC,iBAAiB,GAAAR,OAAA,CAAAQ,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAAA,IA4BjBC,2BAA2B,GAAAT,OAAA,CAAAS,2BAAA,0BAA3BA,2BAA2B;EAA3BA,2BAA2B;EAA3BA,2BAA2B;EAAA,OAA3BA,2BAA2B;AAAA;AAsEvC;AACA;AACA;AAFA,IAGYC,oBAAoB,GAAAV,OAAA,CAAAU,oBAAA,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAMhC;AACA;AACA;AACA;AACA;AAJA,IAKYC,uBAAuB,GAAAX,OAAA,CAAAW,uBAAA,0BAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAA,OAAvBA,uBAAuB;AAAA;AA0DnC;AAEA;AAAA,IACKC,UAAU,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA,EAAVA,UAAU;AAkDf;AAEA;AAuBA;AAWA;AACA","ignoreList":[]}
|
package/dist/common/Utils.js
CHANGED
|
@@ -260,7 +260,9 @@ function emitFinalFailure(emitterCb, loggerContext, message) {
|
|
|
260
260
|
* @param err - Error body.
|
|
261
261
|
* @param emitterCb - LineErrorEmitterCallback
|
|
262
262
|
* @param loggerContext - Logging context that has method and file name
|
|
263
|
-
* @param
|
|
263
|
+
* @param handlers - Specialized per-status-code handlers the caller opts into, as
|
|
264
|
+
* {@link RegistrationErrorHandlers}.
|
|
265
|
+
* @param serverCount - Number of servers in the list.
|
|
264
266
|
*
|
|
265
267
|
* In emitterCb,
|
|
266
268
|
* For non final error scenarios in registration flow,
|
|
@@ -271,7 +273,7 @@ function emitFinalFailure(emitterCb, loggerContext, message) {
|
|
|
271
273
|
* be scheduled to attempt registration again.
|
|
272
274
|
*
|
|
273
275
|
*/
|
|
274
|
-
function handleRegistrationErrors(_x, _x2, _x3
|
|
276
|
+
function handleRegistrationErrors(_x, _x2, _x3) {
|
|
275
277
|
return _handleRegistrationErrors.apply(this, arguments);
|
|
276
278
|
}
|
|
277
279
|
/**
|
|
@@ -282,12 +284,18 @@ function handleRegistrationErrors(_x, _x2, _x3, _x4, _x5) {
|
|
|
282
284
|
* @param restoreRegCb - Callback which will try restoring resgistration in case of 403
|
|
283
285
|
*/
|
|
284
286
|
function _handleRegistrationErrors() {
|
|
285
|
-
_handleRegistrationErrors = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(err, emitterCb, loggerContext
|
|
286
|
-
var
|
|
287
|
+
_handleRegistrationErrors = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(err, emitterCb, loggerContext) {
|
|
288
|
+
var handlers,
|
|
289
|
+
serverCount,
|
|
290
|
+
retry429Cb,
|
|
291
|
+
restoreRegCb,
|
|
292
|
+
sessionSupersededCb,
|
|
287
293
|
shouldDisconnect,
|
|
294
|
+
handledByCallback,
|
|
288
295
|
lineError,
|
|
289
296
|
errorCode,
|
|
290
297
|
finalError,
|
|
298
|
+
handleUnknownError,
|
|
291
299
|
caller,
|
|
292
300
|
retryAfter,
|
|
293
301
|
errorBody,
|
|
@@ -303,14 +311,25 @@ function _handleRegistrationErrors() {
|
|
|
303
311
|
return _regenerator.default.wrap(function (_context) {
|
|
304
312
|
while (1) switch (_context.prev = _context.next) {
|
|
305
313
|
case 0:
|
|
306
|
-
|
|
314
|
+
handlers = _args.length > 3 && _args[3] !== undefined ? _args[3] : {};
|
|
315
|
+
serverCount = _args.length > 4 && _args[4] !== undefined ? _args[4] : 1;
|
|
316
|
+
retry429Cb = handlers.retry429Cb, restoreRegCb = handlers.restoreRegCb, sessionSupersededCb = handlers.sessionSupersededCb;
|
|
307
317
|
shouldDisconnect = false;
|
|
318
|
+
handledByCallback = false;
|
|
308
319
|
lineError = (0, _LineError.createLineError)('', {}, _types2.ERROR_TYPE.DEFAULT, _types3.RegistrationStatus.INACTIVE);
|
|
309
320
|
errorCode = Number(err.statusCode);
|
|
310
321
|
finalError = false;
|
|
322
|
+
/* Treatment for a status code this handler has no specific rule for: notify the
|
|
323
|
+
* consumer and leave the retry decision to the caller. */
|
|
324
|
+
handleUnknownError = function handleUnknownError() {
|
|
325
|
+
updateLineErrorContext(loggerContext, _types2.ERROR_TYPE.DEFAULT, 'Unknown error', _types3.RegistrationStatus.INACTIVE, lineError);
|
|
326
|
+
_Logger.default.warn("Unknown Error", loggerContext);
|
|
327
|
+
emitterCb(lineError, finalError);
|
|
328
|
+
shouldDisconnect = serverCount > 1;
|
|
329
|
+
};
|
|
311
330
|
_Logger.default.warn("Status code: -> ".concat(errorCode), loggerContext);
|
|
312
331
|
_t = errorCode;
|
|
313
|
-
_context.next = _t === _types2.ERROR_CODE.BAD_REQUEST ? 1 : _t === _types2.ERROR_CODE.UNAUTHORIZED ? 2 : _t === _types2.ERROR_CODE.DEVICE_NOT_FOUND ? 3 : _t === _types2.ERROR_CODE.
|
|
332
|
+
_context.next = _t === _types2.ERROR_CODE.BAD_REQUEST ? 1 : _t === _types2.ERROR_CODE.UNAUTHORIZED ? 2 : _t === _types2.ERROR_CODE.DEVICE_NOT_FOUND ? 3 : _t === _types2.ERROR_CODE.CONFLICT ? 4 : _t === _types2.ERROR_CODE.TOO_MANY_REQUESTS ? 7 : _t === _types2.ERROR_CODE.INTERNAL_SERVER_ERROR ? 9 : _t === _types2.ERROR_CODE.SERVICE_UNAVAILABLE ? 10 : _t === _types2.ERROR_CODE.FORBIDDEN ? 11 : 19;
|
|
314
333
|
break;
|
|
315
334
|
case 1:
|
|
316
335
|
finalError = true;
|
|
@@ -318,7 +337,7 @@ function _handleRegistrationErrors() {
|
|
|
318
337
|
updateLineErrorContext(loggerContext, _types2.ERROR_TYPE.BAD_REQUEST, 'Invalid input. Please verify the required parameters, sign out and then sign back in with the valid data', _types3.RegistrationStatus.INACTIVE, lineError);
|
|
319
338
|
emitterCb(lineError, finalError);
|
|
320
339
|
shouldDisconnect = serverCount > 1;
|
|
321
|
-
return _context.abrupt("continue",
|
|
340
|
+
return _context.abrupt("continue", 20);
|
|
322
341
|
case 2:
|
|
323
342
|
// Return it to the Caller
|
|
324
343
|
finalError = true;
|
|
@@ -326,45 +345,62 @@ function _handleRegistrationErrors() {
|
|
|
326
345
|
updateLineErrorContext(loggerContext, _types2.ERROR_TYPE.TOKEN_ERROR, 'User is unauthorized due to an expired token. Sign out, then sign back in.', _types3.RegistrationStatus.INACTIVE, lineError);
|
|
327
346
|
emitterCb(lineError, finalError);
|
|
328
347
|
shouldDisconnect = serverCount > 1;
|
|
329
|
-
return _context.abrupt("continue",
|
|
348
|
+
return _context.abrupt("continue", 20);
|
|
330
349
|
case 3:
|
|
331
350
|
finalError = true;
|
|
332
351
|
_Logger.default.warn("404 Device Not Found", loggerContext);
|
|
333
352
|
updateLineErrorContext(loggerContext, _types2.ERROR_TYPE.NOT_FOUND, 'Webex Calling is unable to find your device. Sign out, then sign back in', _types3.RegistrationStatus.INACTIVE, lineError);
|
|
334
353
|
emitterCb(lineError, finalError);
|
|
335
354
|
shouldDisconnect = serverCount > 1;
|
|
336
|
-
return _context.abrupt("continue",
|
|
355
|
+
return _context.abrupt("continue", 20);
|
|
337
356
|
case 4:
|
|
357
|
+
if (sessionSupersededCb) {
|
|
358
|
+
_context.next = 5;
|
|
359
|
+
break;
|
|
360
|
+
}
|
|
361
|
+
handleUnknownError();
|
|
362
|
+
return _context.abrupt("continue", 20);
|
|
363
|
+
case 5:
|
|
364
|
+
finalError = true;
|
|
365
|
+
handledByCallback = true;
|
|
366
|
+
_Logger.default.warn("409 Conflict: session superseded by another device for this user", loggerContext);
|
|
367
|
+
updateLineErrorContext(loggerContext, _types2.ERROR_TYPE.SESSION_SUPERSEDED, _constants.SESSION_SUPERSEDED_MESSAGE, _types3.RegistrationStatus.INACTIVE, lineError);
|
|
368
|
+
_context.next = 6;
|
|
369
|
+
return sessionSupersededCb(lineError);
|
|
370
|
+
case 6:
|
|
371
|
+
shouldDisconnect = false;
|
|
372
|
+
return _context.abrupt("continue", 20);
|
|
373
|
+
case 7:
|
|
338
374
|
_Logger.default.warn("429 Too Many Requests", loggerContext);
|
|
339
375
|
updateLineErrorContext(loggerContext, _types2.ERROR_TYPE.TOO_MANY_REQUESTS, 'Server is handling too many request at the time. Wait a moment and try again', _types3.RegistrationStatus.INACTIVE, lineError);
|
|
340
376
|
caller = loggerContext.method || 'handleErrors';
|
|
341
377
|
if (!(retry429Cb && err.headers)) {
|
|
342
|
-
_context.next =
|
|
378
|
+
_context.next = 8;
|
|
343
379
|
break;
|
|
344
380
|
}
|
|
345
381
|
retryAfter = Number(err.headers['retry-after']);
|
|
346
|
-
_context.next =
|
|
382
|
+
_context.next = 8;
|
|
347
383
|
return retry429Cb(retryAfter, caller);
|
|
348
|
-
case
|
|
384
|
+
case 8:
|
|
349
385
|
shouldDisconnect = false;
|
|
350
|
-
return _context.abrupt("continue",
|
|
351
|
-
case
|
|
386
|
+
return _context.abrupt("continue", 20);
|
|
387
|
+
case 9:
|
|
352
388
|
_Logger.default.warn("500 Internal Server Error", loggerContext);
|
|
353
389
|
updateLineErrorContext(loggerContext, _types2.ERROR_TYPE.SERVER_ERROR, 'An unknown error occurred while placing the request. Wait a moment and try again.', _types3.RegistrationStatus.INACTIVE, lineError);
|
|
354
390
|
emitterCb(lineError, finalError);
|
|
355
391
|
shouldDisconnect = serverCount > 1;
|
|
356
|
-
return _context.abrupt("continue",
|
|
357
|
-
case
|
|
392
|
+
return _context.abrupt("continue", 20);
|
|
393
|
+
case 10:
|
|
358
394
|
_Logger.default.warn("503 Service Unavailable", loggerContext);
|
|
359
395
|
updateLineErrorContext(loggerContext, _types2.ERROR_TYPE.SERVICE_UNAVAILABLE, 'An error occurred on the server while processing the request. Wait a moment and try again.', _types3.RegistrationStatus.INACTIVE, lineError);
|
|
360
396
|
emitterCb(lineError, finalError);
|
|
361
397
|
shouldDisconnect = serverCount > 1;
|
|
362
|
-
return _context.abrupt("continue",
|
|
363
|
-
case
|
|
398
|
+
return _context.abrupt("continue", 20);
|
|
399
|
+
case 11:
|
|
364
400
|
_Logger.default.warn("403 Forbidden", loggerContext);
|
|
365
401
|
errorBody = err.body;
|
|
366
402
|
if (errorBody) {
|
|
367
|
-
_context.next =
|
|
403
|
+
_context.next = 12;
|
|
368
404
|
break;
|
|
369
405
|
}
|
|
370
406
|
_Logger.default.warn('Error response has no body, throwing default error', loggerContext);
|
|
@@ -373,61 +409,60 @@ function _handleRegistrationErrors() {
|
|
|
373
409
|
shouldDisconnect = serverCount > 1;
|
|
374
410
|
return _context.abrupt("return", {
|
|
375
411
|
finalError: finalError,
|
|
376
|
-
shouldDisconnect: shouldDisconnect
|
|
412
|
+
shouldDisconnect: shouldDisconnect,
|
|
413
|
+
handledByCallback: handledByCallback
|
|
377
414
|
});
|
|
378
|
-
case
|
|
415
|
+
case 12:
|
|
379
416
|
code = Number(errorBody.errorCode);
|
|
380
417
|
_Logger.default.warn("Error code found : ".concat(code), loggerContext);
|
|
381
418
|
_t2 = code;
|
|
382
|
-
_context.next = _t2 === _types2.DEVICE_ERROR_CODE.DEVICE_LIMIT_EXCEEDED ?
|
|
419
|
+
_context.next = _t2 === _types2.DEVICE_ERROR_CODE.DEVICE_LIMIT_EXCEEDED ? 13 : _t2 === _types2.DEVICE_ERROR_CODE.DEVICE_CREATION_DISABLED ? 15 : _t2 === _types2.DEVICE_ERROR_CODE.DEVICE_CREATION_FAILED ? 16 : 17;
|
|
383
420
|
break;
|
|
384
|
-
case
|
|
421
|
+
case 13:
|
|
385
422
|
errorMessage = 'User device limit exceeded';
|
|
386
423
|
_Logger.default.warn(errorMessage, loggerContext);
|
|
387
424
|
if (!restoreRegCb) {
|
|
388
|
-
_context.next =
|
|
425
|
+
_context.next = 14;
|
|
389
426
|
break;
|
|
390
427
|
}
|
|
391
428
|
_caller = loggerContext.method || 'handleErrors';
|
|
392
|
-
_context.next =
|
|
429
|
+
_context.next = 14;
|
|
393
430
|
return restoreRegCb(errorBody, _caller);
|
|
394
|
-
case
|
|
431
|
+
case 14:
|
|
395
432
|
shouldDisconnect = false;
|
|
396
|
-
return _context.abrupt("continue",
|
|
397
|
-
case
|
|
433
|
+
return _context.abrupt("continue", 18);
|
|
434
|
+
case 15:
|
|
398
435
|
_errorMessage = 'User is not configured for WebRTC calling. Please contact the administrator to resolve this issue.';
|
|
399
436
|
finalError = true;
|
|
400
437
|
updateLineErrorContext(loggerContext, _types2.ERROR_TYPE.FORBIDDEN_ERROR, _errorMessage, _types3.RegistrationStatus.INACTIVE, lineError);
|
|
401
438
|
_Logger.default.warn(_errorMessage, loggerContext);
|
|
402
439
|
emitterCb(lineError, true);
|
|
403
440
|
shouldDisconnect = true;
|
|
404
|
-
return _context.abrupt("continue",
|
|
405
|
-
case
|
|
441
|
+
return _context.abrupt("continue", 18);
|
|
442
|
+
case 16:
|
|
406
443
|
_errorMessage2 = 'An unknown error occurred while provisioning the device. Wait a moment and try again.';
|
|
407
444
|
updateLineErrorContext(loggerContext, _types2.ERROR_TYPE.FORBIDDEN_ERROR, _errorMessage2, _types3.RegistrationStatus.INACTIVE, lineError);
|
|
408
445
|
_Logger.default.warn(_errorMessage2, loggerContext);
|
|
409
446
|
emitterCb(lineError, finalError);
|
|
410
447
|
shouldDisconnect = serverCount > 1;
|
|
411
|
-
return _context.abrupt("continue",
|
|
412
|
-
case
|
|
448
|
+
return _context.abrupt("continue", 18);
|
|
449
|
+
case 17:
|
|
413
450
|
_errorMessage3 = 'An unknown error occurred. Wait a moment and try again. Please contact the administrator if the problem persists.';
|
|
414
451
|
updateLineErrorContext(loggerContext, _types2.ERROR_TYPE.FORBIDDEN_ERROR, _errorMessage3, _types3.RegistrationStatus.INACTIVE, lineError);
|
|
415
452
|
_Logger.default.warn(_errorMessage3, loggerContext);
|
|
416
453
|
emitterCb(lineError, finalError);
|
|
417
454
|
shouldDisconnect = serverCount > 1;
|
|
418
|
-
case
|
|
419
|
-
return _context.abrupt("continue",
|
|
420
|
-
case
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
emitterCb(lineError, finalError);
|
|
424
|
-
shouldDisconnect = serverCount > 1;
|
|
425
|
-
case 17:
|
|
455
|
+
case 18:
|
|
456
|
+
return _context.abrupt("continue", 20);
|
|
457
|
+
case 19:
|
|
458
|
+
handleUnknownError();
|
|
459
|
+
case 20:
|
|
426
460
|
return _context.abrupt("return", {
|
|
427
461
|
finalError: finalError,
|
|
428
|
-
shouldDisconnect: shouldDisconnect
|
|
462
|
+
shouldDisconnect: shouldDisconnect,
|
|
463
|
+
handledByCallback: handledByCallback
|
|
429
464
|
});
|
|
430
|
-
case
|
|
465
|
+
case 21:
|
|
431
466
|
case "end":
|
|
432
467
|
return _context.stop();
|
|
433
468
|
}
|
|
@@ -435,7 +470,7 @@ function _handleRegistrationErrors() {
|
|
|
435
470
|
}));
|
|
436
471
|
return _handleRegistrationErrors.apply(this, arguments);
|
|
437
472
|
}
|
|
438
|
-
function handleCallingClientErrors(
|
|
473
|
+
function handleCallingClientErrors(_x4, _x5, _x6) {
|
|
439
474
|
return _handleCallingClientErrors.apply(this, arguments);
|
|
440
475
|
}
|
|
441
476
|
/**
|
|
@@ -493,7 +528,7 @@ function _handleCallingClientErrors() {
|
|
|
493
528
|
}));
|
|
494
529
|
return _handleCallingClientErrors.apply(this, arguments);
|
|
495
530
|
}
|
|
496
|
-
function handleCallErrors(_x9, _x0, _x1, _x10, _x11
|
|
531
|
+
function handleCallErrors(_x7, _x8, _x9, _x0, _x1, _x10, _x11) {
|
|
497
532
|
return _handleCallErrors.apply(this, arguments);
|
|
498
533
|
}
|
|
499
534
|
/**
|
|
@@ -634,7 +669,7 @@ function _handleCallErrors() {
|
|
|
634
669
|
}));
|
|
635
670
|
return _handleCallErrors.apply(this, arguments);
|
|
636
671
|
}
|
|
637
|
-
function serviceErrorCodeHandler(
|
|
672
|
+
function serviceErrorCodeHandler(_x12, _x13) {
|
|
638
673
|
return _serviceErrorCodeHandler.apply(this, arguments);
|
|
639
674
|
}
|
|
640
675
|
/**
|
|
@@ -1015,7 +1050,7 @@ function getCallingBackEnd(webex) {
|
|
|
1015
1050
|
* @param callingBackend -.
|
|
1016
1051
|
* @returns Promise.
|
|
1017
1052
|
*/
|
|
1018
|
-
function getXsiActionEndpoint(
|
|
1053
|
+
function getXsiActionEndpoint(_x14, _x15, _x16) {
|
|
1019
1054
|
return _getXsiActionEndpoint.apply(this, arguments);
|
|
1020
1055
|
}
|
|
1021
1056
|
/**
|
|
@@ -1130,7 +1165,7 @@ function getSortedVoicemailList(voiceMessageList, sortOrder) {
|
|
|
1130
1165
|
* @param filter - A filter for the query.
|
|
1131
1166
|
* @returns - Promise.
|
|
1132
1167
|
*/
|
|
1133
|
-
function scimQuery(
|
|
1168
|
+
function scimQuery(_x17) {
|
|
1134
1169
|
return _scimQuery.apply(this, arguments);
|
|
1135
1170
|
}
|
|
1136
1171
|
/**
|
|
@@ -1176,7 +1211,7 @@ function _scimQuery() {
|
|
|
1176
1211
|
}));
|
|
1177
1212
|
return _scimQuery.apply(this, arguments);
|
|
1178
1213
|
}
|
|
1179
|
-
function resolveCallerIdDisplay(
|
|
1214
|
+
function resolveCallerIdDisplay(_x18) {
|
|
1180
1215
|
return _resolveCallerIdDisplay.apply(this, arguments);
|
|
1181
1216
|
}
|
|
1182
1217
|
/**
|
|
@@ -1253,7 +1288,7 @@ function _resolveCallerIdDisplay() {
|
|
|
1253
1288
|
}));
|
|
1254
1289
|
return _resolveCallerIdDisplay.apply(this, arguments);
|
|
1255
1290
|
}
|
|
1256
|
-
function resolveCallerIdByName(
|
|
1291
|
+
function resolveCallerIdByName(_x19) {
|
|
1257
1292
|
return _resolveCallerIdByName.apply(this, arguments);
|
|
1258
1293
|
}
|
|
1259
1294
|
/**
|
|
@@ -1317,7 +1352,7 @@ function _resolveCallerIdByName() {
|
|
|
1317
1352
|
}));
|
|
1318
1353
|
return _resolveCallerIdByName.apply(this, arguments);
|
|
1319
1354
|
}
|
|
1320
|
-
function resolveContact(
|
|
1355
|
+
function resolveContact(_x20) {
|
|
1321
1356
|
return _resolveContact.apply(this, arguments);
|
|
1322
1357
|
}
|
|
1323
1358
|
/**
|