@webex/calling 3.8.0-next.31 → 3.8.0-next.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/dist/CallHistory/CallHistory.js +100 -63
  2. package/dist/CallHistory/CallHistory.js.map +1 -1
  3. package/dist/CallHistory/CallHistory.test.js +115 -19
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -1
  5. package/dist/CallHistory/constants.js +9 -1
  6. package/dist/CallHistory/constants.js.map +1 -1
  7. package/dist/CallSettings/CallSettings.js +46 -13
  8. package/dist/CallSettings/CallSettings.js.map +1 -1
  9. package/dist/CallSettings/UcmBackendConnector.js +62 -18
  10. package/dist/CallSettings/UcmBackendConnector.js.map +1 -1
  11. package/dist/CallSettings/UcmBackendConnector.test.js +70 -7
  12. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -1
  13. package/dist/CallSettings/WxCallBackendConnector.js +153 -103
  14. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -1
  15. package/dist/CallSettings/WxCallBackendConnector.test.js +52 -15
  16. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -1
  17. package/dist/CallSettings/constants.js +15 -1
  18. package/dist/CallSettings/constants.js.map +1 -1
  19. package/dist/CallingClient/CallingClient.js +148 -107
  20. package/dist/CallingClient/CallingClient.js.map +1 -1
  21. package/dist/CallingClient/CallingClient.test.js +53 -24
  22. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  23. package/dist/CallingClient/calling/call.js +251 -189
  24. package/dist/CallingClient/calling/call.js.map +1 -1
  25. package/dist/CallingClient/calling/call.test.js +96 -41
  26. package/dist/CallingClient/calling/call.test.js.map +1 -1
  27. package/dist/CallingClient/calling/callManager.js +73 -48
  28. package/dist/CallingClient/calling/callManager.js.map +1 -1
  29. package/dist/CallingClient/calling/callManager.test.js +96 -37
  30. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  31. package/dist/CallingClient/constants.js +104 -3
  32. package/dist/CallingClient/constants.js.map +1 -1
  33. package/dist/CallingClient/line/index.js +47 -18
  34. package/dist/CallingClient/line/index.js.map +1 -1
  35. package/dist/CallingClient/line/line.test.js +2 -2
  36. package/dist/CallingClient/line/line.test.js.map +1 -1
  37. package/dist/CallingClient/registration/register.js +261 -219
  38. package/dist/CallingClient/registration/register.js.map +1 -1
  39. package/dist/CallingClient/registration/register.test.js +533 -155
  40. package/dist/CallingClient/registration/register.test.js.map +1 -1
  41. package/dist/CallingClient/registration/types.js.map +1 -1
  42. package/dist/Contacts/ContactsClient.js +156 -102
  43. package/dist/Contacts/ContactsClient.js.map +1 -1
  44. package/dist/Contacts/ContactsClient.test.js +197 -49
  45. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  46. package/dist/Contacts/constants.js +11 -1
  47. package/dist/Contacts/constants.js.map +1 -1
  48. package/dist/Events/impl/index.js +1 -1
  49. package/dist/Events/impl/index.js.map +1 -1
  50. package/dist/Metrics/index.js +93 -39
  51. package/dist/Metrics/index.js.map +1 -1
  52. package/dist/Metrics/types.js +4 -1
  53. package/dist/Metrics/types.js.map +1 -1
  54. package/dist/SDKConnector/types.js.map +1 -1
  55. package/dist/Voicemail/BroadworksBackendConnector.js +154 -91
  56. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
  57. package/dist/Voicemail/BroadworksBackendConnector.test.js +99 -19
  58. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
  59. package/dist/Voicemail/UcmBackendConnector.js +105 -54
  60. package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
  61. package/dist/Voicemail/UcmBackendConnector.test.js +127 -17
  62. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
  63. package/dist/Voicemail/Voicemail.js +198 -79
  64. package/dist/Voicemail/Voicemail.js.map +1 -1
  65. package/dist/Voicemail/Voicemail.test.js +188 -23
  66. package/dist/Voicemail/Voicemail.test.js.map +1 -1
  67. package/dist/Voicemail/WxCallBackendConnector.js +123 -76
  68. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
  69. package/dist/Voicemail/WxCallBackendConnector.test.js +69 -6
  70. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
  71. package/dist/Voicemail/constants.js +25 -1
  72. package/dist/Voicemail/constants.js.map +1 -1
  73. package/dist/common/Utils.js +167 -104
  74. package/dist/common/Utils.js.map +1 -1
  75. package/dist/common/Utils.test.js +199 -35
  76. package/dist/common/Utils.test.js.map +1 -1
  77. package/dist/common/constants.js +2 -1
  78. package/dist/common/constants.js.map +1 -1
  79. package/dist/common/types.js.map +1 -1
  80. package/dist/module/CallHistory/CallHistory.js +32 -13
  81. package/dist/module/CallHistory/constants.js +6 -0
  82. package/dist/module/CallSettings/CallSettings.js +36 -3
  83. package/dist/module/CallSettings/UcmBackendConnector.js +50 -5
  84. package/dist/module/CallSettings/WxCallBackendConnector.js +54 -18
  85. package/dist/module/CallSettings/constants.js +12 -0
  86. package/dist/module/CallingClient/CallingClient.js +52 -14
  87. package/dist/module/CallingClient/calling/call.js +172 -121
  88. package/dist/module/CallingClient/calling/callManager.js +51 -26
  89. package/dist/module/CallingClient/constants.js +101 -2
  90. package/dist/module/CallingClient/line/index.js +37 -8
  91. package/dist/module/CallingClient/registration/register.js +90 -54
  92. package/dist/module/Contacts/ContactsClient.js +65 -21
  93. package/dist/module/Contacts/constants.js +10 -0
  94. package/dist/module/Events/impl/index.js +1 -1
  95. package/dist/module/Metrics/index.js +49 -1
  96. package/dist/module/Metrics/types.js +3 -0
  97. package/dist/module/Voicemail/BroadworksBackendConnector.js +66 -17
  98. package/dist/module/Voicemail/UcmBackendConnector.js +51 -11
  99. package/dist/module/Voicemail/Voicemail.js +109 -9
  100. package/dist/module/Voicemail/WxCallBackendConnector.js +50 -17
  101. package/dist/module/Voicemail/constants.js +21 -0
  102. package/dist/module/common/Utils.js +50 -12
  103. package/dist/module/common/constants.js +1 -0
  104. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  105. package/dist/types/CallHistory/constants.d.ts +6 -0
  106. package/dist/types/CallHistory/constants.d.ts.map +1 -1
  107. package/dist/types/CallSettings/CallSettings.d.ts.map +1 -1
  108. package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
  109. package/dist/types/CallSettings/WxCallBackendConnector.d.ts.map +1 -1
  110. package/dist/types/CallSettings/constants.d.ts +12 -0
  111. package/dist/types/CallSettings/constants.d.ts.map +1 -1
  112. package/dist/types/CallingClient/CallingClient.d.ts +2 -3
  113. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  114. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  115. package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
  116. package/dist/types/CallingClient/constants.d.ts +101 -2
  117. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  118. package/dist/types/CallingClient/line/index.d.ts.map +1 -1
  119. package/dist/types/CallingClient/registration/register.d.ts +3 -1
  120. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  121. package/dist/types/CallingClient/registration/types.d.ts +1 -0
  122. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  123. package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
  124. package/dist/types/Contacts/constants.d.ts +10 -0
  125. package/dist/types/Contacts/constants.d.ts.map +1 -1
  126. package/dist/types/Metrics/index.d.ts +1 -1
  127. package/dist/types/Metrics/index.d.ts.map +1 -1
  128. package/dist/types/Metrics/types.d.ts +5 -1
  129. package/dist/types/Metrics/types.d.ts.map +1 -1
  130. package/dist/types/SDKConnector/types.d.ts +8 -2
  131. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  132. package/dist/types/Voicemail/BroadworksBackendConnector.d.ts.map +1 -1
  133. package/dist/types/Voicemail/UcmBackendConnector.d.ts.map +1 -1
  134. package/dist/types/Voicemail/Voicemail.d.ts +1 -1
  135. package/dist/types/Voicemail/Voicemail.d.ts.map +1 -1
  136. package/dist/types/Voicemail/WxCallBackendConnector.d.ts.map +1 -1
  137. package/dist/types/Voicemail/constants.d.ts +21 -0
  138. package/dist/types/Voicemail/constants.d.ts.map +1 -1
  139. package/dist/types/common/Utils.d.ts +4 -4
  140. package/dist/types/common/Utils.d.ts.map +1 -1
  141. package/dist/types/common/constants.d.ts +1 -0
  142. package/dist/types/common/constants.d.ts.map +1 -1
  143. package/dist/types/common/types.d.ts +12 -0
  144. package/dist/types/common/types.d.ts.map +1 -1
  145. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import * as Media from '@webex/internal-media-core';
