@webex/calling 3.12.0-next.6 → 3.12.0-next.61

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 (255) hide show
  1. package/dist/CallRecording/CallRecording.js +158 -0
  2. package/dist/CallRecording/CallRecording.js.map +1 -0
  3. package/dist/CallRecording/CallRecording.test.js +257 -0
  4. package/dist/CallRecording/CallRecording.test.js.map +1 -0
  5. package/dist/CallRecording/WxcCallRecordingConnector.js +576 -0
  6. package/dist/CallRecording/WxcCallRecordingConnector.js.map +1 -0
  7. package/dist/CallRecording/WxcCallRecordingConnector.test.js +651 -0
  8. package/dist/CallRecording/WxcCallRecordingConnector.test.js.map +1 -0
  9. package/dist/CallRecording/callRecordingFixtures.js +235 -0
  10. package/dist/CallRecording/callRecordingFixtures.js.map +1 -0
  11. package/dist/CallRecording/constants.js +49 -0
  12. package/dist/CallRecording/constants.js.map +1 -0
  13. package/dist/CallRecording/types.js +136 -0
  14. package/dist/CallRecording/types.js.map +1 -0
  15. package/dist/CallRecording/utils.js +42 -0
  16. package/dist/CallRecording/utils.js.map +1 -0
  17. package/dist/CallRecording/utils.test.js +97 -0
  18. package/dist/CallRecording/utils.test.js.map +1 -0
  19. package/dist/CallingClient/CallingClient.js +454 -224
  20. package/dist/CallingClient/CallingClient.js.map +1 -1
  21. package/dist/CallingClient/CallingClient.test.js +513 -154
  22. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  23. package/dist/CallingClient/calling/call.js +589 -445
  24. package/dist/CallingClient/calling/call.js.map +1 -1
  25. package/dist/CallingClient/calling/call.test.js +695 -445
  26. package/dist/CallingClient/calling/call.test.js.map +1 -1
  27. package/dist/CallingClient/calling/callManager.js +81 -31
  28. package/dist/CallingClient/calling/callManager.js.map +1 -1
  29. package/dist/CallingClient/calling/callManager.test.js +123 -0
  30. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  31. package/dist/CallingClient/calling/types.js +2 -0
  32. package/dist/CallingClient/calling/types.js.map +1 -1
  33. package/dist/CallingClient/constants.js +28 -3
  34. package/dist/CallingClient/constants.js.map +1 -1
  35. package/dist/CallingClient/line/index.js +4 -1
  36. package/dist/CallingClient/line/index.js.map +1 -1
  37. package/dist/CallingClient/line/line.test.js +16 -1
  38. package/dist/CallingClient/line/line.test.js.map +1 -1
  39. package/dist/CallingClient/registration/register.js +724 -407
  40. package/dist/CallingClient/registration/register.js.map +1 -1
  41. package/dist/CallingClient/registration/register.test.js +380 -58
  42. package/dist/CallingClient/registration/register.test.js.map +1 -1
  43. package/dist/CallingClient/registration/types.js.map +1 -1
  44. package/dist/CallingClient/registration/webWorker.js +41 -104
  45. package/dist/CallingClient/registration/webWorker.js.map +1 -1
  46. package/dist/CallingClient/registration/webWorker.test.js +39 -153
  47. package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
  48. package/dist/CallingClient/registration/webWorkerStr.js +1 -1
  49. package/dist/CallingClient/registration/webWorkerStr.js.map +1 -1
  50. package/dist/CallingClient/types.js.map +1 -1
  51. package/dist/CallingClient/utils/constants.js +58 -0
  52. package/dist/CallingClient/utils/constants.js.map +1 -0
  53. package/dist/CallingClient/utils/index.js +63 -0
  54. package/dist/CallingClient/utils/index.js.map +1 -0
  55. package/dist/CallingClient/utils/mobiusSocketMapper.js +122 -0
  56. package/dist/CallingClient/utils/mobiusSocketMapper.js.map +1 -0
  57. package/dist/CallingClient/utils/mobiusSocketMapper.test.js +221 -0
  58. package/dist/CallingClient/utils/mobiusSocketMapper.test.js.map +1 -0
  59. package/dist/CallingClient/utils/request.js +435 -0
  60. package/dist/CallingClient/utils/request.js.map +1 -0
  61. package/dist/CallingClient/utils/request.test.js +999 -0
  62. package/dist/CallingClient/utils/request.test.js.map +1 -0
  63. package/dist/CallingClient/utils/types.js +7 -0
  64. package/dist/CallingClient/utils/types.js.map +1 -0
  65. package/dist/CallingClient/utils/wsFeatureFlag.js +70 -0
  66. package/dist/CallingClient/utils/wsFeatureFlag.js.map +1 -0
  67. package/dist/CallingClient/utils/wsFeatureFlag.test.js +139 -0
  68. package/dist/CallingClient/utils/wsFeatureFlag.test.js.map +1 -0
  69. package/dist/Contacts/ContactsClient.js +13 -11
  70. package/dist/Contacts/ContactsClient.js.map +1 -1
  71. package/dist/Contacts/ContactsClient.test.js +3 -8
  72. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  73. package/dist/Events/types.js +38 -11
  74. package/dist/Events/types.js.map +1 -1
  75. package/dist/Metrics/index.js +63 -2
  76. package/dist/Metrics/index.js.map +1 -1
  77. package/dist/Metrics/index.test.js +357 -1
  78. package/dist/Metrics/index.test.js.map +1 -1
  79. package/dist/Metrics/types.js +19 -1
  80. package/dist/Metrics/types.js.map +1 -1
  81. package/dist/SDKConnector/types.js.map +1 -1
  82. package/dist/api.js +56 -0
  83. package/dist/api.js.map +1 -1
  84. package/dist/common/Utils.js +156 -51
  85. package/dist/common/Utils.js.map +1 -1
  86. package/dist/common/Utils.test.js +79 -0
  87. package/dist/common/Utils.test.js.map +1 -1
  88. package/dist/common/testUtil.js +10 -5
  89. package/dist/common/testUtil.js.map +1 -1
  90. package/dist/common/types.js +3 -0
  91. package/dist/common/types.js.map +1 -1
  92. package/dist/index.js +165 -40
  93. package/dist/index.js.map +1 -1
  94. package/dist/mobius-socket/config.js +24 -0
  95. package/dist/mobius-socket/config.js.map +1 -0
  96. package/dist/mobius-socket/errors.js +143 -0
  97. package/dist/mobius-socket/errors.js.map +1 -0
  98. package/dist/mobius-socket/errors.test.js +20 -0
  99. package/dist/mobius-socket/errors.test.js.map +1 -0
  100. package/dist/mobius-socket/index.js +57 -0
  101. package/dist/mobius-socket/index.js.map +1 -0
  102. package/dist/mobius-socket/mobius-socket-events.test.js +492 -0
  103. package/dist/mobius-socket/mobius-socket-events.test.js.map +1 -0
  104. package/dist/mobius-socket/mobius-socket.js +849 -0
  105. package/dist/mobius-socket/mobius-socket.js.map +1 -0
  106. package/dist/mobius-socket/mobius-socket.test.js +1898 -0
  107. package/dist/mobius-socket/mobius-socket.test.js.map +1 -0
  108. package/dist/mobius-socket/socket/constants.js +55 -0
  109. package/dist/mobius-socket/socket/constants.js.map +1 -0
  110. package/dist/mobius-socket/socket/index.js +15 -0
  111. package/dist/mobius-socket/socket/index.js.map +1 -0
  112. package/dist/mobius-socket/socket/socket-base.js +604 -0
  113. package/dist/mobius-socket/socket/socket-base.js.map +1 -0
  114. package/dist/mobius-socket/socket/socket.js +19 -0
  115. package/dist/mobius-socket/socket/socket.js.map +1 -0
  116. package/dist/mobius-socket/socket/socket.shim.js +26 -0
  117. package/dist/mobius-socket/socket/socket.shim.js.map +1 -0
  118. package/dist/mobius-socket/socket/types.js +7 -0
  119. package/dist/mobius-socket/socket/types.js.map +1 -0
  120. package/dist/mobius-socket/socket.test.js +727 -0
  121. package/dist/mobius-socket/socket.test.js.map +1 -0
  122. package/dist/mobius-socket/test/mocha-helpers.js +23 -0
  123. package/dist/mobius-socket/test/mocha-helpers.js.map +1 -0
  124. package/dist/mobius-socket/test/promise-tick.js +28 -0
  125. package/dist/mobius-socket/test/promise-tick.js.map +1 -0
  126. package/dist/mobius-socket/types.js +7 -0
  127. package/dist/mobius-socket/types.js.map +1 -0
  128. package/dist/module/CallRecording/CallRecording.js +56 -0
  129. package/dist/module/CallRecording/WxcCallRecordingConnector.js +264 -0
  130. package/dist/module/CallRecording/callRecordingFixtures.js +201 -0
  131. package/dist/module/CallRecording/constants.js +27 -0
  132. package/dist/module/CallRecording/types.js +19 -0
  133. package/dist/module/CallRecording/utils.js +14 -0
  134. package/dist/module/CallingClient/CallingClient.js +126 -10
  135. package/dist/module/CallingClient/calling/call.js +177 -61
  136. package/dist/module/CallingClient/calling/callManager.js +39 -7
  137. package/dist/module/CallingClient/calling/types.js +2 -0
  138. package/dist/module/CallingClient/constants.js +24 -0
  139. package/dist/module/CallingClient/line/index.js +2 -2
  140. package/dist/module/CallingClient/registration/register.js +239 -63
  141. package/dist/module/CallingClient/registration/webWorker.js +42 -61
  142. package/dist/module/CallingClient/registration/webWorkerStr.js +47 -82
  143. package/dist/module/CallingClient/utils/constants.js +36 -0
  144. package/dist/module/CallingClient/utils/index.js +5 -0
  145. package/dist/module/CallingClient/utils/mobiusSocketMapper.js +72 -0
  146. package/dist/module/CallingClient/utils/request.js +211 -0
  147. package/dist/module/CallingClient/utils/types.js +1 -0
  148. package/dist/module/CallingClient/utils/wsFeatureFlag.js +41 -0
  149. package/dist/module/Contacts/ContactsClient.js +1 -1
  150. package/dist/module/Events/types.js +23 -10
  151. package/dist/module/Metrics/index.js +48 -1
  152. package/dist/module/Metrics/types.js +18 -0
  153. package/dist/module/api.js +3 -2
  154. package/dist/module/common/Utils.js +60 -17
  155. package/dist/module/common/testUtil.js +6 -1
  156. package/dist/module/common/types.js +3 -0
  157. package/dist/module/index.js +7 -3
  158. package/dist/module/mobius-socket/config.js +15 -0
  159. package/dist/module/mobius-socket/errors.js +58 -0
  160. package/dist/module/mobius-socket/index.js +24 -0
  161. package/dist/module/mobius-socket/mobius-socket.js +593 -0
  162. package/dist/module/mobius-socket/socket/constants.js +26 -0
  163. package/dist/module/mobius-socket/socket/index.js +4 -0
  164. package/dist/module/mobius-socket/socket/socket-base.js +368 -0
  165. package/dist/module/mobius-socket/socket/socket.js +9 -0
  166. package/dist/module/mobius-socket/socket/socket.shim.js +12 -0
  167. package/dist/module/mobius-socket/socket/types.js +1 -0
  168. package/dist/module/mobius-socket/types.js +1 -0
  169. package/dist/types/CallRecording/CallRecording.d.ts +18 -0
  170. package/dist/types/CallRecording/CallRecording.d.ts.map +1 -0
  171. package/dist/types/CallRecording/WxcCallRecordingConnector.d.ts +23 -0
  172. package/dist/types/CallRecording/WxcCallRecordingConnector.d.ts.map +1 -0
  173. package/dist/types/CallRecording/callRecordingFixtures.d.ts +61 -0
  174. package/dist/types/CallRecording/callRecordingFixtures.d.ts.map +1 -0
  175. package/dist/types/CallRecording/constants.d.ts +28 -0
  176. package/dist/types/CallRecording/constants.d.ts.map +1 -0
  177. package/dist/types/CallRecording/types.d.ts +176 -0
  178. package/dist/types/CallRecording/types.d.ts.map +1 -0
  179. package/dist/types/CallRecording/utils.d.ts +3 -0
  180. package/dist/types/CallRecording/utils.d.ts.map +1 -0
  181. package/dist/types/CallingClient/CallingClient.d.ts +8 -0
  182. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  183. package/dist/types/CallingClient/calling/call.d.ts +12 -0
  184. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  185. package/dist/types/CallingClient/calling/callManager.d.ts +4 -2
  186. package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
  187. package/dist/types/CallingClient/calling/types.d.ts +34 -9
  188. package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
  189. package/dist/types/CallingClient/constants.d.ts +24 -0
  190. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  191. package/dist/types/CallingClient/line/index.d.ts +1 -1
  192. package/dist/types/CallingClient/line/index.d.ts.map +1 -1
  193. package/dist/types/CallingClient/registration/register.d.ts +7 -1
  194. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  195. package/dist/types/CallingClient/registration/types.d.ts +4 -2
  196. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  197. package/dist/types/CallingClient/registration/webWorker.d.ts.map +1 -1
  198. package/dist/types/CallingClient/registration/webWorkerStr.d.ts +1 -1
  199. package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -1
  200. package/dist/types/CallingClient/types.d.ts +1 -0
  201. package/dist/types/CallingClient/types.d.ts.map +1 -1
  202. package/dist/types/CallingClient/utils/constants.d.ts +35 -0
  203. package/dist/types/CallingClient/utils/constants.d.ts.map +1 -0
  204. package/dist/types/CallingClient/utils/index.d.ts +6 -0
  205. package/dist/types/CallingClient/utils/index.d.ts.map +1 -0
  206. package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts +5 -0
  207. package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts.map +1 -0
  208. package/dist/types/CallingClient/utils/request.d.ts +28 -0
  209. package/dist/types/CallingClient/utils/request.d.ts.map +1 -0
  210. package/dist/types/CallingClient/utils/types.d.ts +34 -0
  211. package/dist/types/CallingClient/utils/types.d.ts.map +1 -0
  212. package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts +4 -0
  213. package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts.map +1 -0
  214. package/dist/types/Events/types.d.ts +79 -15
  215. package/dist/types/Events/types.d.ts.map +1 -1
  216. package/dist/types/Metrics/index.d.ts.map +1 -1
  217. package/dist/types/Metrics/types.d.ts +19 -2
  218. package/dist/types/Metrics/types.d.ts.map +1 -1
  219. package/dist/types/SDKConnector/types.d.ts +39 -12
  220. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  221. package/dist/types/api.d.ts +6 -4
  222. package/dist/types/api.d.ts.map +1 -1
  223. package/dist/types/common/Utils.d.ts +11 -3
  224. package/dist/types/common/Utils.d.ts.map +1 -1
  225. package/dist/types/common/testUtil.d.ts +5 -1
  226. package/dist/types/common/testUtil.d.ts.map +1 -1
  227. package/dist/types/common/types.d.ts +5 -1
  228. package/dist/types/common/types.d.ts.map +1 -1
  229. package/dist/types/index.d.ts +8 -3
  230. package/dist/types/index.d.ts.map +1 -1
  231. package/dist/types/mobius-socket/config.d.ts +17 -0
  232. package/dist/types/mobius-socket/config.d.ts.map +1 -0
  233. package/dist/types/mobius-socket/errors.d.ts +32 -0
  234. package/dist/types/mobius-socket/errors.d.ts.map +1 -0
  235. package/dist/types/mobius-socket/index.d.ts +14 -0
  236. package/dist/types/mobius-socket/index.d.ts.map +1 -0
  237. package/dist/types/mobius-socket/mobius-socket.d.ts +48 -0
  238. package/dist/types/mobius-socket/mobius-socket.d.ts.map +1 -0
  239. package/dist/types/mobius-socket/socket/constants.d.ts +27 -0
  240. package/dist/types/mobius-socket/socket/constants.d.ts.map +1 -0
  241. package/dist/types/mobius-socket/socket/index.d.ts +5 -0
  242. package/dist/types/mobius-socket/socket/index.d.ts.map +1 -0
  243. package/dist/types/mobius-socket/socket/socket-base.d.ts +43 -0
  244. package/dist/types/mobius-socket/socket/socket-base.d.ts.map +1 -0
  245. package/dist/types/mobius-socket/socket/socket.d.ts +6 -0
  246. package/dist/types/mobius-socket/socket/socket.d.ts.map +1 -0
  247. package/dist/types/mobius-socket/socket/socket.shim.d.ts +6 -0
  248. package/dist/types/mobius-socket/socket/socket.shim.d.ts.map +1 -0
  249. package/dist/types/mobius-socket/socket/types.d.ts +61 -0
  250. package/dist/types/mobius-socket/socket/types.d.ts.map +1 -0
  251. package/dist/types/mobius-socket/types.d.ts +21 -0
  252. package/dist/types/mobius-socket/types.d.ts.map +1 -0
  253. package/package.json +20 -5
  254. package/src/mobius-socket/socket/socket.shim.ts +22 -0
  255. package/src/mobius-socket/socket/socket.ts +14 -0
