@webex/calling 3.8.0 → 3.8.1-next.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.
Files changed (166) 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 +220 -159
  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 +105 -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 +359 -297
  38. package/dist/CallingClient/registration/register.js.map +1 -1
  39. package/dist/CallingClient/registration/register.test.js +561 -163
  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/Errors/types.js +2 -0
  49. package/dist/Errors/types.js.map +1 -1
  50. package/dist/Events/impl/index.js +1 -1
  51. package/dist/Events/impl/index.js.map +1 -1
  52. package/dist/Metrics/index.js +102 -41
  53. package/dist/Metrics/index.js.map +1 -1
  54. package/dist/Metrics/index.test.js +10 -4
  55. package/dist/Metrics/index.test.js.map +1 -1
  56. package/dist/Metrics/types.js +4 -1
  57. package/dist/Metrics/types.js.map +1 -1
  58. package/dist/SDKConnector/types.js.map +1 -1
  59. package/dist/Voicemail/BroadworksBackendConnector.js +154 -91
  60. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -1
  61. package/dist/Voicemail/BroadworksBackendConnector.test.js +99 -19
  62. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -1
  63. package/dist/Voicemail/UcmBackendConnector.js +105 -54
  64. package/dist/Voicemail/UcmBackendConnector.js.map +1 -1
  65. package/dist/Voicemail/UcmBackendConnector.test.js +127 -17
  66. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -1
  67. package/dist/Voicemail/Voicemail.js +198 -79
  68. package/dist/Voicemail/Voicemail.js.map +1 -1
  69. package/dist/Voicemail/Voicemail.test.js +188 -23
  70. package/dist/Voicemail/Voicemail.test.js.map +1 -1
  71. package/dist/Voicemail/WxCallBackendConnector.js +277 -161
  72. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -1
  73. package/dist/Voicemail/WxCallBackendConnector.test.js +268 -10
  74. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -1
  75. package/dist/Voicemail/constants.js +25 -1
  76. package/dist/Voicemail/constants.js.map +1 -1
  77. package/dist/Voicemail/types.js.map +1 -1
  78. package/dist/common/Utils.js +168 -104
  79. package/dist/common/Utils.js.map +1 -1
  80. package/dist/common/Utils.test.js +199 -35
  81. package/dist/common/Utils.test.js.map +1 -1
  82. package/dist/common/constants.js +2 -1
  83. package/dist/common/constants.js.map +1 -1
  84. package/dist/common/testUtil.js +3 -0
  85. package/dist/common/testUtil.js.map +1 -1
  86. package/dist/common/types.js.map +1 -1
  87. package/dist/index.js +12 -0
  88. package/dist/index.js.map +1 -1
  89. package/dist/module/CallHistory/CallHistory.js +32 -13
  90. package/dist/module/CallHistory/constants.js +6 -0
  91. package/dist/module/CallSettings/CallSettings.js +36 -3
  92. package/dist/module/CallSettings/UcmBackendConnector.js +50 -5
  93. package/dist/module/CallSettings/WxCallBackendConnector.js +54 -18
  94. package/dist/module/CallSettings/constants.js +12 -0
  95. package/dist/module/CallingClient/CallingClient.js +54 -16
  96. package/dist/module/CallingClient/calling/call.js +172 -121
  97. package/dist/module/CallingClient/calling/callManager.js +51 -26
  98. package/dist/module/CallingClient/constants.js +102 -2
  99. package/dist/module/CallingClient/line/index.js +37 -8
  100. package/dist/module/CallingClient/registration/register.js +103 -64
  101. package/dist/module/Contacts/ContactsClient.js +65 -21
  102. package/dist/module/Contacts/constants.js +10 -0
  103. package/dist/module/Errors/types.js +2 -0
  104. package/dist/module/Events/impl/index.js +1 -1
  105. package/dist/module/Metrics/index.js +57 -2
  106. package/dist/module/Metrics/types.js +3 -0
  107. package/dist/module/Voicemail/BroadworksBackendConnector.js +66 -17
  108. package/dist/module/Voicemail/UcmBackendConnector.js +51 -11
  109. package/dist/module/Voicemail/Voicemail.js +109 -9
  110. package/dist/module/Voicemail/WxCallBackendConnector.js +67 -18
  111. package/dist/module/Voicemail/constants.js +21 -0
  112. package/dist/module/common/Utils.js +51 -12
  113. package/dist/module/common/constants.js +1 -0
  114. package/dist/module/common/testUtil.js +3 -0
  115. package/dist/module/index.js +1 -0
  116. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  117. package/dist/types/CallHistory/constants.d.ts +6 -0
  118. package/dist/types/CallHistory/constants.d.ts.map +1 -1
  119. package/dist/types/CallSettings/CallSettings.d.ts.map +1 -1
  120. package/dist/types/CallSettings/UcmBackendConnector.d.ts.map +1 -1
  121. package/dist/types/CallSettings/WxCallBackendConnector.d.ts.map +1 -1
  122. package/dist/types/CallSettings/constants.d.ts +12 -0
  123. package/dist/types/CallSettings/constants.d.ts.map +1 -1
  124. package/dist/types/CallingClient/CallingClient.d.ts +2 -3
  125. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  126. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  127. package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
  128. package/dist/types/CallingClient/constants.d.ts +102 -2
  129. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  130. package/dist/types/CallingClient/line/index.d.ts.map +1 -1
  131. package/dist/types/CallingClient/registration/register.d.ts +3 -1
  132. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  133. package/dist/types/CallingClient/registration/types.d.ts +1 -0
  134. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  135. package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
  136. package/dist/types/Contacts/constants.d.ts +10 -0
  137. package/dist/types/Contacts/constants.d.ts.map +1 -1
  138. package/dist/types/Errors/types.d.ts +2 -0
  139. package/dist/types/Errors/types.d.ts.map +1 -1
  140. package/dist/types/Metrics/index.d.ts +1 -1
  141. package/dist/types/Metrics/index.d.ts.map +1 -1
  142. package/dist/types/Metrics/types.d.ts +7 -2
  143. package/dist/types/Metrics/types.d.ts.map +1 -1
  144. package/dist/types/SDKConnector/types.d.ts +11 -2
  145. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  146. package/dist/types/Voicemail/BroadworksBackendConnector.d.ts.map +1 -1
  147. package/dist/types/Voicemail/UcmBackendConnector.d.ts.map +1 -1
  148. package/dist/types/Voicemail/Voicemail.d.ts +1 -1
  149. package/dist/types/Voicemail/Voicemail.d.ts.map +1 -1
  150. package/dist/types/Voicemail/WxCallBackendConnector.d.ts +3 -1
  151. package/dist/types/Voicemail/WxCallBackendConnector.d.ts.map +1 -1
  152. package/dist/types/Voicemail/constants.d.ts +21 -0
  153. package/dist/types/Voicemail/constants.d.ts.map +1 -1
  154. package/dist/types/Voicemail/types.d.ts +1 -1
  155. package/dist/types/Voicemail/types.d.ts.map +1 -1
  156. package/dist/types/common/Utils.d.ts +4 -4
  157. package/dist/types/common/Utils.d.ts.map +1 -1
  158. package/dist/types/common/constants.d.ts +1 -0
  159. package/dist/types/common/constants.d.ts.map +1 -1
  160. package/dist/types/common/testUtil.d.ts +3 -0
  161. package/dist/types/common/testUtil.d.ts.map +1 -1
  162. package/dist/types/common/types.d.ts +12 -0
  163. package/dist/types/common/types.d.ts.map +1 -1
  164. package/dist/types/index.d.ts +2 -0
  165. package/dist/types/index.d.ts.map +1 -1
  166. package/package.json +4 -3