2
2
  import { Mutex } from 'async-mutex';
3
- import { v4 as uuid } from 'uuid';
3
+ import { METHOD_START_MESSAGE } from '../common/constants';
4
4
  import { filterMobiusUris, handleCallingClientErrors, uploadLogs, validateServiceData, } from '../common/Utils';
5
5
  import { LOGGER } from '../Logger/types';
6
6
  import SDKConnector from '../SDKConnector';
@@ -9,7 +9,7 @@ import { MOBIUS_EVENT_KEYS, SessionType, CALLING_CLIENT_EVENT_KEYS, } from '../E
9
9
  import { ServiceIndicator, ALLOWED_SERVICES, HTTP_METHODS, RegistrationStatus, } from '../common/types';
10
10
  import log from '../Logger';
11
11
  import { getCallManager } from './calling/callManager';
12
- import { CALLING_CLIENT_FILE, CALLS_CLEARED_HANDLER_UTIL, CALLING_USER_AGENT, CISCO_DEVICE_URL, DISCOVERY_URL, GET_MOBIUS_SERVERS_UTIL, IP_ENDPOINT, SPARK_USER_AGENT, URL_ENDPOINT, NETWORK_FLAP_TIMEOUT, API_V1, MOBIUS_US_PROD, MOBIUS_EU_PROD, MOBIUS_US_INT, MOBIUS_EU_INT, } from './constants';
12
+ import { CALLING_CLIENT_FILE, CALLS_CLEARED_HANDLER_UTIL, CALLING_USER_AGENT, CISCO_DEVICE_URL, DISCOVERY_URL, GET_MOBIUS_SERVERS_UTIL, IP_ENDPOINT, SPARK_USER_AGENT, URL_ENDPOINT, NETWORK_FLAP_TIMEOUT, API_V1, MOBIUS_US_PROD, MOBIUS_EU_PROD, MOBIUS_US_INT, MOBIUS_EU_INT, METHODS, } from './constants';
13
13
  import Line from './line';