@@ -365,7 +365,7 @@ var MetricManager = /*#__PURE__*/function () {
365
365
  */
366
366
  }, {
367
367
  key: "submitMediaMetric",
368
- value: function submitMediaMetric(name, metricAction, type, callId, correlationId, localSdp, remoteSdp, callError) {
368
+ value: function submitMediaMetric(name, metricAction, type, callId, correlationId, localSdp, remoteSdp, state, callError) {
369
369
  var data;
370
370
  switch (name) {
371
371
  case _types2.METRIC_EVENT.MEDIA:
@@ -384,7 +384,8 @@ var MetricManager = /*#__PURE__*/function () {
384
384
  call_id: callId,
385
385
  correlation_id: correlationId,
386
386
  local_media_details: localSdp,
387
- remote_media_details: remoteSdp
387
+ remote_media_details: remoteSdp,
388
+ state: state
388
389
  },
389
390
  type: type
390
391
  };
@@ -518,6 +519,66 @@ var MetricManager = /*#__PURE__*/function () {
518
519
  this.webex.internal.metrics.submitClientMetrics(name, data);
519
520
  }
520
521
  }
522
+
523
+ /**
524
+ * @param name - Name of the metric being submitted (MOBIUS_SOCKET or MOBIUS_SOCKET_ERROR).
525
+ * @param metricAction - Type of Mobius WebSocket action.
526
+ * @param type - Type of metric.
527
+ * @param wssUrl - The Mobius WebSocket URL involved in the action.
528
+ * @param trackingId - Tracking ID associated with the operation, if any.
529
+ * @param error - Error string used to populate error details (for MOBIUS_SOCKET_ERROR).
530
+ * @param eventType - Type of async event received over the socket, if applicable.
531
+ */
532
+ }, {
533
+ key: "submitMobiusSocketMetric",
534
+ value: function submitMobiusSocketMetric(name, metricAction, type, wssUrl, trackingId, error, eventType) {
535
+ var _this$deviceInfo39, _this$deviceInfo39$de, _this$deviceInfo40, _this$deviceInfo40$de, _this$deviceInfo41, _this$deviceInfo41$de;
536
+ var data;
537
+ var commonTags = {
538
+ action: metricAction,
539
+ device_id: (_this$deviceInfo39 = this.deviceInfo) === null || _this$deviceInfo39 === void 0 ? void 0 : (_this$deviceInfo39$de = _this$deviceInfo39.device) === null || _this$deviceInfo39$de === void 0 ? void 0 : _this$deviceInfo39$de.deviceId,
540
+ service_indicator: this.serviceIndicator
541
+ };
542
+ var commonFields = {
543
+ device_url: (_this$deviceInfo40 = this.deviceInfo) === null || _this$deviceInfo40 === void 0 ? void 0 : (_this$deviceInfo40$de = _this$deviceInfo40.device) === null || _this$deviceInfo40$de === void 0 ? void 0 : _this$deviceInfo40$de.clientDeviceUri,
544
+ mobius_url: (_this$deviceInfo41 = this.deviceInfo) === null || _this$deviceInfo41 === void 0 ? void 0 : (_this$deviceInfo41$de = _this$deviceInfo41.device) === null || _this$deviceInfo41$de === void 0 ? void 0 : _this$deviceInfo41$de.uri,
545
+ calling_sdk_version: process.env.CALLING_SDK_VERSION || _constants.VERSION,
546
+ wss_url: wssUrl,
547
+ tracking_id: trackingId,
548
+ event_type: eventType
549
+ };
550
+ switch (name) {
551
+ case _types2.METRIC_EVENT.MOBIUS_SOCKET:
552
+ {
553
+ data = {
554
+ tags: commonTags,
555
+ fields: commonFields,
556
+ type: type
557
+ };
558
+ break;
559
+ }
560
+ case _types2.METRIC_EVENT.MOBIUS_SOCKET_ERROR:
561
+ {
562
+ data = {
563
+ tags: commonTags,
564
+ fields: _objectSpread(_objectSpread({}, commonFields), {}, {
565
+ error: error
566
+ }),
567
+ type: type
568
+ };
569
+ break;
570
+ }
571
+ default:
572
+ _Logger.default.warn('Invalid metric name received. Rejecting request to submit metric.', {
573
+ file: _constants.METRIC_FILE,
574
+ method: 'submitMobiusSocketMetric'
575
+ });
576
+ break;
577
+ }
578
+ if (data) {
579
+ this.webex.internal.metrics.submitClientMetrics(name, data);
580
+ }
581
+ }
521
582
  }]);