@@ -1,14 +1,15 @@
1
+ import { METHOD_START_MESSAGE } from '../common/constants';
1
2
  import SDKConnector from '../SDKConnector';
2
3
  import { CALLING_BACKEND } from '../common/types';
3
4
  import log from '../Logger';
4
- import { getCallingBackEnd } from '../common/Utils';
5
+ import { getCallingBackEnd, uploadLogs } from '../common/Utils';
5
6
  import { WxCallBackendConnector } from './WxCallBackendConnector';
6
7
  import { BroadworksBackendConnector } from './BroadworksBackendConnector';
7
8
  import { Eventing } from '../Events/impl';
8
9
  import { UcmBackendConnector } from './UcmBackendConnector';
9
10
  import { METRIC_EVENT, METRIC_TYPE, VOICEMAIL_ACTION } from '../Metrics/types';
10
11
  import { getMetricManager } from '../Metrics';
11
- import { VOICEMAIL_FILE } from './constants';
12
+ import { VOICEMAIL_FILE, METHODS } from './constants';
12
13
  export class Voicemail extends Eventing {
13
14
  logger;
14
15
  sdkConnector;
@@ -29,11 +30,34 @@ export class Voicemail extends Eventing {
29
30
  this.initializeBackendConnector();
30
31
  log.setLogger(logger.level, VOICEMAIL_FILE);
31
32
  }
32
- init() {
33
- const response = this.backendConnector.init();
34
- return response;
33
+ async init() {
34
+ try {
35
+ log.info(METHOD_START_MESSAGE, {
36
+ file: VOICEMAIL_FILE,
37
+ method: METHODS.INIT,
38
+ });
39
+ const response = this.backendConnector.init();
40
+ log.log('Voicemail connector initialized successfully', {
41
+ file: VOICEMAIL_FILE,
42
+ method: METHODS.INIT,
43
+ });
44
+ return response;
45
+ }
46
+ catch (err) {
47
+ const extendedError = new Error(`Failed to initialize voicemail: ${err}`);
48
+ log.error(extendedError, {
49
+ file: VOICEMAIL_FILE,
50
+ method: METHODS.INIT,
51
+ });
52
+ await uploadLogs();
53
+ throw err;
54
+ }
35
55
  }
36
56
  initializeBackendConnector() {
57
+ log.info(METHOD_START_MESSAGE, {
58
+ file: VOICEMAIL_FILE,
59
+ method: METHODS.INITIALIZE_BACKEND_CONNECTOR,
60
+ });
37
61
  switch (this.callingBackend) {
38
62
  case CALLING_BACKEND.WXC: {
39
63
  this.backendConnector = new WxCallBackendConnector(this.webex, this.logger);
@@ -62,46 +86,122 @@ export class Voicemail extends Eventing {
62
86
  }
63
87
  }
64
88
  async getVoicemailList(offset, offsetLimit, sort, refresh) {
65
- const response = await this.backendConnector.getVoicemailList(offset, offsetLimit, sort, refresh);
66
- this.submitMetric(response, VOICEMAIL_ACTION.GET_VOICEMAILS);
67
- return response;
89
+ try {
90
+ log.info(`${METHOD_START_MESSAGE} with: offset=${offset}, limit=${offsetLimit}, sort=${sort}, refresh=${refresh}`, {
91
+ file: VOICEMAIL_FILE,
92
+ method: METHODS.GET_VOICEMAIL_LIST,
93
+ });
94
+ const response = await this.backendConnector.getVoicemailList(offset, offsetLimit, sort, refresh);
95
+ this.submitMetric(response, VOICEMAIL_ACTION.GET_VOICEMAILS);
96
+ log.log(`Successfully retrieved voicemail list: statusCode=${response.statusCode}`, {
97
+ file: VOICEMAIL_FILE,
98
+ method: METHODS.GET_VOICEMAIL_LIST,
99
+ });
100
+ return response;
101
+ }
102
+ catch (err) {
103
+ const extendedError = new Error(`Failed to get voicemail list: ${err}`);
104
+ log.error(extendedError, {
105
+ file: VOICEMAIL_FILE,
106
+ method: METHODS.GET_VOICEMAIL_LIST,
107
+ });
108
+ await uploadLogs();
109
+ throw err;
110
+ }
68
111
  }
69
112
  async getVoicemailContent(messageId) {
113
+ log.info(`${METHOD_START_MESSAGE} with: messageId=${messageId}`, {
114
+ file: VOICEMAIL_FILE,
115
+ method: METHODS.GET_VOICEMAIL_CONTENT,
116
+ });
70
117
  const response = await this.backendConnector.getVoicemailContent(messageId);
71
118
  this.submitMetric(response, VOICEMAIL_ACTION.GET_VOICEMAIL_CONTENT, messageId);
119
+ log.log(`Successfully retrieved voicemail content for messageId=${messageId}, statusCode=${response.statusCode}`, {
120
+ file: VOICEMAIL_FILE,
121
+ method: METHODS.GET_VOICEMAIL_CONTENT,
122
+ });
72
123
  return response;
73
124
  }
74
125
  async getVoicemailSummary() {
126
+ log.info(METHOD_START_MESSAGE, {
127
+ file: VOICEMAIL_FILE,
128
+ method: METHODS.GET_VOICEMAIL_SUMMARY,
129
+ });
75
130
  const response = await this.backendConnector.getVoicemailSummary();
76
131
  if (response !== null) {
77
132
  this.submitMetric(response, VOICEMAIL_ACTION.GET_VOICEMAIL_SUMMARY);
133
+ log.log(`Successfully retrieved voicemail summary: statusCode=${response.statusCode}`, {
134
+ file: VOICEMAIL_FILE,
135
+ method: METHODS.GET_VOICEMAIL_SUMMARY,
136
+ });
78
137
  }
79
138
  return response;
80
139
  }
81
140
  async voicemailMarkAsRead(messageId) {
141
+ log.info(`${METHOD_START_MESSAGE} with: messageId=${messageId}`, {
142
+ file: VOICEMAIL_FILE,
143
+ method: METHODS.VOICEMAIL_MARK_AS_READ,
144
+ });
82
145
  const response = await this.backendConnector.voicemailMarkAsRead(messageId);
83
146
  this.submitMetric(response, VOICEMAIL_ACTION.MARK_READ, messageId);
147
+ log.log(`Successfully marked voicemail as read: messageId=${messageId}, statusCode=${response.statusCode}`, {
148
+ file: VOICEMAIL_FILE,
149
+ method: METHODS.VOICEMAIL_MARK_AS_READ,
150
+ });
84
151
  return response;
85
152
  }
86
153
  async voicemailMarkAsUnread(messageId) {
154
+ log.info(`${METHOD_START_MESSAGE} with: messageId=${messageId}`, {
155
+ file: VOICEMAIL_FILE,
156
+ method: METHODS.VOICEMAIL_MARK_AS_UNREAD,
157
+ });
87
158
  const response = await this.backendConnector.voicemailMarkAsUnread(messageId);
88
159
  this.submitMetric(response, VOICEMAIL_ACTION.MARK_UNREAD, messageId);
160
+ log.log(`Successfully marked voicemail as unread: messageId=${messageId}, statusCode=${response.statusCode}`, {
161
+ file: VOICEMAIL_FILE,
162
+ method: METHODS.VOICEMAIL_MARK_AS_UNREAD,
163
+ });
89
164
  return response;
90
165
  }
91
166
  async deleteVoicemail(messageId) {
167
+ log.info(`${METHOD_START_MESSAGE} with: messageId=${messageId}`, {
168
+ file: VOICEMAIL_FILE,
169
+ method: METHODS.DELETE_VOICEMAIL,
170
+ });
92
171
  const response = await this.backendConnector.deleteVoicemail(messageId);
93
172
  this.submitMetric(response, VOICEMAIL_ACTION.DELETE, messageId);
173
+ log.log(`Successfully deleted voicemail: messageId=${messageId}, statusCode=${response.statusCode}`, {
174
+ file: VOICEMAIL_FILE,
175
+ method: METHODS.DELETE_VOICEMAIL,
176
+ });
94
177
  return response;
95
178
  }
96
179
  async getVMTranscript(messageId) {
180
+ log.info(`${METHOD_START_MESSAGE} with: messageId=${messageId}`, {
181
+ file: VOICEMAIL_FILE,
182
+ method: METHODS.GET_VM_TRANSCRIPT,
183
+ });
97
184
  const response = await this.backendConnector.getVMTranscript(messageId);
98
185
  if (response !== null) {
99
186
  this.submitMetric(response, VOICEMAIL_ACTION.TRANSCRIPT, messageId);
187
+ log.log(`Successfully retrieved voicemail transcript: messageId=${messageId}, statusCode=${response.statusCode}`, {
188
+ file: VOICEMAIL_FILE,
189
+ method: METHODS.GET_VM_TRANSCRIPT,
190
+ });
100
191
  }
101
192
  return response;
102
193
  }
103
194
  resolveContact(callingPartyInfo) {
104
- return this.backendConnector.resolveContact(callingPartyInfo);
195
+ log.info(METHOD_START_MESSAGE, {
196
+ file: VOICEMAIL_FILE,
197
+ method: METHODS.RESOLVE_CONTACT,
198
+ });
199
+ const response = this.backendConnector.resolveContact(callingPartyInfo);
200
+ log.log('Contact resolution completed successfully', {
201
+ file: VOICEMAIL_FILE,
202
+ method: METHODS.RESOLVE_CONTACT,
203
+ });
204
+ return response;
105
205
  }
106
206
  getSDKConnector() {
107
207
  return this.sdkConnector;
@@ -1,9 +1,9 @@
1
1
  import SDKConnector from '../SDKConnector';
2
- import { RAW_REQUEST, SUCCESS_MESSAGE, SUCCESS_STATUS_CODE, TRANSCRIPT, USER, XML_TYPE, BW_XSI_ENDPOINT_VERSION, WEBEX_CALLING_CONNECTOR_FILE, } from '../common/constants';
3
- import { serviceErrorCodeHandler, getXsiActionEndpoint, getSortedVoicemailList, resolveContact, storeVoicemailList, fetchVoicemailList, } from '../common/Utils';
2
+ import { RAW_REQUEST, SUCCESS_MESSAGE, SUCCESS_STATUS_CODE, TRANSCRIPT, USER, XML_TYPE, BW_XSI_ENDPOINT_VERSION, WEBEX_CALLING_CONNECTOR_FILE, METHOD_START_MESSAGE, } from '../common/constants';
3
+ import { serviceErrorCodeHandler, getXsiActionEndpoint, getSortedVoicemailList, resolveContact, storeVoicemailList, fetchVoicemailList, uploadLogs, } from '../common/Utils';
4
4
  import { CALLING_BACKEND, HTTP_METHODS, SORT, } from '../common/types';
5
5
  import log from '../Logger';
6
- import { JSON_FORMAT, MARK_AS_READ, MARK_AS_UNREAD, MESSAGE_MEDIA_CONTENT, TRANSCRIPT_CONTENT, VOICE_MESSAGING_MESSAGES, NO_VOICEMAIL_MSG, NO_VOICEMAIL_STATUS_CODE, RADIX_RAND, PREFIX, TRANSCRIPT_STATUS, MESSAGE_SUMMARY, CALLS, SUMMARY, NEW_MESSAGES, NEW_URGENT_MESSAGES, OLD_URGENT_MESSAGES, OLD_MESSAGES, } from './constants';
6
+ import { JSON_FORMAT, MARK_AS_READ, MARK_AS_UNREAD, MESSAGE_MEDIA_CONTENT, TRANSCRIPT_CONTENT, VOICE_MESSAGING_MESSAGES, NO_VOICEMAIL_MSG, NO_VOICEMAIL_STATUS_CODE, RADIX_RAND, PREFIX, TRANSCRIPT_STATUS, MESSAGE_SUMMARY, CALLS, SUMMARY, NEW_MESSAGES, NEW_URGENT_MESSAGES, OLD_URGENT_MESSAGES, OLD_MESSAGES, METHODS, } from './constants';
7
7
  export class WxCallBackendConnector {
8
8
  xsiEndpoint;
9
9
  userId;
@@ -11,6 +11,7 @@ export class WxCallBackendConnector {
11
11
  sdkConnector;
12
12
  xsiVoiceMessageURI;
13
13
  webex;
14
+ authHeaders = null;
14
15
  constructor(webex, logger) {
15
16
  this.sdkConnector = SDKConnector;
16
17
  if (!this.sdkConnector.getWebex()) {
@@ -21,12 +22,13 @@ export class WxCallBackendConnector {
21
22
  this.userId = this.webex.internal.device.userId;
22
23
  log.setLogger(logger.level, WEBEX_CALLING_CONNECTOR_FILE);
23
24
  }
24
- init() {
25
+ async init() {
26
+ this.authHeaders = await this.getAuthHeaders();
25
27
  const loggerContext = {
26
28
  file: WEBEX_CALLING_CONNECTOR_FILE,
27
- method: 'init',
29
+ method: METHODS.INIT,
28
30
  };
29
- log.info('Initializing Webex calling voicemail connector', loggerContext);
31
+ log.info(METHOD_START_MESSAGE, loggerContext);
30
32
  const response = this.setXsiVoiceMessageURI();
31
33
  return response;
32
34
  }
@@ -37,10 +39,11 @@ export class WxCallBackendConnector {
37
39
  let responseDetails;
38
40
  const loggerContext = {
39
41
  file: WEBEX_CALLING_CONNECTOR_FILE,
40
- method: 'setXsiVoiceMessageURI',
42
+ method: METHODS.SET_XSI_VOICE_MESSAGE_URI,
41
43
  };
44
+ log.info(METHOD_START_MESSAGE, loggerContext);
42
45
  this.xsiEndpoint = await getXsiActionEndpoint(this.webex, loggerContext, CALLING_BACKEND.WXC);
43
- log.info(`XsiEndpoint is ${this.xsiEndpoint}`, loggerContext);
46
+ log.log(`XsiEndpoint is ${this.xsiEndpoint}`, loggerContext);
44
47
  if (this.userId) {
45
48
  this.xsiVoiceMessageURI = `${this.xsiEndpoint}/${BW_XSI_ENDPOINT_VERSION}/${USER}/${this.userId}/${VOICE_MESSAGING_MESSAGES}`;
46
49
  responseDetails = {
@@ -54,9 +57,9 @@ export class WxCallBackendConnector {
54
57
  async getVoicemailList(offset, offsetLimit, sort, refresh) {
55
58
  const loggerContext = {
56
59
  file: WEBEX_CALLING_CONNECTOR_FILE,
57
- method: 'getVoicemailList',
60
+ method: METHODS.GET_VOICEMAIL_LIST,
58
61
  };
59
- log.info(`Offset: ${offset} Offset limit: ${offsetLimit} Sort type:${sort}`, loggerContext);
62
+ log.info(`${METHOD_START_MESSAGE} with Offset: ${offset} Offset limit: ${offsetLimit} Sort type:${sort}`, loggerContext);
60
63
  let messageinfo;
61
64
  if (refresh) {
62
65
  const urlXsi = `${this.xsiVoiceMessageURI}${JSON_FORMAT}`;
@@ -65,6 +68,7 @@ export class WxCallBackendConnector {
65
68
  const response = await this.webex.request({
66
69
  uri: `${urlXsi}`,
67
70
  method: HTTP_METHODS.GET,
71
+ headers: { ...this.authHeaders },
68
72
  });
69
73
  const voicemailListResponse = response.body;
70
74
  if (Object.keys(voicemailListResponse?.VoiceMessagingMessages?.messageInfoList).length === 0) {
@@ -82,6 +86,9 @@ export class WxCallBackendConnector {
82
86
  }
83
87
  catch (err) {
84
88
  const errorInfo = err;
89
+ const extendedError = new Error(`Failed to get voicemail list: ${err}`);
90
+ log.error(extendedError, loggerContext);
91
+ await uploadLogs();
85
92
  const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);
86
93
  return errorStatus;
87
94
  }
@@ -94,18 +101,21 @@ export class WxCallBackendConnector {
94
101
  },
95
102
  message: moreVMAvailable ? SUCCESS_MESSAGE : NO_VOICEMAIL_MSG,
96
103
  };
104
+ log.log('Successfully fetched voicemail list', loggerContext);
97
105
  return responseDetails;
98
106
  }
99
107
  async getVoicemailContent(messageId) {
100
108
  const loggerContext = {
101
109
  file: WEBEX_CALLING_CONNECTOR_FILE,
102
- method: 'getVoicemailContent',
110
+ method: METHODS.GET_VOICEMAIL_CONTENT,
103
111
  };
112
+ log.info(`${METHOD_START_MESSAGE} with messageId: ${messageId}`, loggerContext);
104
113
  try {
105
114
  const voicemailContentUrl = `${this.xsiEndpoint}${messageId}`;
106
115
  const response = await this.webex.request({
107
116
  uri: `${voicemailContentUrl}`,
108
117
  method: HTTP_METHODS.GET,
118
+ headers: { ...this.authHeaders },
109
119
  });
110
120
  const parser = new DOMParser();
111
121
  const xmlDOM = parser.parseFromString(response[RAW_REQUEST].response, XML_TYPE);
@@ -123,25 +133,30 @@ export class WxCallBackendConnector {
123
133
  },
124
134
  message: SUCCESS_MESSAGE,
125
135
  };
136
+ log.log('Successfully fetched voicemail content', loggerContext);
126
137
  return responseDetails;
127
138
  }
128
139
  catch (err) {
129
140
  const errorInfo = err;
141
+ const extendedError = new Error(`Failed to get voicemail content: ${err}`);
142
+ log.error(extendedError, loggerContext);
143
+ await uploadLogs();
130
144
  const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);
131
- log.info(`Voice mail content error is ${errorStatus}`, loggerContext);
132
145
  return errorStatus;
133
146
  }
134
147
  }
135
148
  async getVoicemailSummary() {
136
149
  const loggerContext = {
137
150
  file: WEBEX_CALLING_CONNECTOR_FILE,
138
- method: 'getVoicemailSummary',
151
+ method: METHODS.GET_VOICEMAIL_SUMMARY,
139
152
  };
153
+ log.info(METHOD_START_MESSAGE, loggerContext);
140
154
  try {
141
155
  const voicemailSummaryUrl = `${this.xsiEndpoint}/${BW_XSI_ENDPOINT_VERSION}/${USER}/${this.userId}/${CALLS}/${MESSAGE_SUMMARY}`;
142
156
  const response = await this.webex.request({
143
157
  uri: `${voicemailSummaryUrl}`,
144
158
  method: HTTP_METHODS.GET,
159
+ headers: { ...this.authHeaders },
145
160
  });
146
161
  const parser = new DOMParser();
147
162
  const xmlDOM = parser.parseFromString(response[RAW_REQUEST].response, XML_TYPE);
@@ -162,35 +177,44 @@ export class WxCallBackendConnector {
162
177
  },
163
178
  message: SUCCESS_MESSAGE,
164
179
  };
180
+ log.log('Successfully fetched voicemail summary', loggerContext);
165
181
  return responseDetails;
166
182
  }
167
183
  catch (err) {
168
184
  const errorInfo = err;
185
+ const extendedError = new Error(`Failed to get voicemail summary: ${err}`);
186
+ log.error(extendedError, loggerContext);
187
+ await uploadLogs();
169
188
  const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);
170
- log.error(new Error(`Voicemail summary error is ${errorStatus}`), loggerContext);
171
189
  return errorStatus;
172
190
  }
173
191
  }
174
192
  async voicemailMarkAsRead(messageId) {
175
193
  const loggerContext = {
176
194
  file: WEBEX_CALLING_CONNECTOR_FILE,
177
- method: 'voicemailMarkAsRead',
195
+ method: METHODS.VOICEMAIL_MARK_AS_READ,
178
196
  };
197
+ log.info(`${METHOD_START_MESSAGE} with messageId: ${messageId}`, loggerContext);
179
198
  try {
180
199
  const voicemailContentUrl = `${this.xsiEndpoint}${messageId}/${MARK_AS_READ}`;
181
200
  const response = await this.webex.request({
182
201
  uri: voicemailContentUrl,
183
202
  method: HTTP_METHODS.PUT,
203
+ headers: { ...this.authHeaders },
184
204
  });
185
205
  const responseDetails = {
186
206
  statusCode: Number(response.statusCode),
187
207
  data: {},
188
208
  message: SUCCESS_MESSAGE,
189
209
  };
210
+ log.log('Successfully marked voicemail as read', loggerContext);
190
211
  return responseDetails;
191
212
  }
192
213
  catch (err) {
193
214
  const errorInfo = err;
215
+ const extendedError = new Error(`Failed to mark voicemail as read: ${err}`);
216
+ log.error(extendedError, loggerContext);
217
+ await uploadLogs();
194
218
  const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);
195
219
  return errorStatus;
196
220
  }
@@ -198,23 +222,29 @@ export class WxCallBackendConnector {
198
222
  async voicemailMarkAsUnread(messageId) {
199
223
  const loggerContext = {
200
224
  file: WEBEX_CALLING_CONNECTOR_FILE,
201
- method: 'voicemailMarkAsUnread',
225
+ method: METHODS.VOICEMAIL_MARK_AS_UNREAD,
202
226
  };
227
+ log.info(`${METHOD_START_MESSAGE} with messageId: ${messageId}`, loggerContext);
203
228
  try {
204
229
  const voicemailContentUrl = `${this.xsiEndpoint}${messageId}/${MARK_AS_UNREAD}`;
205
230
  const response = await this.webex.request({
206
231
  uri: voicemailContentUrl,
207
232
  method: HTTP_METHODS.PUT,
233
+ headers: { ...this.authHeaders },
208
234
  });
209
235
  const responseDetails = {
210
236
  statusCode: Number(response.statusCode),
211
237
  data: {},
212
238
  message: SUCCESS_MESSAGE,
213
239
  };
240
+ log.log('Successfully marked voicemail as unread', loggerContext);
214
241
  return responseDetails;
215
242
  }
216
243
  catch (err) {
217
244
  const errorInfo = err;
245
+ const extendedError = new Error(`Failed to mark voicemail as unread: ${err}`);
246
+ log.error(extendedError, loggerContext);
247
+ await uploadLogs();
218
248
  const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);
219
249
  return errorStatus;
220
250
  }
@@ -222,23 +252,29 @@ export class WxCallBackendConnector {
222
252
  async deleteVoicemail(messageId) {
223
253
  const loggerContext = {
224
254
  file: WEBEX_CALLING_CONNECTOR_FILE,
225
- method: 'deleteVoicemail',
255
+ method: METHODS.DELETE_VOICEMAIL,
226
256
  };
257
+ log.info(`${METHOD_START_MESSAGE} with messageId: ${messageId}`, loggerContext);
227
258
  try {
228
259
  const voicemailContentUrl = `${this.xsiEndpoint}${messageId}`;
229
260
  const response = await this.webex.request({
230
261
  uri: voicemailContentUrl,
231
262
  method: HTTP_METHODS.DELETE,
263
+ headers: { ...this.authHeaders },
232
264
  });
233
265
  const responseDetails = {
234
266
  statusCode: Number(response.statusCode),
235
267
  data: {},
236
268
  message: SUCCESS_MESSAGE,
237
269
  };
270
+ log.log('Successfully deleted voicemail', loggerContext);
238
271
  return responseDetails;
239
272
  }
240
273
  catch (err) {
241
274
  const errorInfo = err;
275
+ const extendedError = new Error(`Failed to delete voicemail: ${err}`);
276
+ log.error(extendedError, loggerContext);
277
+ await uploadLogs();
242
278
  const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);
243
279
  return errorStatus;
244
280
  }
@@ -246,13 +282,15 @@ export class WxCallBackendConnector {
246
282
  async getVMTranscript(messageId) {
247
283
  const loggerContext = {
248
284
  file: WEBEX_CALLING_CONNECTOR_FILE,
249
- method: 'getVMTranscript',
285
+ method: METHODS.GET_VM_TRANSCRIPT,
250
286
  };
287
+ log.info(`${METHOD_START_MESSAGE} with messageId: ${messageId}`, loggerContext);
251
288
  try {
252
289
  const voicemailContentUrl = `${this.xsiEndpoint}${messageId}/${TRANSCRIPT}`;
253
290
  const response = await this.webex.request({
254
291
  uri: voicemailContentUrl,
255
292
  method: HTTP_METHODS.GET,
293
+ headers: { ...this.authHeaders },
256
294
  });
257
295
  const parser = new DOMParser();
258
296
  const xmlDOM = parser.parseFromString(response[RAW_REQUEST].response, XML_TYPE);
@@ -265,10 +303,14 @@ export class WxCallBackendConnector {
265
303
  },
266
304
  message: status.textContent,
267
305
  };
306
+ log.log('Successfully fetched voicemail transcript', loggerContext);
268
307
  return responseDetails;
269
308
  }
270
309
  catch (err) {
271
310
  const errorInfo = err;
311
+ const extendedError = new Error(`Failed to get voicemail transcript: ${err}`);
312
+ log.error(extendedError, loggerContext);
313
+ await uploadLogs();
272
314
  const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);
273
315
  return errorStatus;
274
316
  }
@@ -276,4 +318,11 @@ export class WxCallBackendConnector {
276
318
  resolveContact(callingPartyInfo) {
277
319
  return resolveContact(callingPartyInfo);
278
320
  }
321
+ async getAuthHeaders() {
322
+ const headers = {};
323
+ if (this.webex?.config?.fedramp) {
324
+ headers.Authorization = await this.webex.credentials.getUserToken();
325
+ }
326
+ return headers;
327
+ }
279
328
  }
@@ -27,3 +27,24 @@ export const NEW_MESSAGES = 'newMessages';
27
27
  export const OLD_MESSAGES = 'oldMessages';
28
28
  export const NEW_URGENT_MESSAGES = 'newUrgentMessages';
29
29
  export const OLD_URGENT_MESSAGES = 'oldUrgentMessages';
30
+ export const METHODS = {
31
+ INIT: 'init',
32
+ GET_SDK_CONNECTOR: 'getSDKConnector',
33
+ GET_USER_ID: 'getUserId',
34
+ GET_BW_TOKEN: 'getBwToken',
35
+ SET_XSI_VOICE_MESSAGE_URI: 'setXsiVoiceMessageURI',
36
+ GET_VOICEMAIL_LIST: 'getVoicemailList',
37
+ GET_VOICEMAIL_CONTENT: 'getVoicemailContent',
38
+ GET_VOICEMAIL_SUMMARY: 'getVoicemailSummary',
39
+ VOICEMAIL_MARK_AS_READ: 'voicemailMarkAsRead',
40
+ VOICEMAIL_MARK_AS_UNREAD: 'voicemailMarkAsUnread',
41
+ DELETE_VOICEMAIL: 'deleteVoicemail',
42
+ GET_VM_TRANSCRIPT: 'getVMTranscript',
43
+ RESOLVE_CONTACT: 'resolveContact',
44
+ GET_VOICEMAIL_CONTENT_UCM: 'getVoicemailContentUcm',
45
+ RETURN_UCM_PROMISE: 'returnUcmPromise',
46
+ INITIALIZE_BACKEND_CONNECTOR: 'initializeBackendConnector',
47
+ SUBMIT_METRIC: 'submitMetric',
48
+ GET_AUTH_HEADERS: 'getAuthHeaders',
49
+ SET_UCM_VOICE_MESSAGE_BASE_URI: 'setUcmVoiceMessageBaseURI',
50
+ };
@@ -1,4 +1,6 @@
1
1
  import * as platform from 'platform';
2
+ import { METRIC_EVENT, METRIC_TYPE, UPLOAD_LOGS_ACTION } from '../Metrics/types';
3
+ import { getMetricManager } from '../Metrics';
2
4
  import { createCallError } from '../Errors/catalog/CallError';
3
5
  import { DEVICE_ERROR_CODE, ERROR_CODE, ERROR_TYPE, CALL_ERROR_CODE, } from '../Errors/types';
4
6
  import { CALLING_BACKEND, HTTP_METHODS, RegistrationStatus, SORT, ServiceIndicator, } from './types';
@@ -76,12 +78,19 @@ export function emitFinalFailure(emitterCb, loggerContext) {
76
78
  updateLineErrorContext(loggerContext, ERROR_TYPE.SERVICE_UNAVAILABLE, 'An unknown error occurred. Wait a moment and try again. Please contact the administrator if the problem persists.', RegistrationStatus.INACTIVE, clientError);
77
79
  emitterCb(clientError);
78
80
  }
79
- export async function handleRegistrationErrors(err, emitterCb, loggerContext, restoreRegCb) {
81
+ export async function handleRegistrationErrors(err, emitterCb, loggerContext, retry429Cb, restoreRegCb) {
80
82
  const lineError = createLineError('', {}, ERROR_TYPE.DEFAULT, RegistrationStatus.INACTIVE);
81
83
  const errorCode = Number(err.statusCode);
82
84
  let finalError = false;
83
85
  log.warn(`Status code: -> ${errorCode}`, loggerContext);
84
86
  switch (errorCode) {
87
+ case ERROR_CODE.BAD_REQUEST: {
88
+ finalError = true;
89
+ log.warn(`400 Bad Request`, loggerContext);
90
+ updateLineErrorContext(loggerContext, ERROR_TYPE.BAD_REQUEST, 'Invalid input. Please verify the required parameters, sign out and then sign back in with the valid data', RegistrationStatus.INACTIVE, lineError);
91
+ emitterCb(lineError, finalError);
92
+ break;
93
+ }
85
94
  case ERROR_CODE.UNAUTHORIZED: {
86
95
  finalError = true;
87
96
  log.warn(`401 Unauthorized`, loggerContext);
@@ -89,6 +98,23 @@ export async function handleRegistrationErrors(err, emitterCb, loggerContext, re
89
98
  emitterCb(lineError, finalError);
90
99
  break;
91
100
  }
101
+ case ERROR_CODE.DEVICE_NOT_FOUND: {
102
+ finalError = true;
103
+ log.warn(`404 Device Not Found`, loggerContext);
104
+ updateLineErrorContext(loggerContext, ERROR_TYPE.NOT_FOUND, 'Webex Calling is unable to find your device. Sign out, then sign back in', RegistrationStatus.INACTIVE, lineError);
105
+ emitterCb(lineError, finalError);
106
+ break;
107
+ }
108
+ case ERROR_CODE.TOO_MANY_REQUESTS: {
109
+ log.warn(`429 Too Many Requests`, loggerContext);
110
+ updateLineErrorContext(loggerContext, ERROR_TYPE.TOO_MANY_REQUESTS, 'Server is handling too many request at the time. Wait a moment and try again', RegistrationStatus.INACTIVE, lineError);
111
+ const caller = loggerContext.method || 'handleErrors';
112
+ if (retry429Cb && err.headers) {
113
+ const retryAfter = Number(err.headers['retry-after']);
114
+ retry429Cb(retryAfter, caller);
115
+ }
116
+ break;
117
+ }
92
118
  case ERROR_CODE.INTERNAL_SERVER_ERROR: {
93
119
  log.warn(`500 Internal Server Error`, loggerContext);
94
120
  updateLineErrorContext(loggerContext, ERROR_TYPE.SERVER_ERROR, 'An unknown error occurred while placing the request. Wait a moment and try again.', RegistrationStatus.INACTIVE, lineError);
@@ -146,13 +172,6 @@ export async function handleRegistrationErrors(err, emitterCb, loggerContext, re
146
172
  }
147
173
  break;
148
174
  }
149
- case ERROR_CODE.DEVICE_NOT_FOUND: {
150
- finalError = true;
151
- log.warn(`404 Device Not Found`, loggerContext);
152
- updateLineErrorContext(loggerContext, ERROR_TYPE.NOT_FOUND, 'The client has unregistered. Please wait for the client to register before attempting the call. If error persists, sign out, sign back in and attempt the call.', RegistrationStatus.INACTIVE, lineError);
153
- emitterCb(lineError, finalError);
154
- break;
155
- }
156
175
  default: {
157
176
  updateLineErrorContext(loggerContext, ERROR_TYPE.DEFAULT, 'Unknown error', RegistrationStatus.INACTIVE, lineError);
158
177
  log.warn(`Unknown Error`, loggerContext);
@@ -179,6 +198,7 @@ export async function handleCallingClientErrors(err, emitterCb, loggerContext) {
179
198
  emitterCb(clientError, finalError);
180
199
  }
181
200
  }
201
+ await uploadLogs();
182
202
  return finalError;
183
203
  }
184
204
  export async function handleCallErrors(emitterCb, errorLayer, retryCb, correlationId, err, caller, file) {
@@ -840,15 +860,34 @@ export function modifySdpForIPv4(sdp) {
840
860
  return sdp;
841
861
  }
842
862
  }
843
- export async function uploadLogs(data = {}) {
863
+ export async function uploadLogs(metaData = {}, throwError = false) {
864
+ const webex = SDKConnector.getWebex();
865
+ const feedbackId = crypto.randomUUID();
844
866
  try {
845
- const webex = SDKConnector.getWebex();
846
- await webex.internal.support.submitLogs(data);
867
+ const response = await webex.internal.support.submitLogs({ ...metaData, feedbackId }, undefined, { type: 'diff' });
868
+ log.info(`Logs uploaded successfully with feedbackId: ${feedbackId}`, {
869
+ file: UTILS_FILE,
870
+ method: 'uploadLogs',
871
+ });
872
+ getMetricManager().submitUploadLogsMetric(METRIC_EVENT.UPLOAD_LOGS_SUCCESS, UPLOAD_LOGS_ACTION, METRIC_TYPE.BEHAVIORAL, response?.trackingid, feedbackId, metaData?.correlationId);
873
+ return {
874
+ trackingid: response.trackingid,
875
+ ...(response.url ? { url: response.url } : {}),
876
+ ...(response.userId ? { userId: response.userId } : {}),
877
+ ...(response.correlationId ? { correlationId: response.correlationId } : {}),
878
+ feedbackId,
879
+ };
847
880
  }
848
881
  catch (error) {
849
- log.error(error, {
882
+ const errorLog = new Error(`Failed to upload Logs ${error}`);
883
+ log.error(errorLog, {
850
884
  file: UTILS_FILE,
851
885
  method: 'uploadLogs',
852
886
  });
887
+ getMetricManager().submitUploadLogsMetric(METRIC_EVENT.UPLOAD_LOGS_FAILED, UPLOAD_LOGS_ACTION, METRIC_TYPE.BEHAVIORAL, feedbackId, metaData?.correlationId, errorLog.message);
888
+ if (throwError) {
889
+ throw error;
890
+ }
891
+ return undefined;
853
892
  }
854
893
  }
@@ -49,3 +49,4 @@ export const WEBEX_API_PROD = 'https://webexapis.com';
49
49
  export const WEBEX_API_BTS = 'https://integration.webexapis.com';
50
50
  export const WEBEX_API_CONFIG_INT_URL = `${WEBEX_API_BTS}/v1/uc/config`;
51
51
  export const WEBEX_API_CONFIG_PROD_URL = `${WEBEX_API_PROD}/v1/uc/config`;
52
+ export const METHOD_START_MESSAGE = 'invoking';
@@ -3,6 +3,9 @@ const MediaSDKMock = jest.createMockFromModule('@webex/internal-media-core');
3
3
  export function getTestUtilsWebex() {
4
4
  return {
5
5
  version: '1.1.1',
6
+ config: {
7
+ fedramp: false,
8
+ },
6
9
  canAuthorize: true,
7
10
  credentials: {
8
11
  getUserToken: jest.fn(),
@@ -15,3 +15,4 @@ export { CallError, LineError } from './Errors';
15
15
  export { TransferType } from './CallingClient/calling/types';
16
16
  export { LOGGER } from './Logger/types';
17
17
  export { LocalMicrophoneStream } from '@webex/media-helpers';
18
+ export { ServiceIndicator } from './common/types';
@@ -1 +1 @@
1
- {"version":3,"file":"CallHistory.d.ts","sourceRoot":"","sources":["../../../src/CallHistory/CallHistory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAIL,IAAI,EACJ,OAAO,EAER,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,yBAAyB,EAEzB,gCAAgC,EACjC,MAAM,SAAS,CAAC;AAwBjB,OAAO,EAEL,qBAAqB,EACrB,gBAAgB,EAGhB,gBAAgB,EAChB,sBAAsB,EAGtB,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAWxC,qBAAa,WAAY,SAAQ,QAAQ,CAAC,qBAAqB,CAAE,YAAW,YAAY;IACtF,OAAO,CAAC,YAAY,CAAgB;IAEpC,OAAO,CAAC,KAAK,CAAW;IAExB,OAAO,CAAC,QAAQ,CAAM;IAEtB,OAAO,CAAC,QAAQ,CAAM;IAEtB,OAAO,CAAC,aAAa,CAGnB;IAEF,OAAO,CAAC,YAAY,CAA4B;gBAKpC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe;IAmBvC,kBAAkB,CAC7B,IAAI,GAAE,MAAuB,EAC7B,KAAK,GAAE,MAAc,EACrB,IAAI,GAAE,IAAmB,EACzB,MAAM,GAAE,OAAyB,GAChC,OAAO,CAAC,kBAAkB,CAAC;IAoGjB,iBAAiB,CAC5B,iBAAiB,EAAE,gBAAgB,EAAE,GACpC,OAAO,CAAC,yBAAyB,CAAC;YAsDvB,iBAAiB;IAwClB,wBAAwB,CACnC,gBAAgB,EAAE,gBAAgB,EAAE,GACnC,OAAO,CAAC,gCAAgC,CAAC;IAyE5C,mBAAmB,WAAkB,gBAAgB,mBAInD;IAEF,2BAA2B,WAAkB,sBAAsB,mBAOjE;IAEF,+BAA+B,WAAkB,uBAAuB,mBAOtE;IAKF,OAAO,CAAC,wBAAwB;CAkBjC;AAOD,eAAO,MAAM,uBAAuB,UAAW,QAAQ,UAAU,eAAe,KAAG,YACnD,CAAC"}
1
+ {"version":3,"file":"CallHistory.d.ts","sourceRoot":"","sources":["../../../src/CallHistory/CallHistory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAIL,IAAI,EACJ,OAAO,EAER,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,yBAAyB,EAEzB,gCAAgC,EACjC,MAAM,SAAS,CAAC;AAoCjB,OAAO,EAEL,qBAAqB,EACrB,gBAAgB,EAGhB,gBAAgB,EAChB,sBAAsB,EAGtB,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAWxC,qBAAa,WAAY,SAAQ,QAAQ,CAAC,qBAAqB,CAAE,YAAW,YAAY;IACtF,OAAO,CAAC,YAAY,CAAgB;IAEpC,OAAO,CAAC,KAAK,CAAW;IAExB,OAAO,CAAC,QAAQ,CAAM;IAEtB,OAAO,CAAC,QAAQ,CAAM;IAEtB,OAAO,CAAC,aAAa,CAGnB;IAEF,OAAO,CAAC,YAAY,CAA4B;gBAKpC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe;IAmBvC,kBAAkB,CAC7B,IAAI,GAAE,MAAuB,EAC7B,KAAK,GAAE,MAAc,EACrB,IAAI,GAAE,IAAmB,EACzB,MAAM,GAAE,OAAyB,GAChC,OAAO,CAAC,kBAAkB,CAAC;IAgHjB,iBAAiB,CAC5B,iBAAiB,EAAE,gBAAgB,EAAE,GACpC,OAAO,CAAC,yBAAyB,CAAC;YAiEvB,iBAAiB;IA6ClB,wBAAwB,CACnC,gBAAgB,EAAE,gBAAgB,EAAE,GACnC,OAAO,CAAC,gCAAgC,CAAC;IA2F5C,mBAAmB,WAAkB,gBAAgB,mBAInD;IAEF,2BAA2B,WAAkB,sBAAsB,mBAOjE;IAEF,+BAA+B,WAAkB,uBAAuB,mBAOtE;IAKF,OAAO,CAAC,wBAAwB;CAkBjC;AAOD,eAAO,MAAM,uBAAuB,UAAW,QAAQ,UAAU,eAAe,KAAG,YACnD,CAAC"}
@@ -20,4 +20,10 @@ export declare const USER_SESSIONS = "userSessions";
20
20
  export declare const UPDATE_MISSED_CALLS_ENDPOINT = "setReadState";
21
21
  export declare const UNIFIED_COMMUNICATIONS = "uc";
22
22
  export declare const VERSION_1 = "v1";
23
+ export declare const METHODS: {
24
+ GET_CALL_HISTORY_DATA: string;
25
+ UPDATE_MISSED_CALLS: string;
26
+ FETCH_UCM_LINES_DATA: string;
27
+ DELETE_CALL_HISTORY_RECORDS: string;
28
+ };
23
29
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/CallHistory/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAC/C,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,eAAO,MAAM,oCAAoC,kBAAkB,CAAC;AACpE,eAAO,MAAM,SAAS,UAAU,CAAC;AACjC,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,KAAK,KAAK,CAAC;AACxB,eAAO,MAAM,KAAK,UAAU,CAAC;AAC7B,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,eAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,eAAO,MAAM,gBAAgB,oBAAoB,CAAC;AAClD,eAAO,MAAM,8BAA8B,uCAAuC,CAAC;AACnF,eAAO,MAAM,uCAAuC,kDACH,CAAC;AAClD,eAAO,MAAM,mDAAmD,8CACnB,CAAC;AAC9C,eAAO,MAAM,eAAe,YAAY,CAAC;AACzC,eAAO,MAAM,WAAW,eAAe,CAAC;AACxC,eAAO,MAAM,aAAa,iBAAiB,CAAC;AAC5C,eAAO,MAAM,4BAA4B,iBAAiB,CAAC;AAC3D,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C,eAAO,MAAM,SAAS,OAAO,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/CallHistory/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAC/C,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,eAAO,MAAM,oCAAoC,kBAAkB,CAAC;AACpE,eAAO,MAAM,SAAS,UAAU,CAAC;AACjC,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,KAAK,KAAK,CAAC;AACxB,eAAO,MAAM,KAAK,UAAU,CAAC;AAC7B,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,eAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,eAAO,MAAM,gBAAgB,oBAAoB,CAAC;AAClD,eAAO,MAAM,8BAA8B,uCAAuC,CAAC;AACnF,eAAO,MAAM,uCAAuC,kDACH,CAAC;AAClD,eAAO,MAAM,mDAAmD,8CACnB,CAAC;AAC9C,eAAO,MAAM,eAAe,YAAY,CAAC;AACzC,eAAO,MAAM,WAAW,eAAe,CAAC;AACxC,eAAO,MAAM,aAAa,iBAAiB,CAAC;AAC5C,eAAO,MAAM,4BAA4B,iBAAiB,CAAC;AAC3D,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C,eAAO,MAAM,SAAS,OAAO,CAAC;AAG9B,eAAO,MAAM,OAAO;;;;;CAKnB,CAAC"}