@webex/calling 3.8.1-next.2 → 3.8.1-next.20
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/CallSettings/WxCallBackendConnector.js +2 -2
- package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
- package/dist/CallSettings/WxCallBackendConnector.test.js +94 -27
- package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
- package/dist/CallSettings/types.js.map +1 -1
- package/dist/CallingClient/CallingClient.js +56 -21
- package/dist/CallingClient/CallingClient.js.map +1 -1
- package/dist/CallingClient/CallingClient.test.js +168 -102
- package/dist/CallingClient/CallingClient.test.js.map +1 -1
- package/dist/CallingClient/constants.js +3 -4
- package/dist/CallingClient/constants.js.map +1 -1
- package/dist/CallingClient/line/line.test.js +4 -10
- package/dist/CallingClient/line/line.test.js.map +1 -1
- package/dist/CallingClient/registration/register.js +371 -285
- package/dist/CallingClient/registration/register.js.map +1 -1
- package/dist/CallingClient/registration/register.test.js +412 -300
- package/dist/CallingClient/registration/register.test.js.map +1 -1
- package/dist/CallingClient/registration/types.js.map +1 -1
- package/dist/CallingClient/registration/webWorker.js +115 -0
- package/dist/CallingClient/registration/webWorker.js.map +1 -0
- package/dist/CallingClient/registration/webWorker.test.js +256 -0
- package/dist/CallingClient/registration/webWorker.test.js.map +1 -0
- package/dist/CallingClient/registration/webWorkerStr.js +15 -0
- package/dist/CallingClient/registration/webWorkerStr.js.map +1 -0
- package/dist/common/Utils.js +13 -7
- package/dist/common/Utils.js.map +1 -1
- package/dist/common/Utils.test.js +265 -119
- package/dist/common/Utils.test.js.map +1 -1
- package/dist/common/types.js +8 -1
- package/dist/common/types.js.map +1 -1
- package/dist/module/CallSettings/WxCallBackendConnector.js +1 -1
- package/dist/module/CallingClient/CallingClient.js +23 -8
- package/dist/module/CallingClient/constants.js +1 -2
- package/dist/module/CallingClient/registration/register.js +93 -60
- package/dist/module/CallingClient/registration/webWorker.js +59 -0
- package/dist/module/CallingClient/registration/webWorkerStr.js +93 -0
- package/dist/module/common/Utils.js +8 -1
- package/dist/module/common/types.js +7 -0
- package/dist/types/CallSettings/types.d.ts +1 -1
- package/dist/types/CallSettings/types.d.ts.map +1 -1
- package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
- package/dist/types/CallingClient/constants.d.ts +1 -2
- package/dist/types/CallingClient/constants.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/register.d.ts +2 -2
- package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/webWorker.d.ts +2 -0
- package/dist/types/CallingClient/registration/webWorker.d.ts.map +1 -0
- package/dist/types/CallingClient/registration/webWorkerStr.d.ts +3 -0
- package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -0
- package/dist/types/common/Utils.d.ts.map +1 -1
- package/dist/types/common/types.d.ts +12 -0
- package/dist/types/common/types.d.ts.map +1 -1
- package/package.json +4 -4
package/dist/common/types.js
CHANGED
|
@@ -4,7 +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.ServiceIndicator = exports.SORT_BY = exports.SORT = exports.RegistrationStatus = exports.HTTP_METHODS = exports.DecodeType = exports.CallType = exports.CallDirection = exports.CALLING_BACKEND = exports.ALLOWED_SERVICES = void 0;
|
|
7
|
+
exports.WorkerMessageType = exports.ServiceIndicator = exports.SORT_BY = exports.SORT = exports.RegistrationStatus = exports.HTTP_METHODS = exports.DecodeType = exports.CallType = exports.CallDirection = exports.CALLING_BACKEND = exports.ALLOWED_SERVICES = void 0;
|
|
8
8
|
var _constants = require("./constants");
|
|
9
9
|
var ALLOWED_SERVICES = exports.ALLOWED_SERVICES = /*#__PURE__*/function (ALLOWED_SERVICES) {
|
|
10
10
|
ALLOWED_SERVICES["MOBIUS"] = "mobius";
|
|
@@ -65,4 +65,11 @@ var DecodeType = exports.DecodeType = /*#__PURE__*/function (DecodeType) {
|
|
|
65
65
|
DecodeType["ORGANIZATION"] = "ORGANIZATION";
|
|
66
66
|
return DecodeType;
|
|
67
67
|
}({});
|
|
68
|
+
var WorkerMessageType = exports.WorkerMessageType = /*#__PURE__*/function (WorkerMessageType) {
|
|
69
|
+
WorkerMessageType["START_KEEPALIVE"] = "START_KEEPALIVE";
|
|
70
|
+
WorkerMessageType["CLEAR_KEEPALIVE"] = "CLEAR_KEEPALIVE";
|
|
71
|
+
WorkerMessageType["KEEPALIVE_SUCCESS"] = "KEEPALIVE_SUCCESS";
|
|
72
|
+
WorkerMessageType["KEEPALIVE_FAILURE"] = "KEEPALIVE_FAILURE";
|
|
73
|
+
return WorkerMessageType;
|
|
74
|
+
}({});
|
|
68
75
|
//# sourceMappingURL=types.js.map
|
package/dist/common/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","require","ALLOWED_SERVICES","exports","HTTP_METHODS","RegistrationStatus","CALLING_BACKEND","CallType","CallDirection","SORT","SORT_BY","ServiceIndicator","DecodeType"],"sources":["types.ts"],"sourcesContent":["import {SCIM_ENTERPRISE_USER, SCIM_WEBEXIDENTITY_USER} from './constants';\n\nexport type MobiusDeviceId = string;\nexport type MobiusDeviceUri = string;\nexport type SettingEnabled = boolean;\n\nexport enum ALLOWED_SERVICES {\n MOBIUS = 'mobius',\n JANUS = 'janus',\n}\nexport enum HTTP_METHODS {\n GET = 'GET',\n POST = 'POST',\n PATCH = 'PATCH',\n PUT = 'PUT',\n DELETE = 'DELETE',\n}\n\nexport enum RegistrationStatus {\n IDLE = 'IDLE',\n ACTIVE = 'active',\n INACTIVE = 'inactive',\n}\n\nexport enum CALLING_BACKEND {\n WXC = 'WEBEX_CALLING',\n BWRKS = 'BROADWORKS_CALLING',\n UCM = 'UCM_CALLING',\n INVALID = 'Calling backend is currently not supported',\n}\n\nexport type DeviceList = unknown;\nexport type CallId = string; // guid;\nexport type CorrelationId = string;\nexport enum CallType {\n URI = 'uri',\n TEL = 'tel',\n}\nexport type CallDetails = {\n type: CallType;\n address: string; // sip address\n};\n\nexport type CallDestination = CallDetails;\nexport enum CallDirection {\n INBOUND = 'inbound',\n OUTBOUND = 'outbound',\n}\nexport type AvatarId = string;\nexport type DisplayName = string;\nexport type DisplayInformation = {\n avatarSrc: AvatarId | undefined;\n name: DisplayName | undefined;\n num: string | undefined;\n id: string | undefined;\n};\n\nexport type WebexRequestPayload = {\n method?: HTTP_METHODS;\n uri?: string;\n addAuthHeader?: boolean;\n headers?: {\n [key: string]: string | null;\n };\n body?: object;\n statusCode?: number;\n json?: boolean;\n service?: ALLOWED_SERVICES;\n};\n\nexport type ErrorCode = string;\n\nexport type Digit = string | number;\n\nexport type ServerInfo = {\n region: string;\n uris: string[];\n};\n\nexport type MobiusServers = {\n primary: ServerInfo;\n backup: ServerInfo;\n};\n\nexport type IpInfo = {\n ipv4: string;\n ipv6: string;\n};\n\nexport type DeviceType = {\n deviceId: string;\n uri: string;\n status: string;\n lastSeen: string;\n addresses: string[];\n clientDeviceUri: string;\n};\n\nexport type RegionInfo = {\n countryCode: string;\n clientRegion: string;\n};\n\nexport interface IDeviceInfo {\n userId?: string;\n errorCode?: number;\n\n device?: DeviceType;\n devices?: DeviceType[];\n keepaliveInterval?: number;\n callKeepaliveInterval?: number;\n voicePortalNumber?: number;\n voicePortalExtension?: number;\n // cSpell:disable\n rehomingIntervalMin?: number;\n rehomingIntervalMax?: number;\n /* cSpell:enable */\n}\n\nexport interface IMetaContext {\n file?: string;\n method?: string;\n}\n\nexport enum SORT {\n ASC = 'ASC',\n DESC = 'DESC',\n DEFAULT = 'DESC',\n}\n\nexport enum SORT_BY {\n END_TIME = 'endTime',\n DEFAULT = 'endTime',\n START_TIME = 'startTime',\n}\n\nexport enum ServiceIndicator {\n CALLING = 'calling',\n CONTACT_CENTER = 'contactcenter',\n GUEST_CALLING = 'guestcalling',\n}\n\nexport type ServiceData = {\n indicator: ServiceIndicator;\n domain?: string;\n};\n\nexport type PhoneNumber = {\n type: string;\n value: string;\n primary?: boolean;\n};\n\nexport type PersonInfo = {\n id: string;\n emails: string[];\n phoneNumbers: PhoneNumber[];\n displayName: string;\n nickName: string;\n firstName: string;\n lastName: string;\n avatar: string;\n orgId: string;\n created: string;\n lastModified: string;\n lastActivity: string;\n status: string;\n type: string;\n};\n\nexport type PeopleListResponse = {\n items: PersonInfo[];\n notFoundIds: string[];\n};\n\nexport enum DecodeType {\n PEOPLE = 'PEOPLE',\n ORGANIZATION = 'ORGANIZATION',\n}\n\nexport type ContactDetail = {\n type?: string;\n value: string;\n};\n\nexport interface URIAddress {\n value: string;\n type: string;\n primary?: boolean;\n}\n\nexport type KmsKey = {\n uri: string;\n userId: string;\n createDate: string;\n expirationDate: string;\n bindDate?: string;\n resourceUri?: string;\n};\n\nexport type KmsResourceObject = {\n uri: string;\n keyUris: string[];\n authorizationUris: string[];\n};\n\nexport interface Name {\n familyName: string;\n givenName: string;\n}\n\nexport interface Address {\n city?: string;\n country?: string;\n state?: string;\n street?: string;\n zipCode?: string;\n}\n\ninterface WebexIdentityMeta {\n organizationId: string;\n}\ninterface WebexIdentityUser {\n sipAddresses?: URIAddress[];\n meta?: WebexIdentityMeta;\n}\n\ninterface Manager {\n value: string;\n displayName: string;\n $ref: string;\n}\n\ninterface EnterpriseUser {\n department?: string;\n manager?: Manager;\n}\n\ninterface Resource {\n schemas: string[];\n id: string;\n userName: string;\n active?: boolean;\n name?: Name;\n displayName?: string;\n emails?: URIAddress[];\n userType: string;\n phoneNumbers?: PhoneNumber[];\n photos?: ContactDetail[];\n addresses?: Address[];\n [SCIM_WEBEXIDENTITY_USER]?: WebexIdentityUser;\n [SCIM_ENTERPRISE_USER]?: EnterpriseUser;\n}\n\nexport interface SCIMListResponse {\n schemas: string[];\n totalResults: number;\n itemsPerPage: number;\n startIndex: number;\n Resources: Resource[];\n}\n\nexport type LogsMetaData = {\n callId?: string;\n feedbackId?: string;\n correlationId?: string;\n};\n\nexport type UploadLogsResponse = {\n trackingid?: string;\n url?: string;\n userId?: string;\n feedbackId: string;\n correlationId?: string;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAA0E,IAM9DC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,0BAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA;AAAA,IAIhBE,YAAY,GAAAD,OAAA,CAAAC,YAAA,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA;AAAA,IAQZC,kBAAkB,GAAAF,OAAA,CAAAE,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAAA,IAMlBC,eAAe,GAAAH,OAAA,CAAAG,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA,OAQE;AAAA,IAEjBC,QAAQ,GAAAJ,OAAA,CAAAI,QAAA,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAAA,IAURC,aAAa,GAAAL,OAAA,CAAAK,aAAA,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAAA,IAgFbC,IAAI,GAAAN,OAAA,CAAAM,IAAA,0BAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAA,OAAJA,IAAI;AAAA;AAAA,IAMJC,OAAO,GAAAP,OAAA,CAAAO,OAAA,0BAAPA,OAAO;EAAPA,OAAO;EAAPA,OAAO;EAAPA,OAAO;EAAA,OAAPA,OAAO;AAAA;AAAA,IAMPC,gBAAgB,GAAAR,OAAA,CAAAQ,gBAAA,0BAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA;AAAA,IAuChBC,UAAU,GAAAT,OAAA,CAAAS,UAAA,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA"}
|
|
1
|
+
{"version":3,"names":["_constants","require","ALLOWED_SERVICES","exports","HTTP_METHODS","RegistrationStatus","CALLING_BACKEND","CallType","CallDirection","SORT","SORT_BY","ServiceIndicator","DecodeType","WorkerMessageType"],"sources":["types.ts"],"sourcesContent":["import {SCIM_ENTERPRISE_USER, SCIM_WEBEXIDENTITY_USER} from './constants';\n\nexport type MobiusDeviceId = string;\nexport type MobiusDeviceUri = string;\nexport type SettingEnabled = boolean;\n\nexport enum ALLOWED_SERVICES {\n MOBIUS = 'mobius',\n JANUS = 'janus',\n}\nexport enum HTTP_METHODS {\n GET = 'GET',\n POST = 'POST',\n PATCH = 'PATCH',\n PUT = 'PUT',\n DELETE = 'DELETE',\n}\n\nexport enum RegistrationStatus {\n IDLE = 'IDLE',\n ACTIVE = 'active',\n INACTIVE = 'inactive',\n}\n\nexport enum CALLING_BACKEND {\n WXC = 'WEBEX_CALLING',\n BWRKS = 'BROADWORKS_CALLING',\n UCM = 'UCM_CALLING',\n INVALID = 'Calling backend is currently not supported',\n}\n\nexport type DeviceList = unknown;\nexport type CallId = string; // guid;\nexport type CorrelationId = string;\nexport enum CallType {\n URI = 'uri',\n TEL = 'tel',\n}\nexport type CallDetails = {\n type: CallType;\n address: string; // sip address\n};\n\nexport type CallDestination = CallDetails;\nexport enum CallDirection {\n INBOUND = 'inbound',\n OUTBOUND = 'outbound',\n}\nexport type AvatarId = string;\nexport type DisplayName = string;\nexport type DisplayInformation = {\n avatarSrc: AvatarId | undefined;\n name: DisplayName | undefined;\n num: string | undefined;\n id: string | undefined;\n};\n\nexport type WebexRequestPayload = {\n method?: HTTP_METHODS;\n uri?: string;\n addAuthHeader?: boolean;\n headers?: {\n [key: string]: string | null;\n };\n body?: object;\n statusCode?: number;\n json?: boolean;\n service?: ALLOWED_SERVICES;\n};\n\nexport type ErrorCode = string;\n\nexport type Digit = string | number;\n\nexport type ServerInfo = {\n region: string;\n uris: string[];\n};\n\nexport type MobiusServers = {\n primary: ServerInfo;\n backup: ServerInfo;\n};\n\nexport type IpInfo = {\n ipv4: string;\n ipv6: string;\n};\n\nexport type DeviceType = {\n deviceId: string;\n uri: string;\n status: string;\n lastSeen: string;\n addresses: string[];\n clientDeviceUri: string;\n};\n\nexport type RegionInfo = {\n countryCode: string;\n clientRegion: string;\n};\n\nexport interface IDeviceInfo {\n userId?: string;\n errorCode?: number;\n\n device?: DeviceType;\n devices?: DeviceType[];\n keepaliveInterval?: number;\n callKeepaliveInterval?: number;\n voicePortalNumber?: number;\n voicePortalExtension?: number;\n // cSpell:disable\n rehomingIntervalMin?: number;\n rehomingIntervalMax?: number;\n /* cSpell:enable */\n}\n\nexport interface IMetaContext {\n file?: string;\n method?: string;\n}\n\nexport enum SORT {\n ASC = 'ASC',\n DESC = 'DESC',\n DEFAULT = 'DESC',\n}\n\nexport enum SORT_BY {\n END_TIME = 'endTime',\n DEFAULT = 'endTime',\n START_TIME = 'startTime',\n}\n\nexport enum ServiceIndicator {\n CALLING = 'calling',\n CONTACT_CENTER = 'contactcenter',\n GUEST_CALLING = 'guestcalling',\n}\n\nexport type ServiceData = {\n indicator: ServiceIndicator;\n domain?: string;\n};\n\nexport type PhoneNumber = {\n type: string;\n value: string;\n primary?: boolean;\n};\n\nexport type PersonInfo = {\n id: string;\n emails: string[];\n phoneNumbers: PhoneNumber[];\n displayName: string;\n nickName: string;\n firstName: string;\n lastName: string;\n avatar: string;\n orgId: string;\n created: string;\n lastModified: string;\n lastActivity: string;\n status: string;\n type: string;\n};\n\nexport type PeopleListResponse = {\n items: PersonInfo[];\n notFoundIds: string[];\n};\n\nexport enum DecodeType {\n PEOPLE = 'PEOPLE',\n ORGANIZATION = 'ORGANIZATION',\n}\n\nexport type ContactDetail = {\n type?: string;\n value: string;\n};\n\nexport interface URIAddress {\n value: string;\n type: string;\n primary?: boolean;\n}\n\nexport type KmsKey = {\n uri: string;\n userId: string;\n createDate: string;\n expirationDate: string;\n bindDate?: string;\n resourceUri?: string;\n};\n\nexport type KmsResourceObject = {\n uri: string;\n keyUris: string[];\n authorizationUris: string[];\n};\n\nexport interface Name {\n familyName: string;\n givenName: string;\n}\n\nexport interface Address {\n city?: string;\n country?: string;\n state?: string;\n street?: string;\n zipCode?: string;\n}\n\ninterface WebexIdentityMeta {\n organizationId: string;\n}\ninterface WebexIdentityUser {\n sipAddresses?: URIAddress[];\n meta?: WebexIdentityMeta;\n}\n\ninterface Manager {\n value: string;\n displayName: string;\n $ref: string;\n}\n\ninterface EnterpriseUser {\n department?: string;\n manager?: Manager;\n}\n\ninterface Resource {\n schemas: string[];\n id: string;\n userName: string;\n active?: boolean;\n name?: Name;\n displayName?: string;\n emails?: URIAddress[];\n userType: string;\n phoneNumbers?: PhoneNumber[];\n photos?: ContactDetail[];\n addresses?: Address[];\n [SCIM_WEBEXIDENTITY_USER]?: WebexIdentityUser;\n [SCIM_ENTERPRISE_USER]?: EnterpriseUser;\n}\n\nexport interface SCIMListResponse {\n schemas: string[];\n totalResults: number;\n itemsPerPage: number;\n startIndex: number;\n Resources: Resource[];\n}\n\nexport enum WorkerMessageType {\n START_KEEPALIVE = 'START_KEEPALIVE',\n CLEAR_KEEPALIVE = 'CLEAR_KEEPALIVE',\n KEEPALIVE_SUCCESS = 'KEEPALIVE_SUCCESS',\n KEEPALIVE_FAILURE = 'KEEPALIVE_FAILURE',\n}\n\nexport type KeepaliveStatusMessage = {\n type: WorkerMessageType.KEEPALIVE_SUCCESS | WorkerMessageType.KEEPALIVE_FAILURE;\n err?: unknown;\n keepAliveRetryCount?: number;\n statusCode?: number;\n};\n\nexport type LogsMetaData = {\n callId?: string;\n feedbackId?: string;\n correlationId?: string;\n};\n\nexport type UploadLogsResponse = {\n trackingid?: string;\n url?: string;\n userId?: string;\n feedbackId: string;\n correlationId?: string;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAA0E,IAM9DC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,0BAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA;AAAA,IAIhBE,YAAY,GAAAD,OAAA,CAAAC,YAAA,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA;AAAA,IAQZC,kBAAkB,GAAAF,OAAA,CAAAE,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAAA,IAMlBC,eAAe,GAAAH,OAAA,CAAAG,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA,OAQE;AAAA,IAEjBC,QAAQ,GAAAJ,OAAA,CAAAI,QAAA,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAAA,IAURC,aAAa,GAAAL,OAAA,CAAAK,aAAA,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAAA,IAgFbC,IAAI,GAAAN,OAAA,CAAAM,IAAA,0BAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAA,OAAJA,IAAI;AAAA;AAAA,IAMJC,OAAO,GAAAP,OAAA,CAAAO,OAAA,0BAAPA,OAAO;EAAPA,OAAO;EAAPA,OAAO;EAAPA,OAAO;EAAA,OAAPA,OAAO;AAAA;AAAA,IAMPC,gBAAgB,GAAAR,OAAA,CAAAQ,gBAAA,0BAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA;AAAA,IAuChBC,UAAU,GAAAT,OAAA,CAAAS,UAAA,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAAA,IAuFVC,iBAAiB,GAAAV,OAAA,CAAAU,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA"}
|
|
@@ -289,7 +289,7 @@ export class WxCallBackendConnector {
|
|
|
289
289
|
const vmResponse = await this.getVoicemailSetting();
|
|
290
290
|
if (vmResponse.statusCode === 200) {
|
|
291
291
|
const vm = vmResponse.data.callSetting;
|
|
292
|
-
if (vm.enabled && vm.sendAllCalls
|
|
292
|
+
if (vm.enabled && vm.sendAllCalls?.enabled) {
|
|
293
293
|
const response = {
|
|
294
294
|
...cfResponse,
|
|
295
295
|
data: {
|
|
@@ -69,12 +69,18 @@ export class CallingClient extends Eventing {
|
|
|
69
69
|
method: this.constructor.name,
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
|
-
this.
|
|
73
|
-
|
|
74
|
-
this.webex.internal.services._hostCatalog[
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
72
|
+
if (this.webex.internal.services._hostCatalog) {
|
|
73
|
+
this.mobiusClusters =
|
|
74
|
+
(mobiusServiceHost && this.webex.internal.services._hostCatalog[mobiusServiceHost]) ||
|
|
75
|
+
this.webex.internal.services._hostCatalog[MOBIUS_US_PROD] ||
|
|
76
|
+
this.webex.internal.services._hostCatalog[MOBIUS_EU_PROD] ||
|
|
77
|
+
this.webex.internal.services._hostCatalog[MOBIUS_US_INT] ||
|
|
78
|
+
this.webex.internal.services._hostCatalog[MOBIUS_EU_INT];
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
const mobiusObject = this.webex.internal.services._services.find((item) => item.serviceName === 'mobius');
|
|
82
|
+
this.mobiusClusters = [mobiusObject.serviceUrls[0].baseUrl];
|
|
83
|
+
}
|
|
78
84
|
this.mobiusHost = '';
|
|
79
85
|
this.registerSessionsListener();
|
|
80
86
|
this.registerCallsClearedListener();
|
|
@@ -113,13 +119,19 @@ export class CallingClient extends Eventing {
|
|
|
113
119
|
}, NETWORK_FLAP_TIMEOUT);
|
|
114
120
|
}
|
|
115
121
|
async getClientRegionInfo() {
|
|
122
|
+
let abort;
|
|
116
123
|
log.info(METHOD_START_MESSAGE, {
|
|
117
124
|
file: CALLING_CLIENT_FILE,
|
|
118
125
|
method: METHODS.GET_CLIENT_REGION_INFO,
|
|
119
126
|
});
|
|
120
127
|
const regionInfo = {};
|
|
121
128
|
for (const mobius of this.mobiusClusters) {
|
|
122
|
-
|
|
129
|
+
if (mobius.host) {
|
|
130
|
+
this.mobiusHost = `https://${mobius.host}${API_V1}`;
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
this.mobiusHost = mobius;
|
|
134
|
+
}
|
|
123
135
|
try {
|
|
124
136
|
const temp = await this.webex.request({
|
|
125
137
|
uri: `${this.mobiusHost}${URL_ENDPOINT}${IP_ENDPOINT}`,
|
|
@@ -152,12 +164,15 @@ export class CallingClient extends Eventing {
|
|
|
152
164
|
method: METHODS.GET_CLIENT_REGION_INFO,
|
|
153
165
|
file: CALLING_CLIENT_FILE,
|
|
154
166
|
});
|
|
155
|
-
handleCallingClientErrors(err, (clientError) => {
|
|
167
|
+
abort = await handleCallingClientErrors(err, (clientError) => {
|
|
156
168
|
this.metricManager.submitRegistrationMetric(METRIC_EVENT.REGISTRATION_ERROR, REG_ACTION.REGISTER, METRIC_TYPE.BEHAVIORAL, GET_MOBIUS_SERVERS_UTIL, 'UNKNOWN', err.headers?.trackingId ?? '', undefined, clientError);
|
|
157
169
|
this.emit(CALLING_CLIENT_EVENT_KEYS.ERROR, clientError);
|
|
158
170
|
}, { method: GET_MOBIUS_SERVERS_UTIL, file: CALLING_CLIENT_FILE });
|
|
159
171
|
regionInfo.clientRegion = '';
|
|
160
172
|
regionInfo.countryCode = '';
|
|
173
|
+
if (abort) {
|
|
174
|
+
return regionInfo;
|
|
175
|
+
}
|
|
161
176
|
}
|
|
162
177
|
}
|
|
163
178
|
return regionInfo;
|
|
@@ -105,8 +105,7 @@ export const BASE_REG_RETRY_TIMER_VAL_IN_SEC = 30;
|
|
|
105
105
|
export const SEC_TO_MSEC_MFACTOR = 1000;
|
|
106
106
|
export const MINUTES_TO_SEC_MFACTOR = 60;
|
|
107
107
|
export const REG_RANDOM_T_FACTOR_UPPER_LIMIT = 10000;
|
|
108
|
-
export const REG_TRY_BACKUP_TIMER_VAL_IN_SEC =
|
|
109
|
-
export const REG_TRY_BACKUP_TIMER_VAL_FOR_CC_IN_SEC = 114;
|
|
108
|
+
export const REG_TRY_BACKUP_TIMER_VAL_IN_SEC = 114;
|
|
110
109
|
export const REG_FAILBACK_429_MAX_RETRIES = 5;
|
|
111
110
|
export const RETRY_TIMER_UPPER_LIMIT = 60;
|
|
112
111
|
export const REGISTRATION_UTIL = 'triggerRegistration';
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { v4 as uuid } from 'uuid';
|
|
2
2
|
import { METHOD_START_MESSAGE } from '../../common/constants';
|
|
3
3
|
import { emitFinalFailure, handleRegistrationErrors, uploadLogs } from '../../common';
|
|
4
|
+
import webWorkerStr from './webWorkerStr';
|
|
4
5
|
import { METRIC_EVENT, METRIC_TYPE, REG_ACTION, } from '../../Metrics/types';
|
|
5
6
|
import { getMetricManager } from '../../Metrics';
|
|
6
7
|
import { getCallManager } from '../calling';
|
|
7
8
|
import log from '../../Logger';
|
|
8
9
|
import SDKConnector from '../../SDKConnector';
|
|
9
|
-
import { ALLOWED_SERVICES, HTTP_METHODS, RegistrationStatus, ServiceIndicator, } from '../../common/types';
|
|
10
|
-
import { CALLING_USER_AGENT, CISCO_DEVICE_URL, DEVICES_ENDPOINT_RESOURCE, SPARK_USER_AGENT, WEBEX_WEB_CLIENT, BASE_REG_RETRY_TIMER_VAL_IN_SEC, BASE_REG_TIMER_MFACTOR, SEC_TO_MSEC_MFACTOR, REG_RANDOM_T_FACTOR_UPPER_LIMIT, REG_TRY_BACKUP_TIMER_VAL_IN_SEC, MINUTES_TO_SEC_MFACTOR, REG_429_RETRY_UTIL, REG_FAILBACK_429_MAX_RETRIES, FAILBACK_UTIL, REGISTRATION_FILE, DEFAULT_REHOMING_INTERVAL_MIN, DEFAULT_REHOMING_INTERVAL_MAX, DEFAULT_KEEPALIVE_INTERVAL,
|
|
10
|
+
import { ALLOWED_SERVICES, HTTP_METHODS, RegistrationStatus, ServiceIndicator, WorkerMessageType, } from '../../common/types';
|
|
11
|
+
import { CALLING_USER_AGENT, CISCO_DEVICE_URL, DEVICES_ENDPOINT_RESOURCE, SPARK_USER_AGENT, WEBEX_WEB_CLIENT, BASE_REG_RETRY_TIMER_VAL_IN_SEC, BASE_REG_TIMER_MFACTOR, SEC_TO_MSEC_MFACTOR, REG_RANDOM_T_FACTOR_UPPER_LIMIT, REG_TRY_BACKUP_TIMER_VAL_IN_SEC, MINUTES_TO_SEC_MFACTOR, REG_429_RETRY_UTIL, REG_FAILBACK_429_MAX_RETRIES, FAILBACK_UTIL, REGISTRATION_FILE, DEFAULT_REHOMING_INTERVAL_MIN, DEFAULT_REHOMING_INTERVAL_MAX, DEFAULT_KEEPALIVE_INTERVAL, FAILOVER_UTIL, REGISTER_UTIL, RETRY_TIMER_UPPER_LIMIT, KEEPALIVE_UTIL, REGISTRATION_UTIL, METHODS, URL_ENDPOINT, } from '../constants';
|
|
11
12
|
import { LINE_EVENTS } from '../line/types';
|
|
12
13
|
export class Registration {
|
|
13
14
|
sdkConnector;
|
|
@@ -18,7 +19,6 @@ export class Registration {
|
|
|
18
19
|
registrationStatus;
|
|
19
20
|
failbackTimer;
|
|
20
21
|
activeMobiusUrl;
|
|
21
|
-
keepaliveTimer;
|
|
22
22
|
rehomingIntervalMin;
|
|
23
23
|
rehomingIntervalMax;
|
|
24
24
|
mutex;
|
|
@@ -35,6 +35,7 @@ export class Registration {
|
|
|
35
35
|
failoverImmediately = false;
|
|
36
36
|
retryAfter;
|
|
37
37
|
scheduled429Retry = false;
|
|
38
|
+
webWorker;
|
|
38
39
|
constructor(webex, serviceData, mutex, lineEmitter, logLevel, jwe) {
|
|
39
40
|
this.jwe = jwe;
|
|
40
41
|
this.sdkConnector = SDKConnector;
|
|
@@ -73,17 +74,6 @@ export class Registration {
|
|
|
73
74
|
this.primaryMobiusUris = primaryMobiusUris;
|
|
74
75
|
this.backupMobiusUris = backupMobiusUris;
|
|
75
76
|
}
|
|
76
|
-
async postKeepAlive(url) {
|
|
77
|
-
return this.webex.request({
|
|
78
|
-
uri: `${url}/status`,
|
|
79
|
-
method: HTTP_METHODS.POST,
|
|
80
|
-
headers: {
|
|
81
|
-
[CISCO_DEVICE_URL]: this.webex.internal.device.url,
|
|
82
|
-
[SPARK_USER_AGENT]: CALLING_USER_AGENT,
|
|
83
|
-
},
|
|
84
|
-
service: ALLOWED_SERVICES.MOBIUS,
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
77
|
async deleteRegistration(url, deviceId, deviceUrl) {
|
|
88
78
|
let response;
|
|
89
79
|
try {
|
|
@@ -167,9 +157,7 @@ export class Registration {
|
|
|
167
157
|
method: FAILOVER_UTIL,
|
|
168
158
|
};
|
|
169
159
|
let interval = this.getRegRetryInterval(attempt);
|
|
170
|
-
const TIMER_THRESHOLD =
|
|
171
|
-
? REG_TRY_BACKUP_TIMER_VAL_FOR_CC_IN_SEC
|
|
172
|
-
: REG_TRY_BACKUP_TIMER_VAL_IN_SEC;
|
|
160
|
+
const TIMER_THRESHOLD = REG_TRY_BACKUP_TIMER_VAL_IN_SEC;
|
|
173
161
|
if (timeElapsed + interval > TIMER_THRESHOLD) {
|
|
174
162
|
const excessVal = timeElapsed + interval - TIMER_THRESHOLD;
|
|
175
163
|
interval -= excessVal;
|
|
@@ -230,6 +218,40 @@ export class Registration {
|
|
|
230
218
|
this.failbackTimer = undefined;
|
|
231
219
|
}
|
|
232
220
|
}
|
|
221
|
+
async isPrimaryActive() {
|
|
222
|
+
let status;
|
|
223
|
+
for (const mobiusUrl of this.primaryMobiusUris) {
|
|
224
|
+
try {
|
|
225
|
+
const baseUri = mobiusUrl.replace(URL_ENDPOINT, '/');
|
|
226
|
+
const response = await this.webex.request({
|
|
227
|
+
uri: `${baseUri}ping`,
|
|
228
|
+
method: HTTP_METHODS.GET,
|
|
229
|
+
headers: {
|
|
230
|
+
[CISCO_DEVICE_URL]: this.webex.internal.device.url,
|
|
231
|
+
[SPARK_USER_AGENT]: CALLING_USER_AGENT,
|
|
232
|
+
},
|
|
233
|
+
service: ALLOWED_SERVICES.MOBIUS,
|
|
234
|
+
});
|
|
235
|
+
const { statusCode } = response;
|
|
236
|
+
if (statusCode === 200) {
|
|
237
|
+
log.info(`Ping successful for primary Mobius: ${mobiusUrl}`, {
|
|
238
|
+
file: REGISTRATION_FILE,
|
|
239
|
+
method: FAILBACK_UTIL,
|
|
240
|
+
});
|
|
241
|
+
status = 'up';
|
|
242
|
+
break;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
catch (error) {
|
|
246
|
+
log.warn(`Ping failed for primary Mobius: ${mobiusUrl} with error: ${error}`, {
|
|
247
|
+
file: REGISTRATION_FILE,
|
|
248
|
+
method: FAILBACK_UTIL,
|
|
249
|
+
});
|
|
250
|
+
status = 'down';
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
return status === 'up';
|
|
254
|
+
}
|
|
233
255
|
isFailbackRequired() {
|
|
234
256
|
return this.isDeviceRegistered() && this.primaryMobiusUris.indexOf(this.activeMobiusUrl) === -1;
|
|
235
257
|
}
|
|
@@ -260,7 +282,8 @@ export class Registration {
|
|
|
260
282
|
async executeFailback() {
|
|
261
283
|
await this.mutex.runExclusive(async () => {
|
|
262
284
|
if (this.isFailbackRequired()) {
|
|
263
|
-
|
|
285
|
+
const primaryServerStatus = await this.isPrimaryActive();
|
|
286
|
+
if (Object.keys(this.callManager.getActiveCalls()).length === 0 && primaryServerStatus) {
|
|
264
287
|
log.info(`Attempting failback to primary.`, {
|
|
265
288
|
file: REGISTRATION_FILE,
|
|
266
289
|
method: this.executeFailback.name,
|
|
@@ -284,7 +307,7 @@ export class Registration {
|
|
|
284
307
|
}
|
|
285
308
|
}
|
|
286
309
|
else {
|
|
287
|
-
log.info('Active calls present, deferring failback to next cycle.', {
|
|
310
|
+
log.info('Active calls present or primary Mobius is down, deferring failback to next cycle.', {
|
|
288
311
|
file: REGISTRATION_FILE,
|
|
289
312
|
method: this.executeFailback.name,
|
|
290
313
|
});
|
|
@@ -449,57 +472,67 @@ export class Registration {
|
|
|
449
472
|
}
|
|
450
473
|
return abort;
|
|
451
474
|
}
|
|
452
|
-
startKeepaliveTimer(url, interval, serverType) {
|
|
453
|
-
let keepAliveRetryCount = 0;
|
|
475
|
+
async startKeepaliveTimer(url, interval, serverType) {
|
|
454
476
|
this.clearKeepaliveTimer();
|
|
455
477
|
const RETRY_COUNT_THRESHOLD = this.isCCFlow ? 4 : 5;
|
|
456
|
-
this.
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
478
|
+
await this.mutex.runExclusive(async () => {
|
|
479
|
+
if (this.isDeviceRegistered()) {
|
|
480
|
+
const accessToken = await this.webex.credentials.getUserToken();
|
|
481
|
+
if (!this.webWorker) {
|
|
482
|
+
const blob = new Blob([webWorkerStr], { type: 'application/javascript' });
|
|
483
|
+
const blobUrl = URL.createObjectURL(blob);
|
|
484
|
+
this.webWorker = new Worker(blobUrl);
|
|
485
|
+
URL.revokeObjectURL(blobUrl);
|
|
486
|
+
this.webWorker.postMessage({
|
|
487
|
+
type: WorkerMessageType.START_KEEPALIVE,
|
|
488
|
+
accessToken: String(accessToken),
|
|
489
|
+
deviceUrl: String(this.webex.internal.device.url),
|
|
490
|
+
interval,
|
|
491
|
+
retryCountThreshold: RETRY_COUNT_THRESHOLD,
|
|
492
|
+
url,
|
|
493
|
+
});
|
|
494
|
+
this.webWorker.onmessage = async (event) => {
|
|
495
|
+
const logContext = {
|
|
496
|
+
file: REGISTRATION_FILE,
|
|
497
|
+
method: this.startKeepaliveTimer.name,
|
|
498
|
+
};
|
|
499
|
+
if (event.data.type === WorkerMessageType.KEEPALIVE_SUCCESS) {
|
|
500
|
+
log.info(`Sent Keepalive, status: ${event.data.statusCode}`, logContext);
|
|
467
501
|
this.lineEmitter(LINE_EVENTS.RECONNECTED);
|
|
468
502
|
}
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
503
|
+
if (event.data.type === WorkerMessageType.KEEPALIVE_FAILURE) {
|
|
504
|
+
const error = event.data.err;
|
|
505
|
+
log.warn(`Keep-alive missed ${event.data.keepAliveRetryCount} times. Status -> ${error.statusCode} `, logContext);
|
|
506
|
+
const abort = await handleRegistrationErrors(error, (clientError, finalError) => {
|
|
507
|
+
if (finalError) {
|
|
508
|
+
this.lineEmitter(LINE_EVENTS.ERROR, undefined, clientError);
|
|
509
|
+
}
|
|
510
|
+
this.metricManager.submitRegistrationMetric(METRIC_EVENT.REGISTRATION, REG_ACTION.KEEPALIVE_FAILURE, METRIC_TYPE.BEHAVIORAL, KEEPALIVE_UTIL, serverType, error.headers?.trackingid ?? '', event.data.keepAliveRetryCount, clientError);
|
|
511
|
+
}, { method: KEEPALIVE_UTIL, file: REGISTRATION_FILE });
|
|
512
|
+
if (abort || event.data.keepAliveRetryCount >= RETRY_COUNT_THRESHOLD) {
|
|
513
|
+
this.failoverImmediately = this.isCCFlow;
|
|
514
|
+
this.setStatus(RegistrationStatus.INACTIVE);
|
|
515
|
+
this.clearKeepaliveTimer();
|
|
516
|
+
this.clearFailbackTimer();
|
|
517
|
+
this.lineEmitter(LINE_EVENTS.UNREGISTERED);
|
|
518
|
+
if (!abort) {
|
|
519
|
+
await this.reconnectOnFailure(KEEPALIVE_UTIL);
|
|
520
|
+
}
|
|
478
521
|
}
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
if (abort || keepAliveRetryCount >= RETRY_COUNT_THRESHOLD) {
|
|
482
|
-
this.failoverImmediately = this.isCCFlow;
|
|
483
|
-
this.setStatus(RegistrationStatus.INACTIVE);
|
|
484
|
-
this.clearKeepaliveTimer();
|
|
485
|
-
this.clearFailbackTimer();
|
|
486
|
-
this.lineEmitter(LINE_EVENTS.UNREGISTERED);
|
|
487
|
-
if (!abort) {
|
|
488
|
-
await this.reconnectOnFailure(KEEPALIVE_UTIL);
|
|
522
|
+
else {
|
|
523
|
+
this.lineEmitter(LINE_EVENTS.RECONNECTING);
|
|
489
524
|
}
|
|
490
525
|
}
|
|
491
|
-
|
|
492
|
-
this.lineEmitter(LINE_EVENTS.RECONNECTING);
|
|
493
|
-
}
|
|
494
|
-
}
|
|
526
|
+
};
|
|
495
527
|
}
|
|
496
|
-
}
|
|
497
|
-
}
|
|
528
|
+
}
|
|
529
|
+
});
|
|
498
530
|
}
|
|
499
531
|
clearKeepaliveTimer() {
|
|
500
|
-
if (this.
|
|
501
|
-
|
|
502
|
-
this.
|
|
532
|
+
if (this.webWorker) {
|
|
533
|
+
this.webWorker.postMessage({ type: WorkerMessageType.CLEAR_KEEPALIVE });
|
|
534
|
+
this.webWorker.terminate();
|
|
535
|
+
this.webWorker = undefined;
|
|
503
536
|
}
|
|
504
537
|
}
|
|
505
538
|
isReconnectPending() {
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { v4 as uuid } from 'uuid';
|
|
2
|
+
import { HTTP_METHODS, WorkerMessageType } from '../../common/types';
|
|
3
|
+
let keepaliveTimer;
|
|
4
|
+
export const messageHandler = (event) => {
|
|
5
|
+
const { type } = event.data;
|
|
6
|
+
const postKeepAlive = async (accessToken, deviceUrl, url) => {
|
|
7
|
+
const response = await fetch(`${url}/status`, {
|
|
8
|
+
method: HTTP_METHODS.POST,
|
|
9
|
+
headers: {
|
|
10
|
+
'cisco-device-url': deviceUrl,
|
|
11
|
+
'spark-user-agent': 'webex-calling/beta',
|
|
12
|
+
Authorization: `${accessToken}`,
|
|
13
|
+
trackingId: `web_worker_${uuid()}`,
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
if (!response.ok) {
|
|
17
|
+
throw new Error(`Keepalive failed with status: ${response.status}`);
|
|
18
|
+
}
|
|
19
|
+
return response;
|
|
20
|
+
};
|
|
21
|
+
if (type === WorkerMessageType.START_KEEPALIVE) {
|
|
22
|
+
let keepAliveRetryCount = 0;
|
|
23
|
+
const { accessToken, deviceUrl, interval, retryCountThreshold, url } = event.data;
|
|
24
|
+
if (keepaliveTimer) {
|
|
25
|
+
clearInterval(keepaliveTimer);
|
|
26
|
+
keepaliveTimer = undefined;
|
|
27
|
+
}
|
|
28
|
+
keepaliveTimer = setInterval(async () => {
|
|
29
|
+
if (keepAliveRetryCount < retryCountThreshold) {
|
|
30
|
+
try {
|
|
31
|
+
const res = await postKeepAlive(accessToken, deviceUrl, url);
|
|
32
|
+
const statusCode = res.status;
|
|
33
|
+
if (keepAliveRetryCount > 0) {
|
|
34
|
+
postMessage({
|
|
35
|
+
type: WorkerMessageType.KEEPALIVE_SUCCESS,
|
|
36
|
+
statusCode,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
keepAliveRetryCount = 0;
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
keepAliveRetryCount += 1;
|
|
43
|
+
postMessage({
|
|
44
|
+
type: WorkerMessageType.KEEPALIVE_FAILURE,
|
|
45
|
+
err,
|
|
46
|
+
keepAliveRetryCount,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}, interval * 1000);
|
|
51
|
+
}
|
|
52
|
+
if (type === WorkerMessageType.CLEAR_KEEPALIVE) {
|
|
53
|
+
if (keepaliveTimer) {
|
|
54
|
+
clearInterval(keepaliveTimer);
|
|
55
|
+
keepaliveTimer = undefined;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
self.addEventListener('message', messageHandler);
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
const webWorkerStr = `/* eslint-env worker */
|
|
2
|
+
|
|
3
|
+
const uuid = () => {
|
|
4
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
|
|
5
|
+
const r = (Math.random() * 16) | 0;
|
|
6
|
+
const v = c === 'x' ? r : (r & 0x3) | 0x8;
|
|
7
|
+
return v.toString(16);
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
// Enum values from the original imports
|
|
12
|
+
const HTTP_METHODS = {
|
|
13
|
+
GET: 'GET',
|
|
14
|
+
POST: 'POST',
|
|
15
|
+
PUT: 'PUT',
|
|
16
|
+
DELETE: 'DELETE',
|
|
17
|
+
PATCH: 'PATCH',
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const WorkerMessageType = {
|
|
21
|
+
START_KEEPALIVE: 'START_KEEPALIVE',
|
|
22
|
+
CLEAR_KEEPALIVE: 'CLEAR_KEEPALIVE',
|
|
23
|
+
KEEPALIVE_SUCCESS: 'KEEPALIVE_SUCCESS',
|
|
24
|
+
KEEPALIVE_FAILURE: 'KEEPALIVE_FAILURE',
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
let keepaliveTimer;
|
|
28
|
+
|
|
29
|
+
const messageHandler = (event) => {
|
|
30
|
+
const {type} = event.data;
|
|
31
|
+
|
|
32
|
+
const postKeepAlive = async (accessToken, deviceUrl, url) => {
|
|
33
|
+
const response = await fetch(\`\${url}/status\`, {
|
|
34
|
+
method: HTTP_METHODS.POST,
|
|
35
|
+
headers: {
|
|
36
|
+
'cisco-device-url': deviceUrl,
|
|
37
|
+
'spark-user-agent': 'webex-calling/beta',
|
|
38
|
+
Authorization: \`\${accessToken}\`,
|
|
39
|
+
trackingId: \`web_worker_\${uuid()}\`,
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
if (!response.ok) {
|
|
44
|
+
throw new Error(\`Keepalive failed with status: \${response.status}\`);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return response;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
if (type === WorkerMessageType.START_KEEPALIVE) {
|
|
51
|
+
let keepAliveRetryCount = 0;
|
|
52
|
+
const {accessToken, deviceUrl, interval, retryCountThreshold, url} = event.data;
|
|
53
|
+
|
|
54
|
+
if (keepaliveTimer) {
|
|
55
|
+
clearInterval(keepaliveTimer);
|
|
56
|
+
keepaliveTimer = undefined;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
keepaliveTimer = setInterval(async () => {
|
|
60
|
+
if (keepAliveRetryCount < retryCountThreshold) {
|
|
61
|
+
try {
|
|
62
|
+
const res = await postKeepAlive(accessToken, deviceUrl, url);
|
|
63
|
+
const statusCode = res.status;
|
|
64
|
+
if (keepAliveRetryCount > 0) {
|
|
65
|
+
self.postMessage({
|
|
66
|
+
type: WorkerMessageType.KEEPALIVE_SUCCESS,
|
|
67
|
+
statusCode,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
keepAliveRetryCount = 0;
|
|
71
|
+
} catch (err) {
|
|
72
|
+
keepAliveRetryCount += 1;
|
|
73
|
+
self.postMessage({
|
|
74
|
+
type: WorkerMessageType.KEEPALIVE_FAILURE,
|
|
75
|
+
err,
|
|
76
|
+
keepAliveRetryCount,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}, interval * 1000);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (type === WorkerMessageType.CLEAR_KEEPALIVE) {
|
|
84
|
+
if (keepaliveTimer) {
|
|
85
|
+
clearInterval(keepaliveTimer);
|
|
86
|
+
keepaliveTimer = undefined;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
self.addEventListener('message', messageHandler);
|
|
92
|
+
`;
|
|
93
|
+
export default webWorkerStr;
|
|
@@ -183,9 +183,16 @@ export async function handleRegistrationErrors(err, emitterCb, loggerContext, re
|
|
|
183
183
|
export async function handleCallingClientErrors(err, emitterCb, loggerContext) {
|
|
184
184
|
const clientError = createClientError('', {}, ERROR_TYPE.DEFAULT, RegistrationStatus.INACTIVE);
|
|
185
185
|
const errorCode = Number(err.statusCode);
|
|
186
|
-
|
|
186
|
+
let finalError = false;
|
|
187
187
|
log.warn(`Status code: -> ${errorCode}`, loggerContext);
|
|
188
188
|
switch (errorCode) {
|
|
189
|
+
case ERROR_CODE.UNAUTHORIZED: {
|
|
190
|
+
finalError = true;
|
|
191
|
+
log.warn(`401 Unauthorized`, loggerContext);
|
|
192
|
+
updateErrorContext(loggerContext, ERROR_TYPE.TOKEN_ERROR, 'User is unauthorized due to an expired token.', clientError);
|
|
193
|
+
emitterCb(clientError, finalError);
|
|
194
|
+
break;
|
|
195
|
+
}
|
|
189
196
|
case ERROR_CODE.INTERNAL_SERVER_ERROR: {
|
|
190
197
|
log.warn(`500 Internal Server Error`, loggerContext);
|
|
191
198
|
updateErrorContext(loggerContext, ERROR_TYPE.SERVER_ERROR, 'An unknown error occurred while placing the request. Wait a moment and try again.', clientError);
|
|
@@ -58,3 +58,10 @@ export var DecodeType;
|
|
|
58
58
|
DecodeType["PEOPLE"] = "PEOPLE";
|
|
59
59
|
DecodeType["ORGANIZATION"] = "ORGANIZATION";
|
|
60
60
|
})(DecodeType || (DecodeType = {}));
|
|
61
|
+
export var WorkerMessageType;
|
|
62
|
+
(function (WorkerMessageType) {
|
|
63
|
+
WorkerMessageType["START_KEEPALIVE"] = "START_KEEPALIVE";
|
|
64
|
+
WorkerMessageType["CLEAR_KEEPALIVE"] = "CLEAR_KEEPALIVE";
|
|
65
|
+
WorkerMessageType["KEEPALIVE_SUCCESS"] = "KEEPALIVE_SUCCESS";
|
|
66
|
+
WorkerMessageType["KEEPALIVE_FAILURE"] = "KEEPALIVE_FAILURE";
|
|
67
|
+
})(WorkerMessageType || (WorkerMessageType = {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/CallSettings/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAKF,MAAM,MAAM,wBAAwB,GAAG;IAIrC,OAAO,EAAE,OAAO,CAAC;IAIjB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAK9B,2BAA2B,CAAC,EAAE,OAAO,CAAC;IAKtC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAKF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,EAAE;QAId,MAAM,EAAE,wBAAwB,CAAC;QAIjC,IAAI,EAAE;YAIJ,OAAO,EAAE,OAAO,CAAC;YAKjB,2BAA2B,CAAC,EAAE,OAAO,CAAC;YAKtC,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC;QAIF,QAAQ,EAAE;YAIR,OAAO,EAAE,OAAO,CAAC;YAIjB,aAAa,CAAC,EAAE,MAAM,CAAC;YAIvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;YAKhC,2BAA2B,CAAC,EAAE,OAAO,CAAC;YAKtC,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC;KACH,CAAC;IAIF,kBAAkB,EAAE;QAIlB,OAAO,EAAE,OAAO,CAAC;QAKjB,2BAA2B,CAAC,EAAE,OAAO,CAAC;QAKtC,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,CAAC;AAKF,MAAM,MAAM,gBAAgB,GAAG;IAI7B,OAAO,EAAE,OAAO,CAAC;IAKjB,YAAY,EAAE;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/CallSettings/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CallingClient.d.ts","sourceRoot":"","sources":["../../../src/CallingClient/CallingClient.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,4BAA4B,CAAC;AAUpD,OAAO,EAAC,MAAM,EAAa,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAmB,aAAa,EAAe,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACxC,OAAO,EACL,uBAAuB,EAKxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EASL,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAC,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAC,KAAK,EAAe,MAAM,iBAAiB,CAAC;AAsBpD,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AAenC,qBAAa,aAAc,SAAQ,QAAQ,CAAC,uBAAuB,CAAE,YAAW,cAAc;IAC5F,OAAO,CAAC,YAAY,CAAgB;IAEpC,OAAO,CAAC,KAAK,CAAW;IAExB,OAAO,CAAC,KAAK,CAAQ;IAErB,OAAO,CAAC,WAAW,CAAe;IAElC,OAAO,CAAC,aAAa,CAAiB;IAEtC,OAAO,CAAC,SAAS,CAAC,CAAsB;IAExC,OAAO,CAAC,iBAAiB,CAAW;IAEpC,OAAO,CAAC,gBAAgB,CAAW;IAEnC,OAAO,CAAC,cAAc,CAAgB;IAEtC,OAAO,CAAC,UAAU,CAAS;IAEpB,WAAW,EAAE,OAAO,KAAK,CAAC;IAEjC,OAAO,CAAC,QAAQ,CAA6B;gBAKjC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"CallingClient.d.ts","sourceRoot":"","sources":["../../../src/CallingClient/CallingClient.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,4BAA4B,CAAC;AAUpD,OAAO,EAAC,MAAM,EAAa,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAmB,aAAa,EAAe,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACxC,OAAO,EACL,uBAAuB,EAKxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EASL,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAC,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAC,KAAK,EAAe,MAAM,iBAAiB,CAAC;AAsBpD,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AAenC,qBAAa,aAAc,SAAQ,QAAQ,CAAC,uBAAuB,CAAE,YAAW,cAAc;IAC5F,OAAO,CAAC,YAAY,CAAgB;IAEpC,OAAO,CAAC,KAAK,CAAW;IAExB,OAAO,CAAC,KAAK,CAAQ;IAErB,OAAO,CAAC,WAAW,CAAe;IAElC,OAAO,CAAC,aAAa,CAAiB;IAEtC,OAAO,CAAC,SAAS,CAAC,CAAsB;IAExC,OAAO,CAAC,iBAAiB,CAAW;IAEpC,OAAO,CAAC,gBAAgB,CAAW;IAEnC,OAAO,CAAC,cAAc,CAAgB;IAEtC,OAAO,CAAC,UAAU,CAAS;IAEpB,WAAW,EAAE,OAAO,KAAK,CAAC;IAEjC,OAAO,CAAC,QAAQ,CAA6B;gBAKjC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,mBAAmB;IAwF5C,IAAI;YAWH,mBAAmB;YAwCnB,mBAAmB;YA0FnB,gBAAgB;IAuH9B,OAAO,CAAC,4BAA4B;IAgBpC,OAAO,CAAC,mBAAmB,CAoBzB;IAMK,eAAe,IAAI,MAAM;IAQzB,eAAe,IAAI,aAAa;IAIvC,OAAO,CAAC,wBAAwB;YAgClB,UAAU;IAuBjB,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAOjC,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;IAiBzC,gBAAgB,IAAI,KAAK,GAAG,SAAS;IAuB/B,UAAU,IAAI,OAAO,CAAC,kBAAkB,CAAC;CAQvD;AAOD,eAAO,MAAM,YAAY,UAChB,QAAQ,WACN,mBAAmB,KAC3B,QAAQ,cAAc,CAKxB,CAAC"}
|
|
@@ -105,8 +105,7 @@ export declare const BASE_REG_RETRY_TIMER_VAL_IN_SEC = 30;
|
|
|
105
105
|
export declare const SEC_TO_MSEC_MFACTOR = 1000;
|
|
106
106
|
export declare const MINUTES_TO_SEC_MFACTOR = 60;
|
|
107
107
|
export declare const REG_RANDOM_T_FACTOR_UPPER_LIMIT = 10000;
|
|
108
|
-
export declare const REG_TRY_BACKUP_TIMER_VAL_IN_SEC =
|
|
109
|
-
export declare const REG_TRY_BACKUP_TIMER_VAL_FOR_CC_IN_SEC = 114;
|
|
108
|
+
export declare const REG_TRY_BACKUP_TIMER_VAL_IN_SEC = 114;
|
|
110
109
|
export declare const REG_FAILBACK_429_MAX_RETRIES = 5;
|
|
111
110
|
export declare const RETRY_TIMER_UPPER_LIMIT = 60;
|
|
112
111
|
export declare const REGISTRATION_UTIL = "triggerRegistration";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/CallingClient/constants.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/CallingClient/constants.ts"],"names":[],"mappings":"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"}
|