14
14
  import { METRIC_EVENT, REG_ACTION, METRIC_TYPE } from '../Metrics/types';
15
15
  import { getMetricManager } from '../Metrics';
@@ -31,6 +31,10 @@ export class CallingClient extends Eventing {
31
31
  this.sdkConnector = SDKConnector;
32
32
  if (!this.sdkConnector.getWebex()) {
33
33
  SDKConnector.setWebex(webex);
34
+ if (config?.logger?.level && webex.logger.config) {
35
+ webex.logger.config.level = config.logger.level;
36
+ }
37
+ log.setWebexLogger(webex.logger);
34
38
  }
35
39
  this.mutex = new Mutex();
36
40
  this.webex = this.sdkConnector.getWebex();
@@ -81,6 +85,10 @@ export class CallingClient extends Eventing {
81
85
  this.detectNetworkChange();
82
86
  }
83
87
  async detectNetworkChange() {
88
+ log.info(METHOD_START_MESSAGE, {
89
+ file: CALLING_CLIENT_FILE,
90
+ method: METHODS.DETECT_NETWORK_CHANGE,
91
+ });
84
92
  let retry = false;
85
93
  const line = Object.values(this.lineDict)[0];
86
94
  setInterval(async () => {
@@ -89,7 +97,7 @@ export class CallingClient extends Eventing {
89
97
  !Object.keys(this.callManager.getActiveCalls()).length) {
90
98
  log.warn(`Network has flapped, waiting for mercury connection to be up`, {
91
99
  file: CALLING_CLIENT_FILE,
92
- method: this.detectNetworkChange.name,
100
+ method: METHODS.DETECT_NETWORK_CHANGE,
93
101
  });
94
102
  line.registration.clearKeepaliveTimer();
95
103
  retry = true;
@@ -105,6 +113,10 @@ export class CallingClient extends Eventing {
105
113
  }, NETWORK_FLAP_TIMEOUT);
106
114
  }
107
115
  async getClientRegionInfo() {
116
+ log.info(METHOD_START_MESSAGE, {
117
+ file: CALLING_CLIENT_FILE,
118
+ method: METHODS.GET_CLIENT_REGION_INFO,
119
+ });
108
120
  const regionInfo = {};
109
121
  for (const mobius of this.mobiusClusters) {
110
122
  this.mobiusHost = `https://${mobius.host}${API_V1}`;
@@ -135,6 +147,11 @@ export class CallingClient extends Eventing {
135
147
  break;
136
148
  }
137
149
  catch (err) {
150
+ const extendedError = new Error(`Failed to get client region info: ${err}`);
151
+ log.error(extendedError, {
152
+ method: METHODS.GET_CLIENT_REGION_INFO,
153
+ file: CALLING_CLIENT_FILE,
154
+ });
138
155
  handleCallingClientErrors(err, (clientError) => {
139
156
  this.metricManager.submitRegistrationMetric(METRIC_EVENT.REGISTRATION_ERROR, REG_ACTION.REGISTER, METRIC_TYPE.BEHAVIORAL, clientError);
140
157
  this.emit(CALLING_CLIENT_EVENT_KEYS.ERROR, clientError);
@@ -146,11 +163,15 @@ export class CallingClient extends Eventing {
146
163
  return regionInfo;
147
164
  }
148
165
  async getMobiusServers() {
166
+ log.info(METHOD_START_MESSAGE, {
167
+ file: CALLING_CLIENT_FILE,
168
+ method: METHODS.GET_MOBIUS_SERVERS,
169
+ });
149
170
  let useDefault = false;
150
171
  let clientRegion;
151
172
  let countryCode;
152
173
  if (this.sdkConfig?.discovery?.country && this.sdkConfig?.discovery?.region) {
153
- log.info('Updating region and country from the SDK config', {
174
+ log.log('Updating region and country from the SDK config', {
154
175
  file: CALLING_CLIENT_FILE,
155
176
  method: GET_MOBIUS_SERVERS_UTIL,
156
177
  });
@@ -159,7 +180,7 @@ export class CallingClient extends Eventing {
159
180
  this.mobiusHost = this.webex.internal.services._serviceUrls.mobius;
160
181
  }
161
182
  else {
162
- log.info('Updating region and country through Region discovery', {
183
+ log.log('Updating region and country through Region discovery', {
163
184
  file: CALLING_CLIENT_FILE,
164
185
  method: GET_MOBIUS_SERVERS_UTIL,
165
186
  });
@@ -187,6 +208,11 @@ export class CallingClient extends Eventing {
187
208
  log.info(`Final list of Mobius Servers, primary: ${mobiusUris.primary} and backup: ${mobiusUris.backup}`, '');
188
209
  }
189
210
  catch (err) {
211
+ const extendedError = new Error(`Failed to get Mobius servers: ${err}`);
212
+ log.error(extendedError, {
213
+ method: METHODS.GET_MOBIUS_SERVERS,
214
+ file: CALLING_CLIENT_FILE,
215
+ });
190
216
  handleCallingClientErrors(err, (clientError) => {
191
217
  this.metricManager.submitRegistrationMetric(METRIC_EVENT.REGISTRATION_ERROR, REG_ACTION.REGISTER, METRIC_TYPE.BEHAVIORAL, clientError);
192
218
  this.emit(CALLING_CLIENT_EVENT_KEYS.ERROR, clientError);
@@ -204,19 +230,22 @@ export class CallingClient extends Eventing {
204
230
  }
205
231
  }
206
232
  registerCallsClearedListener() {
207
- const logContext = {
233
+ log.info(METHOD_START_MESSAGE, {
208
234
  file: CALLING_CLIENT_FILE,
209
- method: this.registerCallsClearedListener.name,
210
- };
211
- log.log('Registering listener for all calls cleared event', logContext);
235
+ method: METHODS.REGISTER_CALLS_CLEARED_LISTENER,
236
+ });
212
237
  this.callManager.on(CALLING_CLIENT_EVENT_KEYS.ALL_CALLS_CLEARED, this.callsClearedHandler);
213
238
  }
214
239
  callsClearedHandler = async () => {
240
+ log.info(METHOD_START_MESSAGE, {
241
+ file: CALLING_CLIENT_FILE,
242
+ method: METHODS.CALLS_CLEARED_HANDLER,
243
+ });
215
244
  const { registration } = Object.values(this.lineDict)[0];
216
245
  if (!registration.isDeviceRegistered()) {
217
246
  await this.mutex.runExclusive(async () => {
218
247
  if (registration.isReconnectPending()) {
219
- log.log('All calls cleared, reconnecting', {
248
+ log.info('All calls cleared, reconnecting', {
220
249
  file: CALLING_CLIENT_FILE,
221
250
  method: CALLS_CLEARED_HANDLER_UTIL,
222
251
  });
@@ -232,6 +261,10 @@ export class CallingClient extends Eventing {
232
261
  return this.sdkConnector;
233
262
  }
234
263
  registerSessionsListener() {
264
+ log.info(METHOD_START_MESSAGE, {
265
+ file: CALLING_CLIENT_FILE,
266
+ method: METHODS.REGISTER_SESSIONS_LISTENER,
267
+ });
235
268
  this.sdkConnector.registerListener(MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_INCLUSIVE, async (event) => {
236
269
  if (event && event.data.userSessions.userSessions) {
237
270
  const sessionArr = event?.data.userSessions.userSessions;
@@ -250,6 +283,10 @@ export class CallingClient extends Eventing {
250
283
  });
251
284
  }
252
285
  async createLine() {
286
+ log.info(METHOD_START_MESSAGE, {
287
+ file: CALLING_CLIENT_FILE,
288
+ method: METHODS.CREATE_LINE,
289
+ });
253
290
  const line = new Line(this.webex.internal.device.userId, this.webex.internal.device.url, this.mutex, this.primaryMobiusUris, this.backupMobiusUris, this.getLoggingLevel(), this.sdkConfig?.serviceData, this.sdkConfig?.jwe);
254
291
  this.lineDict[line.lineId] = line;
255
292
  }
@@ -278,11 +315,12 @@ export class CallingClient extends Eventing {
278
315
  });
279
316
  return connectCall;
280
317
  }
281
- async uploadLogs(data = {}) {
282
- if (!data.feedbackId) {
283
- data = { ...data, feedbackId: uuid() };
318
+ async uploadLogs() {
319
+ const result = await uploadLogs({}, true);
320
+ if (!result) {
321
+ throw new Error('Failed to upload logs: No response received.');
284
322
  }
285
- return uploadLogs(data);
323
+ return result;
286
324
  }
287
325
  }
288
326
  export const createClient = async (webex, config) => {