522
583
  }();
523
584
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","require","_types","_types2","_Logger","_interopRequireDefault","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","metricManager","MetricManager","webex","indicator","_classCallCheck2","log","info","file","METRIC_FILE","serviceIndicator","_createClass2","key","value","submitConnectionMetrics","name","metricAction","type","downTimestamp","upTimestamp","_this$deviceInfo","_this$deviceInfo$devi","_this$deviceInfo2","_this$deviceInfo2$dev","_this$deviceInfo3","_this$deviceInfo3$dev","metricData","tags","device_id","deviceInfo","device","deviceId","service_indicator","fields","device_url","clientDeviceUri","mobius_url","uri","calling_sdk_version","process","env","CALLING_SDK_VERSION","VERSION","internal","metrics","submitClientMetrics","submitUploadLogsMetric","action","trackingId","feedbackId","correlationId","stack","callId","broadworksCorrelationInfo","_this$deviceInfo4","_this$deviceInfo4$dev","_this$deviceInfo5","_this$deviceInfo5$dev","_this$deviceInfo6","_this$deviceInfo6$dev","data","commonData","correlation_id","tracking_id","feedback_id","call_id","METRIC_EVENT","UPLOAD_LOGS_SUCCESS","UPLOAD_LOGS_FAILED","error","setDeviceInfo","submitRegionInfoMetric","mobiusHost","clientRegion","countryCode","_this$deviceInfo7","_this$deviceInfo7$dev","_this$deviceInfo8","_this$deviceInfo8$dev","_this$deviceInfo9","_this$deviceInfo9$dev","ServiceIndicator","CALLING","mobius_host","client_region","country_code","submitMobiusServersMetric","mobiusServers","_this$deviceInfo0","_this$deviceInfo0$dev","_this$deviceInfo1","_this$deviceInfo1$dev","_this$deviceInfo10","_this$deviceInfo10$de","primary_mobius_servers_region","primary","region","primary_mobius_servers_uris","uris","join","backup_mobius_servers_region","backup","backup_mobius_servers_uris","submitRegistrationMetric","caller","serverType","keepaliveCount","clientError","REGISTRATION","_this$deviceInfo11","_this$deviceInfo11$de","_this$deviceInfo12","_this$deviceInfo12$de","_this$deviceInfo13","_this$deviceInfo13$de","reg_source","server_type","REGISTRATION_ERROR","_this$deviceInfo14","_this$deviceInfo14$de","_this$deviceInfo15","_this$deviceInfo15$de","_this$deviceInfo16","_this$deviceInfo16$de","_errorData","_errorData2","errorData","msg","getError","message","error_type","KEEPALIVE_ERROR","_this$deviceInfo17","_this$deviceInfo17$de","_this$deviceInfo18","_this$deviceInfo18$de","_this$deviceInfo19","_this$deviceInfo19$de","_errorData4","_errorData5","keepalive_count","warn","method","submitCallMetric","callError","CALL","_this$deviceInfo20","_this$deviceInfo20$de","_this$deviceInfo21","_this$deviceInfo21$de","_this$deviceInfo22","_this$deviceInfo22$de","CALL_ERROR","_this$deviceInfo23","_this$deviceInfo23$de","_this$deviceInfo24","_this$deviceInfo24$de","_this$deviceInfo25","_this$deviceInfo25$de","getCallError","submitMediaMetric","localSdp","remoteSdp","MEDIA","_this$deviceInfo26","_this$deviceInfo26$de","_this$deviceInfo27","_this$deviceInfo27$de","_this$deviceInfo28","_this$deviceInfo28$de","local_media_details","remote_media_details","MEDIA_ERROR","_this$deviceInfo29","_this$deviceInfo29$de","_this$deviceInfo30","_this$deviceInfo30$de","_this$deviceInfo31","_this$deviceInfo31$de","submitVoicemailMetric","messageId","voicemailError","statusCode","VOICEMAIL","_this$deviceInfo32","_this$deviceInfo32$de","_this$deviceInfo33","_this$deviceInfo33$de","message_id","VOICEMAIL_ERROR","_this$deviceInfo34","_this$deviceInfo34$de","_this$deviceInfo35","_this$deviceInfo35$de","status_code","submitBNRMetric","BNR_ENABLED","BNR_DISABLED","_this$deviceInfo36","_this$deviceInfo36$de","_this$deviceInfo37","_this$deviceInfo37$de","_this$deviceInfo38","_this$deviceInfo38$de","getMetricManager","exports","_default"],"sources":["index.ts"],"sourcesContent":["import {CallError, CallingClientError} from '../Errors';\nimport {METRIC_FILE, VERSION} from '../CallingClient/constants';\nimport {CallId, CorrelationId, IDeviceInfo, MobiusServers, ServiceIndicator} from '../common/types';\nimport {WebexSDK} from '../SDKConnector/types';\nimport {\n REG_ACTION,\n IMetricManager,\n METRIC_TYPE,\n METRIC_EVENT,\n SERVER_TYPE,\n CONNECTION_ACTION,\n} from './types';\nimport {LineError} from '../Errors/catalog/LineError';\nimport log from '../Logger';\n\nlet metricManager: IMetricManager;\n\n/**\n *\n */\nclass MetricManager implements IMetricManager {\n private webex: WebexSDK;\n\n private deviceInfo?: IDeviceInfo;\n\n private serviceIndicator?: ServiceIndicator;\n\n /**\n * @param webex - Webex object used to send metrics.\n * @param indicator - Service Indicator.\n */\n public constructor(webex: WebexSDK, indicator?: ServiceIndicator) {\n log.info('Initializing metric manager...', {file: METRIC_FILE});\n this.webex = webex;\n this.serviceIndicator = indicator;\n }\n\n public submitConnectionMetrics(\n name: METRIC_EVENT,\n metricAction: CONNECTION_ACTION,\n type: METRIC_TYPE,\n downTimestamp: string,\n upTimestamp: string\n ) {\n const metricData = {\n tags: {\n metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n downTimestamp,\n upTimestamp,\n },\n type,\n };\n\n if (metricData) {\n this.webex.internal.metrics.submitClientMetrics(name, metricData);\n }\n }\n\n public submitUploadLogsMetric(\n name: METRIC_EVENT,\n action: string,\n type: METRIC_TYPE,\n trackingId?: string,\n feedbackId?: string,\n correlationId?: string,\n stack?: string,\n callId?: string,\n broadworksCorrelationInfo?: string\n ) {\n let data;\n\n const commonData = {\n tags: {\n action,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n correlation_id: correlationId,\n broadworksCorrelationInfo,\n tracking_id: trackingId,\n feedback_id: feedbackId,\n call_id: callId,\n },\n type,\n };\n\n switch (name) {\n case METRIC_EVENT.UPLOAD_LOGS_SUCCESS: {\n data = commonData;\n\n break;\n }\n\n case METRIC_EVENT.UPLOAD_LOGS_FAILED: {\n data = {\n ...commonData,\n fields: {\n ...commonData.fields,\n error: stack,\n },\n };\n\n break;\n }\n }\n\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n\n /**\n * @param deviceInfo - DeviceInfo object.\n */\n public setDeviceInfo(deviceInfo: IDeviceInfo) {\n this.deviceInfo = deviceInfo;\n }\n\n /**\n * @param name - Name of the metric being submitted.\n * @param metricAction - Type of action sent in the metric.\n * @param type - Type of metric.\n * @param region - Region string.\n * @param trackingId - Tracking ID string.\n */\n public submitRegionInfoMetric(\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n mobiusHost: string,\n clientRegion: string,\n countryCode: string,\n trackingId?: string\n ) {\n const data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n mobius_host: mobiusHost,\n client_region: clientRegion,\n country_code: countryCode,\n tracking_id: trackingId,\n },\n type,\n };\n\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n\n /**\n * @param name - Name of the metric being submitted.\n * @param metricAction - Type of action sent in the metric.\n * @param type - Type of metric.\n * @param mobiusServers - Array of Mobius server objects.\n */\n public submitMobiusServersMetric(\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n mobiusServers: MobiusServers,\n trackingId?: string\n ) {\n const data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n primary_mobius_servers_region: mobiusServers.primary.region,\n primary_mobius_servers_uris: mobiusServers.primary.uris.join(','),\n backup_mobius_servers_region: mobiusServers.backup.region,\n backup_mobius_servers_uris: mobiusServers.backup.uris.join(','),\n tracking_id: trackingId,\n },\n type,\n };\n\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n\n /**\n * @param name - Name of the metric being submitted.\n * @param metricAction - Type of action sent in the metric.\n * @param type - Type of metric.\n * @param clientError - Error object used to populate error details in metric.\n */\n public submitRegistrationMetric(\n name: METRIC_EVENT,\n metricAction: REG_ACTION,\n type: METRIC_TYPE,\n caller: string,\n serverType: SERVER_TYPE,\n trackingId: string,\n keepaliveCount?: number,\n clientError?: LineError | CallingClientError\n ) {\n let data;\n\n switch (name) {\n case METRIC_EVENT.REGISTRATION: {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n reg_source: caller,\n server_type: serverType,\n trackingId,\n },\n type,\n };\n break;\n }\n\n case METRIC_EVENT.REGISTRATION_ERROR: {\n let errorData;\n if (clientError) {\n errorData = {\n msg: clientError.getError().message,\n type: clientError.getError().type,\n };\n }\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n reg_source: caller,\n server_type: serverType,\n trackingId,\n error: errorData?.msg,\n error_type: errorData?.type,\n },\n type,\n };\n\n break;\n }\n\n case METRIC_EVENT.KEEPALIVE_ERROR: {\n let errorData;\n if (clientError) {\n errorData = {\n msg: clientError.getError().message,\n type: clientError.getError().type,\n };\n }\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n reg_source: caller,\n server_type: serverType,\n trackingId,\n keepalive_count: keepaliveCount,\n error: errorData?.msg,\n error_type: errorData?.type,\n },\n type,\n };\n break;\n }\n\n default:\n log.warn('Invalid metric name received. Rejecting request to submit metric.', {\n file: METRIC_FILE,\n method: 'submitRegistrationMetric',\n });\n break;\n }\n\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n\n /**\n * @param name - Name of the metric being submitted.\n * @param metricAction - Type of action sent in the metric.\n * @param type - Type of metric.\n * @param callId - Call ID of the call sending the metric.\n * @param correlationId - Correlation ID of the call sending the metric.\n * @param callError - Error object used to populate error details in metric.\n */\n public submitCallMetric(\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n callId: CallId,\n correlationId: CorrelationId,\n callError?: CallError\n ) {\n let data;\n\n switch (name) {\n case METRIC_EVENT.CALL: {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n call_id: callId,\n correlation_id: correlationId,\n },\n type,\n };\n break;\n }\n\n case METRIC_EVENT.CALL_ERROR: {\n if (callError) {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n call_id: callId,\n correlation_id: correlationId,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type,\n };\n }\n break;\n }\n\n default:\n log.warn('Invalid metric name received. Rejecting request to submit metric.', {\n file: METRIC_FILE,\n method: 'submitCallMetric',\n });\n break;\n }\n\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n\n /**\n * @param name - Name of the metric being submitted.\n * @param metricAction - Type of action sent in the metric.\n * @param type - Type of metric.\n * @param callId - Call ID of the call sending the metric.\n * @param correlationId - Correlation ID of the call sending the metric.\n * @param localSdp - Local SDP information for media metric.\n * @param remoteSdp - Remote SDP information for media metric.\n * @param callError - Error object used to populate error details in metric.\n */\n public submitMediaMetric(\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n callId: CallId,\n correlationId: CorrelationId,\n localSdp?: string,\n remoteSdp?: string,\n callError?: CallError\n ) {\n let data;\n\n switch (name) {\n case METRIC_EVENT.MEDIA: {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n call_id: callId,\n correlation_id: correlationId,\n local_media_details: localSdp,\n remote_media_details: remoteSdp,\n },\n type,\n };\n break;\n }\n\n case METRIC_EVENT.MEDIA_ERROR: {\n if (callError) {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n call_id: callId,\n correlation_id: correlationId,\n local_media_details: localSdp,\n remote_media_details: remoteSdp,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type,\n };\n }\n break;\n }\n\n default:\n log.warn('Invalid metric name received. Rejecting request to submit metric.', {\n file: METRIC_FILE,\n method: 'submitMediaMetric',\n });\n break;\n }\n\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n\n /**\n * @param name - Name of the metric being submitted.\n * @param metricAction - Type of action sent in the metric.\n * @param type - Type of metric.\n * @param messageId - Message identifier of a Voicemail message.\n * @param voicemailError - Error string used to populate error details in metric.\n * @param statusCode - Status code used to populate error details in metric.\n */\n public submitVoicemailMetric(\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n messageId?: string,\n voicemailError?: string,\n statusCode?: number\n ) {\n let data;\n\n switch (name) {\n case METRIC_EVENT.VOICEMAIL: {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n message_id: messageId,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n calling_sdk_version:\n typeof process !== 'undefined' && process.env.CALLING_SDK_VERSION\n ? process.env.CALLING_SDK_VERSION\n : VERSION,\n },\n type,\n };\n break;\n }\n\n case METRIC_EVENT.VOICEMAIL_ERROR: {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n message_id: messageId,\n error: voicemailError,\n status_code: statusCode,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n calling_sdk_version:\n typeof process !== 'undefined' && process.env.CALLING_SDK_VERSION\n ? process.env.CALLING_SDK_VERSION\n : VERSION,\n },\n type,\n };\n break;\n }\n\n default:\n log.warn('Invalid metric name received. Rejecting request to submit metric.', {\n file: METRIC_FILE,\n method: 'submitVoicemailMetric',\n });\n break;\n }\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n\n public submitBNRMetric(\n name: METRIC_EVENT,\n type: METRIC_TYPE,\n callId: CallId,\n correlationId: CorrelationId\n ) {\n let data;\n\n if (name === METRIC_EVENT.BNR_ENABLED || name === METRIC_EVENT.BNR_DISABLED) {\n data = {\n tags: {\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n call_id: callId,\n correlation_id: correlationId,\n },\n type,\n };\n } else {\n log.warn('Invalid metric name received. Rejecting request to submit metric.', {\n file: METRIC_FILE,\n method: 'submitBNRMetric',\n });\n }\n\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n}\n\n/**\n * @param webex - Webex object to communicate with metrics microservice.\n * @param indicator - Service Indicator.\n */\nexport const getMetricManager = (\n webex?: WebexSDK,\n indicator?: ServiceIndicator\n): IMetricManager => {\n if (!metricManager && webex) {\n metricManager = new MetricManager(webex, indicator);\n }\n\n return metricManager;\n};\n\nexport default getMetricManager;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_constants","require","_types","_types2","_Logger","_interopRequireDefault","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","metricManager","MetricManager","webex","indicator","_classCallCheck2","log","info","file","METRIC_FILE","serviceIndicator","_createClass2","key","value","submitConnectionMetrics","name","metricAction","type","downTimestamp","upTimestamp","_this$deviceInfo","_this$deviceInfo$devi","_this$deviceInfo2","_this$deviceInfo2$dev","_this$deviceInfo3","_this$deviceInfo3$dev","metricData","tags","device_id","deviceInfo","device","deviceId","service_indicator","fields","device_url","clientDeviceUri","mobius_url","uri","calling_sdk_version","process","env","CALLING_SDK_VERSION","VERSION","internal","metrics","submitClientMetrics","submitUploadLogsMetric","action","trackingId","feedbackId","correlationId","stack","callId","broadworksCorrelationInfo","_this$deviceInfo4","_this$deviceInfo4$dev","_this$deviceInfo5","_this$deviceInfo5$dev","_this$deviceInfo6","_this$deviceInfo6$dev","data","commonData","correlation_id","tracking_id","feedback_id","call_id","METRIC_EVENT","UPLOAD_LOGS_SUCCESS","UPLOAD_LOGS_FAILED","error","setDeviceInfo","submitRegionInfoMetric","mobiusHost","clientRegion","countryCode","_this$deviceInfo7","_this$deviceInfo7$dev","_this$deviceInfo8","_this$deviceInfo8$dev","_this$deviceInfo9","_this$deviceInfo9$dev","ServiceIndicator","CALLING","mobius_host","client_region","country_code","submitMobiusServersMetric","mobiusServers","_this$deviceInfo0","_this$deviceInfo0$dev","_this$deviceInfo1","_this$deviceInfo1$dev","_this$deviceInfo10","_this$deviceInfo10$de","primary_mobius_servers_region","primary","region","primary_mobius_servers_uris","uris","join","backup_mobius_servers_region","backup","backup_mobius_servers_uris","submitRegistrationMetric","caller","serverType","keepaliveCount","clientError","REGISTRATION","_this$deviceInfo11","_this$deviceInfo11$de","_this$deviceInfo12","_this$deviceInfo12$de","_this$deviceInfo13","_this$deviceInfo13$de","reg_source","server_type","REGISTRATION_ERROR","_this$deviceInfo14","_this$deviceInfo14$de","_this$deviceInfo15","_this$deviceInfo15$de","_this$deviceInfo16","_this$deviceInfo16$de","_errorData","_errorData2","errorData","msg","getError","message","error_type","KEEPALIVE_ERROR","_this$deviceInfo17","_this$deviceInfo17$de","_this$deviceInfo18","_this$deviceInfo18$de","_this$deviceInfo19","_this$deviceInfo19$de","_errorData4","_errorData5","keepalive_count","warn","method","submitCallMetric","callError","CALL","_this$deviceInfo20","_this$deviceInfo20$de","_this$deviceInfo21","_this$deviceInfo21$de","_this$deviceInfo22","_this$deviceInfo22$de","CALL_ERROR","_this$deviceInfo23","_this$deviceInfo23$de","_this$deviceInfo24","_this$deviceInfo24$de","_this$deviceInfo25","_this$deviceInfo25$de","getCallError","submitMediaMetric","localSdp","remoteSdp","state","MEDIA","_this$deviceInfo26","_this$deviceInfo26$de","_this$deviceInfo27","_this$deviceInfo27$de","_this$deviceInfo28","_this$deviceInfo28$de","local_media_details","remote_media_details","MEDIA_ERROR","_this$deviceInfo29","_this$deviceInfo29$de","_this$deviceInfo30","_this$deviceInfo30$de","_this$deviceInfo31","_this$deviceInfo31$de","submitVoicemailMetric","messageId","voicemailError","statusCode","VOICEMAIL","_this$deviceInfo32","_this$deviceInfo32$de","_this$deviceInfo33","_this$deviceInfo33$de","message_id","VOICEMAIL_ERROR","_this$deviceInfo34","_this$deviceInfo34$de","_this$deviceInfo35","_this$deviceInfo35$de","status_code","submitBNRMetric","BNR_ENABLED","BNR_DISABLED","_this$deviceInfo36","_this$deviceInfo36$de","_this$deviceInfo37","_this$deviceInfo37$de","_this$deviceInfo38","_this$deviceInfo38$de","submitMobiusSocketMetric","wssUrl","eventType","_this$deviceInfo39","_this$deviceInfo39$de","_this$deviceInfo40","_this$deviceInfo40$de","_this$deviceInfo41","_this$deviceInfo41$de","commonTags","commonFields","wss_url","event_type","MOBIUS_SOCKET","MOBIUS_SOCKET_ERROR","getMetricManager","exports","_default"],"sources":["index.ts"],"sourcesContent":["import {CallError, CallingClientError} from '../Errors';\nimport {METRIC_FILE, VERSION} from '../CallingClient/constants';\nimport {CallId, CorrelationId, IDeviceInfo, MobiusServers, ServiceIndicator} from '../common/types';\nimport {WebexSDK} from '../SDKConnector/types';\nimport {\n REG_ACTION,\n IMetricManager,\n METRIC_TYPE,\n METRIC_EVENT,\n SERVER_TYPE,\n CONNECTION_ACTION,\n MOBIUS_SOCKET_ACTION,\n} from './types';\nimport {LineError} from '../Errors/catalog/LineError';\nimport log from '../Logger';\n\nlet metricManager: IMetricManager;\n\n/**\n *\n */\nclass MetricManager implements IMetricManager {\n private webex: WebexSDK;\n\n private deviceInfo?: IDeviceInfo;\n\n private serviceIndicator?: ServiceIndicator;\n\n /**\n * @param webex - Webex object used to send metrics.\n * @param indicator - Service Indicator.\n */\n public constructor(webex: WebexSDK, indicator?: ServiceIndicator) {\n log.info('Initializing metric manager...', {file: METRIC_FILE});\n this.webex = webex;\n this.serviceIndicator = indicator;\n }\n\n public submitConnectionMetrics(\n name: METRIC_EVENT,\n metricAction: CONNECTION_ACTION,\n type: METRIC_TYPE,\n downTimestamp: string,\n upTimestamp: string\n ) {\n const metricData = {\n tags: {\n metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n downTimestamp,\n upTimestamp,\n },\n type,\n };\n\n if (metricData) {\n this.webex.internal.metrics.submitClientMetrics(name, metricData);\n }\n }\n\n public submitUploadLogsMetric(\n name: METRIC_EVENT,\n action: string,\n type: METRIC_TYPE,\n trackingId?: string,\n feedbackId?: string,\n correlationId?: string,\n stack?: string,\n callId?: string,\n broadworksCorrelationInfo?: string\n ) {\n let data;\n\n const commonData = {\n tags: {\n action,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n correlation_id: correlationId,\n broadworksCorrelationInfo,\n tracking_id: trackingId,\n feedback_id: feedbackId,\n call_id: callId,\n },\n type,\n };\n\n switch (name) {\n case METRIC_EVENT.UPLOAD_LOGS_SUCCESS: {\n data = commonData;\n\n break;\n }\n\n case METRIC_EVENT.UPLOAD_LOGS_FAILED: {\n data = {\n ...commonData,\n fields: {\n ...commonData.fields,\n error: stack,\n },\n };\n\n break;\n }\n }\n\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n\n /**\n * @param deviceInfo - DeviceInfo object.\n */\n public setDeviceInfo(deviceInfo: IDeviceInfo) {\n this.deviceInfo = deviceInfo;\n }\n\n /**\n * @param name - Name of the metric being submitted.\n * @param metricAction - Type of action sent in the metric.\n * @param type - Type of metric.\n * @param region - Region string.\n * @param trackingId - Tracking ID string.\n */\n public submitRegionInfoMetric(\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n mobiusHost: string,\n clientRegion: string,\n countryCode: string,\n trackingId?: string\n ) {\n const data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n mobius_host: mobiusHost,\n client_region: clientRegion,\n country_code: countryCode,\n tracking_id: trackingId,\n },\n type,\n };\n\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n\n /**\n * @param name - Name of the metric being submitted.\n * @param metricAction - Type of action sent in the metric.\n * @param type - Type of metric.\n * @param mobiusServers - Array of Mobius server objects.\n */\n public submitMobiusServersMetric(\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n mobiusServers: MobiusServers,\n trackingId?: string\n ) {\n const data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n primary_mobius_servers_region: mobiusServers.primary.region,\n primary_mobius_servers_uris: mobiusServers.primary.uris.join(','),\n backup_mobius_servers_region: mobiusServers.backup.region,\n backup_mobius_servers_uris: mobiusServers.backup.uris.join(','),\n tracking_id: trackingId,\n },\n type,\n };\n\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n\n /**\n * @param name - Name of the metric being submitted.\n * @param metricAction - Type of action sent in the metric.\n * @param type - Type of metric.\n * @param clientError - Error object used to populate error details in metric.\n */\n public submitRegistrationMetric(\n name: METRIC_EVENT,\n metricAction: REG_ACTION,\n type: METRIC_TYPE,\n caller: string,\n serverType: SERVER_TYPE,\n trackingId: string,\n keepaliveCount?: number,\n clientError?: LineError | CallingClientError\n ) {\n let data;\n\n switch (name) {\n case METRIC_EVENT.REGISTRATION: {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n reg_source: caller,\n server_type: serverType,\n trackingId,\n },\n type,\n };\n break;\n }\n\n case METRIC_EVENT.REGISTRATION_ERROR: {\n let errorData;\n if (clientError) {\n errorData = {\n msg: clientError.getError().message,\n type: clientError.getError().type,\n };\n }\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n reg_source: caller,\n server_type: serverType,\n trackingId,\n error: errorData?.msg,\n error_type: errorData?.type,\n },\n type,\n };\n\n break;\n }\n\n case METRIC_EVENT.KEEPALIVE_ERROR: {\n let errorData;\n if (clientError) {\n errorData = {\n msg: clientError.getError().message,\n type: clientError.getError().type,\n };\n }\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n reg_source: caller,\n server_type: serverType,\n trackingId,\n keepalive_count: keepaliveCount,\n error: errorData?.msg,\n error_type: errorData?.type,\n },\n type,\n };\n break;\n }\n\n default:\n log.warn('Invalid metric name received. Rejecting request to submit metric.', {\n file: METRIC_FILE,\n method: 'submitRegistrationMetric',\n });\n break;\n }\n\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n\n /**\n * @param name - Name of the metric being submitted.\n * @param metricAction - Type of action sent in the metric.\n * @param type - Type of metric.\n * @param callId - Call ID of the call sending the metric.\n * @param correlationId - Correlation ID of the call sending the metric.\n * @param callError - Error object used to populate error details in metric.\n */\n public submitCallMetric(\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n callId: CallId,\n correlationId: CorrelationId,\n callError?: CallError\n ) {\n let data;\n\n switch (name) {\n case METRIC_EVENT.CALL: {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n call_id: callId,\n correlation_id: correlationId,\n },\n type,\n };\n break;\n }\n\n case METRIC_EVENT.CALL_ERROR: {\n if (callError) {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n call_id: callId,\n correlation_id: correlationId,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type,\n };\n }\n break;\n }\n\n default:\n log.warn('Invalid metric name received. Rejecting request to submit metric.', {\n file: METRIC_FILE,\n method: 'submitCallMetric',\n });\n break;\n }\n\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n\n /**\n * @param name - Name of the metric being submitted.\n * @param metricAction - Type of action sent in the metric.\n * @param type - Type of metric.\n * @param callId - Call ID of the call sending the metric.\n * @param correlationId - Correlation ID of the call sending the metric.\n * @param localSdp - Local SDP information for media metric.\n * @param remoteSdp - Remote SDP information for media metric.\n * @param callError - Error object used to populate error details in metric.\n */\n public submitMediaMetric(\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n callId: CallId,\n correlationId: CorrelationId,\n localSdp?: string,\n remoteSdp?: string,\n state?: string,\n callError?: CallError\n ) {\n let data;\n\n switch (name) {\n case METRIC_EVENT.MEDIA: {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n call_id: callId,\n correlation_id: correlationId,\n local_media_details: localSdp,\n remote_media_details: remoteSdp,\n state,\n },\n type,\n };\n break;\n }\n\n case METRIC_EVENT.MEDIA_ERROR: {\n if (callError) {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n call_id: callId,\n correlation_id: correlationId,\n local_media_details: localSdp,\n remote_media_details: remoteSdp,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type,\n };\n }\n break;\n }\n\n default:\n log.warn('Invalid metric name received. Rejecting request to submit metric.', {\n file: METRIC_FILE,\n method: 'submitMediaMetric',\n });\n break;\n }\n\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n\n /**\n * @param name - Name of the metric being submitted.\n * @param metricAction - Type of action sent in the metric.\n * @param type - Type of metric.\n * @param messageId - Message identifier of a Voicemail message.\n * @param voicemailError - Error string used to populate error details in metric.\n * @param statusCode - Status code used to populate error details in metric.\n */\n public submitVoicemailMetric(\n name: METRIC_EVENT,\n metricAction: string,\n type: METRIC_TYPE,\n messageId?: string,\n voicemailError?: string,\n statusCode?: number\n ) {\n let data;\n\n switch (name) {\n case METRIC_EVENT.VOICEMAIL: {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n message_id: messageId,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n calling_sdk_version:\n typeof process !== 'undefined' && process.env.CALLING_SDK_VERSION\n ? process.env.CALLING_SDK_VERSION\n : VERSION,\n },\n type,\n };\n break;\n }\n\n case METRIC_EVENT.VOICEMAIL_ERROR: {\n data = {\n tags: {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n message_id: messageId,\n error: voicemailError,\n status_code: statusCode,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n calling_sdk_version:\n typeof process !== 'undefined' && process.env.CALLING_SDK_VERSION\n ? process.env.CALLING_SDK_VERSION\n : VERSION,\n },\n type,\n };\n break;\n }\n\n default:\n log.warn('Invalid metric name received. Rejecting request to submit metric.', {\n file: METRIC_FILE,\n method: 'submitVoicemailMetric',\n });\n break;\n }\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n\n public submitBNRMetric(\n name: METRIC_EVENT,\n type: METRIC_TYPE,\n callId: CallId,\n correlationId: CorrelationId\n ) {\n let data;\n\n if (name === METRIC_EVENT.BNR_ENABLED || name === METRIC_EVENT.BNR_DISABLED) {\n data = {\n tags: {\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n },\n fields: {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n call_id: callId,\n correlation_id: correlationId,\n },\n type,\n };\n } else {\n log.warn('Invalid metric name received. Rejecting request to submit metric.', {\n file: METRIC_FILE,\n method: 'submitBNRMetric',\n });\n }\n\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n\n /**\n * @param name - Name of the metric being submitted (MOBIUS_SOCKET or MOBIUS_SOCKET_ERROR).\n * @param metricAction - Type of Mobius WebSocket action.\n * @param type - Type of metric.\n * @param wssUrl - The Mobius WebSocket URL involved in the action.\n * @param trackingId - Tracking ID associated with the operation, if any.\n * @param error - Error string used to populate error details (for MOBIUS_SOCKET_ERROR).\n * @param eventType - Type of async event received over the socket, if applicable.\n */\n public submitMobiusSocketMetric(\n name: METRIC_EVENT,\n metricAction: MOBIUS_SOCKET_ACTION,\n type: METRIC_TYPE,\n wssUrl?: string,\n trackingId?: string,\n error?: string,\n eventType?: string\n ) {\n let data;\n\n const commonTags = {\n action: metricAction,\n device_id: this.deviceInfo?.device?.deviceId,\n service_indicator: this.serviceIndicator,\n };\n\n const commonFields = {\n device_url: this.deviceInfo?.device?.clientDeviceUri,\n mobius_url: this.deviceInfo?.device?.uri,\n calling_sdk_version: process.env.CALLING_SDK_VERSION || VERSION,\n wss_url: wssUrl,\n tracking_id: trackingId,\n event_type: eventType,\n };\n\n switch (name) {\n case METRIC_EVENT.MOBIUS_SOCKET: {\n data = {\n tags: commonTags,\n fields: commonFields,\n type,\n };\n break;\n }\n\n case METRIC_EVENT.MOBIUS_SOCKET_ERROR: {\n data = {\n tags: commonTags,\n fields: {\n ...commonFields,\n error,\n },\n type,\n };\n break;\n }\n\n default:\n log.warn('Invalid metric name received. Rejecting request to submit metric.', {\n file: METRIC_FILE,\n method: 'submitMobiusSocketMetric',\n });\n break;\n }\n\n if (data) {\n this.webex.internal.metrics.submitClientMetrics(name, data);\n }\n }\n}\n\n/**\n * @param webex - Webex object to communicate with metrics microservice.\n * @param indicator - Service Indicator.\n */\nexport const getMetricManager = (\n webex?: WebexSDK,\n indicator?: ServiceIndicator\n): IMetricManager => {\n if (!metricManager && webex) {\n metricManager = new MetricManager(webex, indicator);\n }\n\n return metricManager;\n};\n\nexport default getMetricManager;\n"],"mappings":"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","ignoreList":[]}