@webex/calling 3.12.0-mobius-socket.2 → 3.12.0-mobius-socket.4

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 (42) hide show
  1. package/dist/CallingClient/CallingClient.js +5 -2
  2. package/dist/CallingClient/CallingClient.js.map +1 -1
  3. package/dist/CallingClient/registration/register.js +360 -303
  4. package/dist/CallingClient/registration/register.js.map +1 -1
  5. package/dist/CallingClient/registration/register.test.js +2 -8
  6. package/dist/CallingClient/registration/register.test.js.map +1 -1
  7. package/dist/CallingClient/registration/webWorker.js +41 -106
  8. package/dist/CallingClient/registration/webWorker.js.map +1 -1
  9. package/dist/CallingClient/registration/webWorker.test.js +39 -153
  10. package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
  11. package/dist/CallingClient/registration/webWorkerStr.js +1 -1
  12. package/dist/CallingClient/registration/webWorkerStr.js.map +1 -1
  13. package/dist/CallingClient/utils/mobiusSocketMapper.js +4 -0
  14. package/dist/CallingClient/utils/mobiusSocketMapper.js.map +1 -1
  15. package/dist/CallingClient/utils/request.js +48 -24
  16. package/dist/CallingClient/utils/request.js.map +1 -1
  17. package/dist/common/Utils.js +0 -3
  18. package/dist/common/Utils.js.map +1 -1
  19. package/dist/common/types.js +2 -0
  20. package/dist/common/types.js.map +1 -1
  21. package/dist/module/CallingClient/CallingClient.js +2 -1
  22. package/dist/module/CallingClient/registration/register.js +43 -6
  23. package/dist/module/CallingClient/registration/webWorker.js +42 -61
  24. package/dist/module/CallingClient/registration/webWorkerStr.js +47 -82
  25. package/dist/module/CallingClient/utils/mobiusSocketMapper.js +5 -0
  26. package/dist/module/CallingClient/utils/request.js +7 -4
  27. package/dist/module/common/Utils.js +0 -1
  28. package/dist/module/common/types.js +2 -0
  29. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  30. package/dist/types/CallingClient/registration/register.d.ts +1 -0
  31. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  32. package/dist/types/CallingClient/registration/webWorker.d.ts.map +1 -1
  33. package/dist/types/CallingClient/registration/webWorkerStr.d.ts +1 -1
  34. package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -1
  35. package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts +1 -0
  36. package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts.map +1 -1
  37. package/dist/types/CallingClient/utils/request.d.ts +1 -1
  38. package/dist/types/CallingClient/utils/request.d.ts.map +1 -1
  39. package/dist/types/common/Utils.d.ts.map +1 -1
  40. package/dist/types/common/types.d.ts +2 -0
  41. package/dist/types/common/types.d.ts.map +1 -1
  42. package/package.json +2 -2
@@ -696,25 +696,53 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
696
696
  }
697
697
  }
698
698
  }, {
699
- key: "isPrimaryActive",
699
+ key: "postKeepAlive",
700
700
  value: function () {
701
- var _isPrimaryActive = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12() {
702
- var status, _iterator, _step, mobiusUrl, baseUri, response, _ref7, statusCode, _t3, _t4;
701
+ var _postKeepAlive = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12(deviceUrl, url) {
702
+ var _this$deviceInfo$devi;
703
703
  return _regenerator.default.wrap(function (_context12) {
704
704
  while (1) switch (_context12.prev = _context12.next) {
705
+ case 0:
706
+ return _context12.abrupt("return", this.apiRequest.makeRequest({
707
+ uri: "".concat(url, "/status"),
708
+ method: _types2.HTTP_METHODS.POST,
709
+ headers: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants2.CISCO_DEVICE_URL, deviceUrl), _constants2.SPARK_USER_AGENT, _constants2.CALLING_USER_AGENT),
710
+ body: {
711
+ deviceId: (_this$deviceInfo$devi = this.deviceInfo.device) === null || _this$deviceInfo$devi === void 0 ? void 0 : _this$deviceInfo$devi.deviceId
712
+ },
713
+ service: _types2.ALLOWED_SERVICES.MOBIUS
714
+ }));
715
+ case 1:
716
+ case "end":
717
+ return _context12.stop();
718
+ }
719
+ }, _callee12, this);
720
+ }));
721
+ function postKeepAlive(_x9, _x0) {
722
+ return _postKeepAlive.apply(this, arguments);
723
+ }
724
+ return postKeepAlive;
725
+ }()
726
+ }, {
727
+ key: "isPrimaryActive",
728
+ value: function () {
729
+ var _isPrimaryActive = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13() {
730
+ var status, _iterator, _step, mobiusUrl, baseUri, response, _ref7, statusCode, _t3, _t4;
731
+ return _regenerator.default.wrap(function (_context13) {
732
+ while (1) switch (_context13.prev = _context13.next) {
705
733
  case 0:
706
734
  _iterator = _createForOfIteratorHelper(this.primaryMobiusUris);
707
- _context12.prev = 1;
735
+ _context13.prev = 1;
708
736
  _iterator.s();
709
737
  case 2:
710
738
  if ((_step = _iterator.n()).done) {
711
- _context12.next = 8;
739
+ _context13.next = 8;
712
740
  break;
713
741
  }
714
742
  mobiusUrl = _step.value;
715
- _context12.prev = 3;
743
+ _context13.prev = 3;
716
744
  baseUri = mobiusUrl.replace(_constants2.URL_ENDPOINT, '/').replace('wss://', 'https://'); // eslint-disable-next-line no-await-in-loop
717
- _context12.next = 4;
745
+ _context13.next = 4;
718
746
  return this.webex.request({
719
747
  uri: "".concat(baseUri, "ping"),
720
748
  method: _types2.HTTP_METHODS.GET,
@@ -722,10 +750,10 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
722
750
  service: _types2.ALLOWED_SERVICES.MOBIUS
723
751
  });
724
752
  case 4:
725
- response = _context12.sent;
753
+ response = _context13.sent;
726
754
  _ref7 = response, statusCode = _ref7.statusCode;
727
755
  if (!(statusCode === 200)) {
728
- _context12.next = 5;
756
+ _context13.next = 5;
729
757
  break;
730
758
  }
731
759
  _Logger.default.info("Ping successful for primary Mobius: ".concat(mobiusUrl), {
@@ -733,39 +761,39 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
733
761
  method: _constants2.FAILBACK_UTIL
734
762
  });
735
763
  status = 'up';
736
- return _context12.abrupt("continue", 8);
764
+ return _context13.abrupt("continue", 8);
737
765
  case 5:
738
- _context12.next = 7;
766
+ _context13.next = 7;
739
767
  break;
740
768
  case 6:
741
- _context12.prev = 6;
742
- _t3 = _context12["catch"](3);
769
+ _context13.prev = 6;
770
+ _t3 = _context13["catch"](3);
743
771
  _Logger.default.warn("Ping failed for primary Mobius: ".concat(mobiusUrl, " with error: ").concat((0, _stringify.default)(_t3)), {
744
772
  file: _constants2.REGISTRATION_FILE,
745
773
  method: _constants2.FAILBACK_UTIL
746
774
  });
747
775
  status = 'down';
748
776
  case 7:
749
- _context12.next = 2;
777
+ _context13.next = 2;
750
778
  break;
751
779
  case 8:
752
- _context12.next = 10;
780
+ _context13.next = 10;
753
781
  break;
754
782
  case 9:
755
- _context12.prev = 9;
756
- _t4 = _context12["catch"](1);
783
+ _context13.prev = 9;
784
+ _t4 = _context13["catch"](1);
757
785
  _iterator.e(_t4);
758
786
  case 10:
759
- _context12.prev = 10;
787
+ _context13.prev = 10;
760
788
  _iterator.f();
761
- return _context12.finish(10);
789
+ return _context13.finish(10);
762
790
  case 11:
763
- return _context12.abrupt("return", status === 'up');
791
+ return _context13.abrupt("return", status === 'up');
764
792
  case 12:
765
793
  case "end":
766
- return _context12.stop();
794
+ return _context13.stop();
767
795
  }
768
- }, _callee12, this, [[1, 9, 10, 11], [3, 6]]);
796
+ }, _callee13, this, [[1, 9, 10, 11], [3, 6]]);
769
797
  }));
770
798
  function isPrimaryActive() {
771
799
  return _isPrimaryActive.apply(this, arguments);
@@ -818,16 +846,16 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
818
846
  key: "startFailbackTimer",
819
847
  value: function startFailbackTimer(intervalInSeconds) {
820
848
  var _this4 = this;
821
- this.failbackTimer = setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13() {
822
- return _regenerator.default.wrap(function (_context13) {
823
- while (1) switch (_context13.prev = _context13.next) {
849
+ this.failbackTimer = setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14() {
850
+ return _regenerator.default.wrap(function (_context14) {
851
+ while (1) switch (_context14.prev = _context14.next) {
824
852
  case 0:
825
- return _context13.abrupt("return", _this4.executeFailback());
853
+ return _context14.abrupt("return", _this4.executeFailback());
826
854
  case 1:
827
855
  case "end":
828
- return _context13.stop();
856
+ return _context14.stop();
829
857
  }
830
- }, _callee13);
858
+ }, _callee14);
831
859
  })), intervalInSeconds * _constants2.SEC_TO_MSEC_MFACTOR);
832
860
  _Logger.default.log("Failback scheduled after ".concat(intervalInSeconds, " seconds."), {
833
861
  file: _constants2.REGISTRATION_FILE,
@@ -842,81 +870,81 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
842
870
  }, {
843
871
  key: "executeFailback",
844
872
  value: (function () {
845
- var _executeFailback = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15() {
873
+ var _executeFailback = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee16() {
846
874
  var _this5 = this;
847
- return _regenerator.default.wrap(function (_context15) {
848
- while (1) switch (_context15.prev = _context15.next) {
875
+ return _regenerator.default.wrap(function (_context16) {
876
+ while (1) switch (_context16.prev = _context16.next) {
849
877
  case 0:
850
- _context15.next = 1;
851
- return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14() {
878
+ _context16.next = 1;
879
+ return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15() {
852
880
  var primaryServerStatus, abort, abortNew;
853
- return _regenerator.default.wrap(function (_context14) {
854
- while (1) switch (_context14.prev = _context14.next) {
881
+ return _regenerator.default.wrap(function (_context15) {
882
+ while (1) switch (_context15.prev = _context15.next) {
855
883
  case 0:
856
884
  if (!_this5.isFailbackRequired()) {
857
- _context14.next = 12;
885
+ _context15.next = 12;
858
886
  break;
859
887
  }
860
- _context14.next = 1;
888
+ _context15.next = 1;
861
889
  return _this5.isPrimaryActive();
862
890
  case 1:
863
- primaryServerStatus = _context14.sent;
891
+ primaryServerStatus = _context15.sent;
864
892
  if (!((0, _keys.default)(_this5.callManager.getActiveCalls()).length === 0 && primaryServerStatus)) {
865
- _context14.next = 11;
893
+ _context15.next = 11;
866
894
  break;
867
895
  }
868
896
  _Logger.default.info("Attempting failback to primary.", {
869
897
  file: _constants2.REGISTRATION_FILE,
870
898
  method: _this5.executeFailback.name
871
899
  });
872
- _context14.next = 2;
900
+ _context15.next = 2;
873
901
  return _this5.deregister();
874
902
  case 2:
875
903
  if (!_this5.apiRequest.isSocketEnabled()) {
876
- _context14.next = 3;
904
+ _context15.next = 3;
877
905
  break;
878
906
  }
879
- _context14.next = 3;
907
+ _context15.next = 3;
880
908
  return _this5.apiRequest.disconnectFromMobiusSocket({
881
909
  code: 3050,
882
910
  reason: 'done (permanent)'
883
911
  });
884
912
  case 3:
885
- _context14.next = 4;
913
+ _context15.next = 4;
886
914
  return _this5.attemptRegistrationWithServers(_constants2.FAILBACK_UTIL);
887
915
  case 4:
888
- abort = _context14.sent;
916
+ abort = _context15.sent;
889
917
  if (!(_this5.scheduled429Retry || abort || _this5.isDeviceRegistered())) {
890
- _context14.next = 5;
918
+ _context15.next = 5;
891
919
  break;
892
920
  }
893
- return _context14.abrupt("return");
921
+ return _context15.abrupt("return");
894
922
  case 5:
895
- _context14.next = 6;
923
+ _context15.next = 6;
896
924
  return _this5.restorePreviousRegistration(_constants2.FAILBACK_UTIL);
897
925
  case 6:
898
- abortNew = _context14.sent;
926
+ abortNew = _context15.sent;
899
927
  if (!abortNew) {
900
- _context14.next = 7;
928
+ _context15.next = 7;
901
929
  break;
902
930
  }
903
931
  _this5.clearFailbackTimer();
904
- return _context14.abrupt("return");
932
+ return _context15.abrupt("return");
905
933
  case 7:
906
934
  if (_this5.isDeviceRegistered()) {
907
- _context14.next = 9;
935
+ _context15.next = 9;
908
936
  break;
909
937
  }
910
- _context14.next = 8;
938
+ _context15.next = 8;
911
939
  return _this5.restartRegistration(_this5.executeFailback.name);
912
940
  case 8:
913
- _context14.next = 10;
941
+ _context15.next = 10;
914
942
  break;
915
943
  case 9:
916
944
  _this5.failbackTimer = undefined;
917
945
  _this5.initiateFailback();
918
946
  case 10:
919
- _context14.next = 12;
947
+ _context15.next = 12;
920
948
  break;
921
949
  case 11:
922
950
  _Logger.default.info('Active calls present or primary Mobius is down, deferring failback to next cycle.', {
@@ -927,15 +955,15 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
927
955
  _this5.initiateFailback();
928
956
  case 12:
929
957
  case "end":
930
- return _context14.stop();
958
+ return _context15.stop();
931
959
  }
932
- }, _callee14);
960
+ }, _callee15);
933
961
  })));
934
962
  case 1:
935
963
  case "end":
936
- return _context15.stop();
964
+ return _context16.stop();
937
965
  }
938
- }, _callee15, this);
966
+ }, _callee16, this);
939
967
  }));
940
968
  function executeFailback() {
941
969
  return _executeFailback.apply(this, arguments);
@@ -998,10 +1026,10 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
998
1026
  }, {
999
1027
  key: "restartRegistration",
1000
1028
  value: (function () {
1001
- var _restartRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee16(caller) {
1029
+ var _restartRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee17(caller) {
1002
1030
  var abort;
1003
- return _regenerator.default.wrap(function (_context16) {
1004
- while (1) switch (_context16.prev = _context16.next) {
1031
+ return _regenerator.default.wrap(function (_context17) {
1032
+ while (1) switch (_context17.prev = _context17.next) {
1005
1033
  case 0:
1006
1034
  /*
1007
1035
  * Cancel any failback timer running
@@ -1009,23 +1037,23 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1009
1037
  */
1010
1038
  this.clearFailbackTimer();
1011
1039
  this.failback429RetryAttempts = 0;
1012
- _context16.next = 1;
1040
+ _context17.next = 1;
1013
1041
  return this.attemptRegistrationWithServers(caller, this.primaryMobiusUris);
1014
1042
  case 1:
1015
- abort = _context16.sent;
1043
+ abort = _context17.sent;
1016
1044
  if (!(!abort && !this.isDeviceRegistered())) {
1017
- _context16.next = 2;
1045
+ _context17.next = 2;
1018
1046
  break;
1019
1047
  }
1020
- _context16.next = 2;
1048
+ _context17.next = 2;
1021
1049
  return this.startFailoverTimer();
1022
1050
  case 2:
1023
1051
  case "end":
1024
- return _context16.stop();
1052
+ return _context17.stop();
1025
1053
  }
1026
- }, _callee16, this);
1054
+ }, _callee17, this);
1027
1055
  }));
1028
- function restartRegistration(_x9) {
1056
+ function restartRegistration(_x1) {
1029
1057
  return _restartRegistration.apply(this, arguments);
1030
1058
  }
1031
1059
  return restartRegistration;
@@ -1039,23 +1067,23 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1039
1067
  }, {
1040
1068
  key: "handleConnectionRestoration",
1041
1069
  value: (function () {
1042
- var _handleConnectionRestoration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee18(retry) {
1070
+ var _handleConnectionRestoration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee19(retry) {
1043
1071
  var _this6 = this;
1044
- return _regenerator.default.wrap(function (_context18) {
1045
- while (1) switch (_context18.prev = _context18.next) {
1072
+ return _regenerator.default.wrap(function (_context19) {
1073
+ while (1) switch (_context19.prev = _context19.next) {
1046
1074
  case 0:
1047
1075
  _Logger.default.info(_constants.METHOD_START_MESSAGE, {
1048
1076
  method: _constants2.METHODS.HANDLE_CONNECTION_RESTORATION,
1049
1077
  file: _constants2.REGISTRATION_FILE
1050
1078
  });
1051
- _context18.next = 1;
1052
- return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee17() {
1079
+ _context19.next = 1;
1080
+ return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee18() {
1053
1081
  var abort;
1054
- return _regenerator.default.wrap(function (_context17) {
1055
- while (1) switch (_context17.prev = _context17.next) {
1082
+ return _regenerator.default.wrap(function (_context18) {
1083
+ while (1) switch (_context18.prev = _context18.next) {
1056
1084
  case 0:
1057
1085
  if (!retry) {
1058
- _context17.next = 4;
1086
+ _context18.next = 4;
1059
1087
  break;
1060
1088
  }
1061
1089
  _Logger.default.log('Network is up again, re-registering with Webex Calling if needed', {
@@ -1064,43 +1092,43 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1064
1092
  });
1065
1093
  _this6.clearKeepaliveTimer();
1066
1094
  if (!_this6.isDeviceRegistered()) {
1067
- _context17.next = 1;
1095
+ _context18.next = 1;
1068
1096
  break;
1069
1097
  }
1070
- _context17.next = 1;
1098
+ _context18.next = 1;
1071
1099
  return _this6.deregister();
1072
1100
  case 1:
1073
1101
  if (!_this6.activeMobiusUrl) {
1074
- _context17.next = 3;
1102
+ _context18.next = 3;
1075
1103
  break;
1076
1104
  }
1077
- _context17.next = 2;
1105
+ _context18.next = 2;
1078
1106
  return _this6.restorePreviousRegistration(_constants2.METHODS.HANDLE_CONNECTION_RESTORATION);
1079
1107
  case 2:
1080
- abort = _context17.sent;
1108
+ abort = _context18.sent;
1081
1109
  if (!(!abort && !_this6.isDeviceRegistered())) {
1082
- _context17.next = 3;
1110
+ _context18.next = 3;
1083
1111
  break;
1084
1112
  }
1085
- _context17.next = 3;
1113
+ _context18.next = 3;
1086
1114
  return _this6.restartRegistration(_constants2.METHODS.HANDLE_CONNECTION_RESTORATION);
1087
1115
  case 3:
1088
1116
  retry = false;
1089
1117
  case 4:
1090
1118
  case "end":
1091
- return _context17.stop();
1119
+ return _context18.stop();
1092
1120
  }
1093
- }, _callee17);
1121
+ }, _callee18);
1094
1122
  })));
1095
1123
  case 1:
1096
- return _context18.abrupt("return", retry);
1124
+ return _context19.abrupt("return", retry);
1097
1125
  case 2:
1098
1126
  case "end":
1099
- return _context18.stop();
1127
+ return _context19.stop();
1100
1128
  }
1101
- }, _callee18, this);
1129
+ }, _callee19, this);
1102
1130
  }));
1103
- function handleConnectionRestoration(_x0) {
1131
+ function handleConnectionRestoration(_x10) {
1104
1132
  return _handleConnectionRestoration.apply(this, arguments);
1105
1133
  }
1106
1134
  return handleConnectionRestoration;
@@ -1116,53 +1144,53 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1116
1144
  value: function restoreRegistrationCallBack() {
1117
1145
  var _this7 = this;
1118
1146
  return /*#__PURE__*/function () {
1119
- var _ref1 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee19(restoreData, caller) {
1147
+ var _ref1 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee20(restoreData, caller) {
1120
1148
  var logContext, restore, finalError;
1121
- return _regenerator.default.wrap(function (_context19) {
1122
- while (1) switch (_context19.prev = _context19.next) {
1149
+ return _regenerator.default.wrap(function (_context20) {
1150
+ while (1) switch (_context20.prev = _context20.next) {
1123
1151
  case 0:
1124
1152
  logContext = {
1125
1153
  file: _constants2.REGISTRATION_FILE,
1126
1154
  method: caller
1127
1155
  };
1128
1156
  if (_this7.isRegRetry()) {
1129
- _context19.next = 4;
1157
+ _context20.next = 4;
1130
1158
  break;
1131
1159
  }
1132
1160
  _Logger.default.info('Registration restoration in progress.', logContext);
1133
1161
  restore = _this7.getExistingDevice(restoreData);
1134
1162
  if (!restore) {
1135
- _context19.next = 3;
1163
+ _context20.next = 3;
1136
1164
  break;
1137
1165
  }
1138
1166
  _this7.setRegRetry(true);
1139
- _context19.next = 1;
1167
+ _context20.next = 1;
1140
1168
  return _this7.deregister();
1141
1169
  case 1:
1142
- _context19.next = 2;
1170
+ _context20.next = 2;
1143
1171
  return _this7.restorePreviousRegistration(caller);
1144
1172
  case 2:
1145
- finalError = _context19.sent;
1173
+ finalError = _context20.sent;
1146
1174
  _this7.setRegRetry(false);
1147
1175
  if (_this7.isDeviceRegistered()) {
1148
1176
  _Logger.default.info('Registration restored successfully.', logContext);
1149
1177
  }
1150
- return _context19.abrupt("return", finalError);
1178
+ return _context20.abrupt("return", finalError);
1151
1179
  case 3:
1152
1180
  _this7.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
1153
- _context19.next = 5;
1181
+ _context20.next = 5;
1154
1182
  break;
1155
1183
  case 4:
1156
1184
  _this7.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
1157
1185
  case 5:
1158
- return _context19.abrupt("return", false);
1186
+ return _context20.abrupt("return", false);
1159
1187
  case 6:
1160
1188
  case "end":
1161
- return _context19.stop();
1189
+ return _context20.stop();
1162
1190
  }
1163
- }, _callee19);
1191
+ }, _callee20);
1164
1192
  }));
1165
- return function (_x1, _x10) {
1193
+ return function (_x11, _x12) {
1166
1194
  return _ref1.apply(this, arguments);
1167
1195
  };
1168
1196
  }();
@@ -1175,39 +1203,39 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1175
1203
  }, {
1176
1204
  key: "triggerRegistration",
1177
1205
  value: (function () {
1178
- var _triggerRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee20() {
1206
+ var _triggerRegistration = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee21() {
1179
1207
  var abort;
1180
- return _regenerator.default.wrap(function (_context20) {
1181
- while (1) switch (_context20.prev = _context20.next) {
1208
+ return _regenerator.default.wrap(function (_context21) {
1209
+ while (1) switch (_context21.prev = _context21.next) {
1182
1210
  case 0:
1183
- _context20.next = 1;
1211
+ _context21.next = 1;
1184
1212
  return this.resumeFailover();
1185
1213
  case 1:
1186
- if (!_context20.sent) {
1187
- _context20.next = 2;
1214
+ if (!_context21.sent) {
1215
+ _context21.next = 2;
1188
1216
  break;
1189
1217
  }
1190
- return _context20.abrupt("return");
1218
+ return _context21.abrupt("return");
1191
1219
  case 2:
1192
1220
  if (!(this.primaryMobiusUris.length > 0)) {
1193
- _context20.next = 4;
1221
+ _context21.next = 4;
1194
1222
  break;
1195
1223
  }
1196
- _context20.next = 3;
1224
+ _context21.next = 3;
1197
1225
  return this.attemptRegistrationWithServers(_constants2.REGISTRATION_UTIL, this.primaryMobiusUris);
1198
1226
  case 3:
1199
- abort = _context20.sent;
1227
+ abort = _context21.sent;
1200
1228
  if (!(!this.isDeviceRegistered() && !abort)) {
1201
- _context20.next = 4;
1229
+ _context21.next = 4;
1202
1230
  break;
1203
1231
  }
1204
- _context20.next = 4;
1232
+ _context21.next = 4;
1205
1233
  return this.startFailoverTimer();
1206
1234
  case 4:
1207
1235
  case "end":
1208
- return _context20.stop();
1236
+ return _context21.stop();
1209
1237
  }
1210
- }, _callee20, this);
1238
+ }, _callee21, this);
1211
1239
  }));
1212
1240
  function triggerRegistration() {
1213
1241
  return _triggerRegistration.apply(this, arguments);
@@ -1226,49 +1254,50 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1226
1254
  }, {
1227
1255
  key: "attemptRegistrationWithServers",
1228
1256
  value: (function () {
1229
- var _attemptRegistrationWithServers = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee21(caller) {
1257
+ var _attemptRegistrationWithServers = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee22(caller) {
1230
1258
  var _this8 = this;
1231
1259
  var servers,
1232
1260
  abort,
1261
+ connectedWebSocketUrl,
1233
1262
  _iterator2,
1234
1263
  _step2,
1235
1264
  _loop,
1236
1265
  _ret,
1237
- _args22 = arguments,
1266
+ _args23 = arguments,
1238
1267
  _t6;
1239
- return _regenerator.default.wrap(function (_context22) {
1240
- while (1) switch (_context22.prev = _context22.next) {
1268
+ return _regenerator.default.wrap(function (_context23) {
1269
+ while (1) switch (_context23.prev = _context23.next) {
1241
1270
  case 0:
1242
- servers = _args22.length > 1 && _args22[1] !== undefined ? _args22[1] : this.primaryMobiusUris;
1271
+ servers = _args23.length > 1 && _args23[1] !== undefined ? _args23[1] : this.primaryMobiusUris;
1243
1272
  abort = false;
1244
1273
  this.retryAfter = undefined;
1245
1274
  if (!this.failoverImmediately) {
1246
- _context22.next = 1;
1275
+ _context23.next = 1;
1247
1276
  break;
1248
1277
  }
1249
- return _context22.abrupt("return", abort);
1278
+ return _context23.abrupt("return", abort);
1250
1279
  case 1:
1251
1280
  if (!this.isDeviceRegistered()) {
1252
- _context22.next = 2;
1281
+ _context23.next = 2;
1253
1282
  break;
1254
1283
  }
1255
1284
  _Logger.default.info("[".concat(caller, "] : Device already registered with : ").concat(this.activeMobiusUrl), {
1256
1285
  file: _constants2.REGISTRATION_FILE,
1257
1286
  method: _constants2.REGISTER_UTIL
1258
1287
  });
1259
- return _context22.abrupt("return", abort);
1288
+ return _context23.abrupt("return", abort);
1260
1289
  case 2:
1261
1290
  _iterator2 = _createForOfIteratorHelper(servers);
1262
- _context22.prev = 3;
1291
+ _context23.prev = 3;
1263
1292
  _loop = /*#__PURE__*/_regenerator.default.mark(function _loop() {
1264
1293
  var _this8$backupMobiusUr;
1265
1294
  var url, serverType, _this8$deviceInfo$dev, _resp$headers, _resp$headers$trackin, _resp$headers2, _this8$deviceInfo$dev2, wssNormalizedUrl, resp, body, _t5;
1266
- return _regenerator.default.wrap(function (_context21) {
1267
- while (1) switch (_context21.prev = _context21.next) {
1295
+ return _regenerator.default.wrap(function (_context22) {
1296
+ while (1) switch (_context22.prev = _context22.next) {
1268
1297
  case 0:
1269
1298
  url = _step2.value;
1270
1299
  serverType = _this8.primaryMobiusUris.includes(url) && 'PRIMARY' || ((_this8$backupMobiusUr = _this8.backupMobiusUris) === null || _this8$backupMobiusUr === void 0 ? void 0 : _this8$backupMobiusUr.includes(url)) && 'BACKUP' || 'UNKNOWN';
1271
- _context21.prev = 1;
1300
+ _context22.prev = 1;
1272
1301
  abort = false;
1273
1302
  _this8.registrationStatus = _types2.RegistrationStatus.INACTIVE;
1274
1303
  _this8.lineEmitter(_types3.LINE_EVENTS.CONNECTING);
@@ -1277,21 +1306,24 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1277
1306
  method: _constants2.REGISTER_UTIL
1278
1307
  });
1279
1308
  if (!_this8.apiRequest.isSocketEnabled()) {
1280
- _context21.next = 2;
1309
+ _context22.next = 3;
1281
1310
  break;
1282
1311
  }
1283
1312
  wssNormalizedUrl = url.endsWith('/') ? url.slice(0, -1) : url; // eslint-disable-next-line no-await-in-loop
1284
- _context21.next = 2;
1313
+ _context22.next = 2;
1285
1314
  return _this8.apiRequest.connectToMobiusSocket(wssNormalizedUrl);
1286
1315
  case 2:
1287
- _context21.next = 3;
1288
- return _this8.postRegistration(url);
1316
+ connectedWebSocketUrl = _context22.sent;
1317
+ connectedWebSocketUrl = connectedWebSocketUrl ? "".concat(connectedWebSocketUrl, "/") : undefined;
1289
1318
  case 3:
1290
- resp = _context21.sent;
1319
+ _context22.next = 4;
1320
+ return _this8.postRegistration(url);
1321
+ case 4:
1322
+ resp = _context22.sent;
1291
1323
  _this8.clearFailoverState();
1292
1324
  _this8.deviceInfo = resp.body;
1293
1325
  _this8.registrationStatus = _types2.RegistrationStatus.ACTIVE;
1294
- _this8.setActiveMobiusUrl(url);
1326
+ _this8.setActiveMobiusUrl(connectedWebSocketUrl || url);
1295
1327
  _this8.lineEmitter(_types3.LINE_EVENTS.REGISTERED, resp.body);
1296
1328
  _Logger.default.log("Registration successful for deviceId: ".concat((_this8$deviceInfo$dev = _this8.deviceInfo.device) === null || _this8$deviceInfo$dev === void 0 ? void 0 : _this8$deviceInfo$dev.deviceId, " userId: ").concat(_this8.userId, " responseTrackingId: ").concat((_resp$headers = resp.headers) === null || _resp$headers === void 0 ? void 0 : _resp$headers.trackingid), {
1297
1329
  file: _constants2.REGISTRATION_FILE,
@@ -1302,18 +1334,20 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1302
1334
  _this8.metricManager.submitRegistrationMetric(_types.METRIC_EVENT.REGISTRATION, _types.REG_ACTION.REGISTER, _types.METRIC_TYPE.BEHAVIORAL, caller, serverType, (_resp$headers$trackin = (_resp$headers2 = resp.headers) === null || _resp$headers2 === void 0 ? void 0 : _resp$headers2.trackingid) !== null && _resp$headers$trackin !== void 0 ? _resp$headers$trackin : '', undefined, undefined);
1303
1335
  _this8.startKeepaliveTimer((_this8$deviceInfo$dev2 = _this8.deviceInfo.device) === null || _this8$deviceInfo$dev2 === void 0 ? void 0 : _this8$deviceInfo$dev2.uri, _this8.deviceInfo.keepaliveInterval, serverType);
1304
1336
  _this8.initiateFailback();
1305
- return _context21.abrupt("return", 0);
1306
- case 4:
1307
- _context21.prev = 4;
1308
- _t5 = _context21["catch"](1);
1309
- _context21.next = 5;
1337
+ return _context22.abrupt("return", 0);
1338
+ case 5:
1339
+ _context22.prev = 5;
1340
+ _t5 = _context22["catch"](1);
1341
+ connectedWebSocketUrl = undefined;
1342
+ // eslint-disable-next-line no-await-in-loop
1343
+ _context22.next = 6;
1310
1344
  return _this8.apiRequest.disconnectFromMobiusSocket({
1311
1345
  code: 3050,
1312
1346
  reason: 'done (permanent)'
1313
1347
  });
1314
- case 5:
1348
+ case 6:
1315
1349
  body = _t5; // eslint-disable-next-line no-await-in-loop, @typescript-eslint/no-unused-vars
1316
- _context21.next = 6;
1350
+ _context22.next = 7;
1317
1351
  return (0, _common.handleRegistrationErrors)(body, function (clientError, finalError) {
1318
1352
  var _body$headers$trackin, _body$headers;
1319
1353
  if (finalError) {
@@ -1328,71 +1362,71 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1328
1362
  }, function (retryAfter, retryCaller) {
1329
1363
  return _this8.handle429Retry(retryAfter, retryCaller);
1330
1364
  }, _this8.restoreRegistrationCallBack());
1331
- case 6:
1332
- abort = _context21.sent;
1365
+ case 7:
1366
+ abort = _context22.sent;
1333
1367
  if (!(_this8.registrationStatus === _types2.RegistrationStatus.ACTIVE)) {
1334
- _context21.next = 7;
1368
+ _context22.next = 8;
1335
1369
  break;
1336
1370
  }
1337
1371
  _Logger.default.info("[".concat(caller, "] : Device is already restored, active mobius url: ").concat(_this8.activeMobiusUrl), {
1338
1372
  file: _constants2.REGISTRATION_FILE,
1339
1373
  method: _this8.attemptRegistrationWithServers.name
1340
1374
  });
1341
- return _context21.abrupt("return", 0);
1342
- case 7:
1375
+ return _context22.abrupt("return", 0);
1376
+ case 8:
1343
1377
  if (!abort) {
1344
- _context21.next = 9;
1378
+ _context22.next = 10;
1345
1379
  break;
1346
1380
  }
1347
1381
  _this8.setStatus(_types2.RegistrationStatus.INACTIVE);
1348
1382
  // eslint-disable-next-line no-await-in-loop
1349
- _context21.next = 8;
1383
+ _context22.next = 9;
1350
1384
  return (0, _common.uploadLogs)();
1351
- case 8:
1352
- return _context21.abrupt("return", 0);
1353
1385
  case 9:
1386
+ return _context22.abrupt("return", 0);
1387
+ case 10:
1354
1388
  case "end":
1355
- return _context21.stop();
1389
+ return _context22.stop();
1356
1390
  }
1357
- }, _loop, null, [[1, 4]]);
1391
+ }, _loop, null, [[1, 5]]);
1358
1392
  });
1359
1393
  _iterator2.s();
1360
1394
  case 4:
1361
1395
  if ((_step2 = _iterator2.n()).done) {
1362
- _context22.next = 7;
1396
+ _context23.next = 7;
1363
1397
  break;
1364
1398
  }
1365
- return _context22.delegateYield(_loop(), "t0", 5);
1399
+ return _context23.delegateYield(_loop(), "t0", 5);
1366
1400
  case 5:
1367
- _ret = _context22.t0;
1401
+ _ret = _context23.t0;
1368
1402
  if (!(_ret === 0)) {
1369
- _context22.next = 6;
1403
+ _context23.next = 6;
1370
1404
  break;
1371
1405
  }
1372
- return _context22.abrupt("continue", 7);
1406
+ return _context23.abrupt("continue", 7);
1373
1407
  case 6:
1374
- _context22.next = 4;
1408
+ _context23.next = 4;
1375
1409
  break;
1376
1410
  case 7:
1377
- _context22.next = 9;
1411
+ _context23.next = 9;
1378
1412
  break;
1379
1413
  case 8:
1380
- _context22.prev = 8;
1381
- _t6 = _context22["catch"](3);
1414
+ _context23.prev = 8;
1415
+ _t6 = _context23["catch"](3);
1382
1416
  _iterator2.e(_t6);
1383
1417
  case 9:
1384
- _context22.prev = 9;
1418
+ _context23.prev = 9;
1385
1419
  _iterator2.f();
1386
- return _context22.finish(9);
1420
+ return _context23.finish(9);
1387
1421
  case 10:
1388
- return _context22.abrupt("return", abort);
1422
+ return _context23.abrupt("return", abort);
1389
1423
  case 11:
1390
1424
  case "end":
1391
- return _context22.stop();
1425
+ return _context23.stop();
1392
1426
  }
1393
- }, _callee21, this, [[3, 8, 9, 10]]);
1427
+ }, _callee22, this, [[3, 8, 9, 10]]);
1394
1428
  }));
1395
- function attemptRegistrationWithServers(_x11) {
1429
+ function attemptRegistrationWithServers(_x13) {
1396
1430
  return _attemptRegistrationWithServers.apply(this, arguments);
1397
1431
  }
1398
1432
  return attemptRegistrationWithServers;
@@ -1405,132 +1439,155 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1405
1439
  }, {
1406
1440
  key: "startKeepaliveTimer",
1407
1441
  value: (function () {
1408
- var _startKeepaliveTimer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee24(url, interval, serverType) {
1442
+ var _startKeepaliveTimer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee25(url, interval, serverType) {
1409
1443
  var _this9 = this;
1410
1444
  var RETRY_COUNT_THRESHOLD;
1411
- return _regenerator.default.wrap(function (_context25) {
1412
- while (1) switch (_context25.prev = _context25.next) {
1445
+ return _regenerator.default.wrap(function (_context26) {
1446
+ while (1) switch (_context26.prev = _context26.next) {
1413
1447
  case 0:
1414
1448
  this.clearKeepaliveTimer();
1415
1449
  RETRY_COUNT_THRESHOLD = this.isCCFlow ? 4 : 5;
1416
- _context25.next = 1;
1417
- return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee23() {
1418
- var accessToken, blob, blobUrl;
1419
- return _regenerator.default.wrap(function (_context24) {
1420
- while (1) switch (_context24.prev = _context24.next) {
1450
+ _context26.next = 1;
1451
+ return this.mutex.runExclusive(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee24() {
1452
+ var blob, blobUrl;
1453
+ return _regenerator.default.wrap(function (_context25) {
1454
+ while (1) switch (_context25.prev = _context25.next) {
1421
1455
  case 0:
1422
- if (!_this9.isDeviceRegistered()) {
1423
- _context24.next = 2;
1424
- break;
1425
- }
1426
- _context24.next = 1;
1427
- return _this9.webex.credentials.getUserToken();
1428
- case 1:
1429
- accessToken = _context24.sent;
1430
- if (!_this9.webWorker) {
1431
- blob = new Blob([_webWorkerStr.default], {
1432
- type: 'application/javascript'
1433
- });
1434
- blobUrl = URL.createObjectURL(blob);
1435
- _this9.webWorker = new Worker(blobUrl);
1436
- URL.revokeObjectURL(blobUrl);
1437
- _this9.webWorker.postMessage({
1438
- type: _types2.WorkerMessageType.START_KEEPALIVE,
1439
- accessToken: String(accessToken),
1440
- deviceUrl: String(_this9.webex.internal.device.url),
1441
- interval: interval,
1442
- retryCountThreshold: RETRY_COUNT_THRESHOLD,
1443
- url: url
1444
- });
1445
- _this9.webWorker.onmessage = /*#__PURE__*/function () {
1446
- var _ref11 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee22(event) {
1447
- var logContext, error, abort;
1448
- return _regenerator.default.wrap(function (_context23) {
1449
- while (1) switch (_context23.prev = _context23.next) {
1450
- case 0:
1451
- logContext = {
1452
- file: _constants2.REGISTRATION_FILE,
1453
- method: _constants2.KEEPALIVE_UTIL
1454
- };
1455
- if (event.data.type === _types2.WorkerMessageType.KEEPALIVE_SUCCESS) {
1456
- _Logger.default.info("Sent Keepalive, status: ".concat(event.data.statusCode), logContext);
1457
- _this9.lineEmitter(_types3.LINE_EVENTS.RECONNECTED);
1458
- }
1459
- if (!(event.data.type === _types2.WorkerMessageType.KEEPALIVE_FAILURE)) {
1460
- _context23.next = 7;
1456
+ if (_this9.isDeviceRegistered()) {
1457
+ if (!_this9.webWorker) {
1458
+ blob = new Blob([_webWorkerStr.default], {
1459
+ type: 'application/javascript'
1460
+ });
1461
+ blobUrl = URL.createObjectURL(blob);
1462
+ _this9.webWorker = new Worker(blobUrl);
1463
+ URL.revokeObjectURL(blobUrl);
1464
+ _this9.webWorker.postMessage({
1465
+ type: _types2.WorkerMessageType.START_KEEPALIVE,
1466
+ interval: interval,
1467
+ retryCountThreshold: RETRY_COUNT_THRESHOLD
1468
+ });
1469
+ _this9.webWorker.onmessage = /*#__PURE__*/function () {
1470
+ var _ref11 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee23(event) {
1471
+ var logContext, _this9$webWorker, res, _err$headers, _this9$webWorker2, error, _error, abort, _t7;
1472
+ return _regenerator.default.wrap(function (_context24) {
1473
+ while (1) switch (_context24.prev = _context24.next) {
1474
+ case 0:
1475
+ logContext = {
1476
+ file: _constants2.REGISTRATION_FILE,
1477
+ method: _constants2.KEEPALIVE_UTIL
1478
+ };
1479
+ if (!(event.data.type === _types2.WorkerMessageType.SEND_KEEPALIVE)) {
1480
+ _context24.next = 4;
1481
+ break;
1482
+ }
1483
+ _context24.prev = 1;
1484
+ _context24.next = 2;
1485
+ return _this9.postKeepAlive(String(_this9.webex.internal.device.url), url);
1486
+ case 2:
1487
+ res = _context24.sent;
1488
+ (_this9$webWorker = _this9.webWorker) === null || _this9$webWorker === void 0 ? void 0 : _this9$webWorker.postMessage({
1489
+ type: _types2.WorkerMessageType.KEEPALIVE_RESULT,
1490
+ statusCode: res.statusCode
1491
+ });
1492
+ _context24.next = 4;
1461
1493
  break;
1462
- }
1463
- error = event.data.err;
1464
- _Logger.default.warn("Keep-alive missed ".concat(event.data.keepAliveRetryCount, " times. Status -> ").concat(error.statusCode, " "), logContext);
1465
- _context23.next = 1;
1466
- return (0, _common.handleRegistrationErrors)(error, function (clientError, finalError) {
1467
- var _error$headers$tracki, _error$headers;
1468
- if (finalError) {
1469
- _this9.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
1494
+ case 3:
1495
+ _context24.prev = 3;
1496
+ _t7 = _context24["catch"](1);
1497
+ error = {
1498
+ headers: {
1499
+ trackingid: (_err$headers = _t7.headers) === null || _err$headers === void 0 ? void 0 : _err$headers.trackingid,
1500
+ 'retry-after': _t7.headers['retry-after']
1501
+ },
1502
+ statusCode: _t7.statusCode,
1503
+ statusText: _t7.statusText,
1504
+ type: _t7.type
1505
+ };
1506
+ (_this9$webWorker2 = _this9.webWorker) === null || _this9$webWorker2 === void 0 ? void 0 : _this9$webWorker2.postMessage({
1507
+ type: _types2.WorkerMessageType.KEEPALIVE_RESULT,
1508
+ err: error
1509
+ });
1510
+ case 4:
1511
+ if (event.data.type === _types2.WorkerMessageType.KEEPALIVE_SUCCESS) {
1512
+ _Logger.default.info("Sent Keepalive, status: ".concat(event.data.statusCode), logContext);
1513
+ _this9.lineEmitter(_types3.LINE_EVENTS.RECONNECTED);
1514
+ }
1515
+ if (!(event.data.type === _types2.WorkerMessageType.KEEPALIVE_FAILURE)) {
1516
+ _context24.next = 11;
1517
+ break;
1518
+ }
1519
+ _error = event.data.err;
1520
+ _Logger.default.warn("Keep-alive missed ".concat(event.data.keepAliveRetryCount, " times. Status -> ").concat(_error.statusCode, " "), logContext);
1521
+ _context24.next = 5;
1522
+ return (0, _common.handleRegistrationErrors)(_error, function (clientError, finalError) {
1523
+ var _error$headers$tracki, _error$headers;
1524
+ if (finalError) {
1525
+ _this9.lineEmitter(_types3.LINE_EVENTS.ERROR, undefined, clientError);
1526
+ }
1527
+ _this9.metricManager.submitRegistrationMetric(_types.METRIC_EVENT.KEEPALIVE_ERROR, _types.REG_ACTION.KEEPALIVE_FAILURE, _types.METRIC_TYPE.BEHAVIORAL, _constants2.KEEPALIVE_UTIL, serverType, (_error$headers$tracki = (_error$headers = _error.headers) === null || _error$headers === void 0 ? void 0 : _error$headers.trackingid) !== null && _error$headers$tracki !== void 0 ? _error$headers$tracki : '', event.data.keepAliveRetryCount, clientError);
1528
+ }, {
1529
+ method: _constants2.KEEPALIVE_UTIL,
1530
+ file: _constants2.REGISTRATION_FILE
1531
+ }, function (retryAfter, retryCaller) {
1532
+ return _this9.handle429Retry(retryAfter, retryCaller);
1533
+ });
1534
+ case 5:
1535
+ abort = _context24.sent;
1536
+ if (!(abort || event.data.keepAliveRetryCount >= RETRY_COUNT_THRESHOLD)) {
1537
+ _context24.next = 10;
1538
+ break;
1539
+ }
1540
+ _this9.failoverImmediately = _this9.isCCFlow;
1541
+ _this9.setStatus(_types2.RegistrationStatus.INACTIVE);
1542
+ _this9.clearKeepaliveTimer();
1543
+ _this9.clearFailbackTimer();
1544
+ _this9.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
1545
+ _context24.next = 6;
1546
+ return (0, _common.uploadLogs)();
1547
+ case 6:
1548
+ if (abort) {
1549
+ _context24.next = 8;
1550
+ break;
1470
1551
  }
1471
- _this9.metricManager.submitRegistrationMetric(_types.METRIC_EVENT.KEEPALIVE_ERROR, _types.REG_ACTION.KEEPALIVE_FAILURE, _types.METRIC_TYPE.BEHAVIORAL, _constants2.KEEPALIVE_UTIL, serverType, (_error$headers$tracki = (_error$headers = error.headers) === null || _error$headers === void 0 ? void 0 : _error$headers.trackingid) !== null && _error$headers$tracki !== void 0 ? _error$headers$tracki : '', event.data.keepAliveRetryCount, clientError);
1472
- }, {
1473
- method: _constants2.KEEPALIVE_UTIL,
1474
- file: _constants2.REGISTRATION_FILE
1475
- }, function (retryAfter, retryCaller) {
1476
- return _this9.handle429Retry(retryAfter, retryCaller);
1477
- });
1478
- case 1:
1479
- abort = _context23.sent;
1480
- if (!(abort || event.data.keepAliveRetryCount >= RETRY_COUNT_THRESHOLD)) {
1481
- _context23.next = 6;
1552
+ _context24.next = 7;
1553
+ return _this9.reconnectOnFailure(_constants2.RECONNECT_ON_FAILURE_UTIL);
1554
+ case 7:
1555
+ _context24.next = 9;
1482
1556
  break;
1483
- }
1484
- _this9.failoverImmediately = _this9.isCCFlow;
1485
- _this9.setStatus(_types2.RegistrationStatus.INACTIVE);
1486
- _this9.clearKeepaliveTimer();
1487
- _this9.clearFailbackTimer();
1488
- _this9.lineEmitter(_types3.LINE_EVENTS.UNREGISTERED);
1489
- _context23.next = 2;
1490
- return (0, _common.uploadLogs)();
1491
- case 2:
1492
- if (abort) {
1493
- _context23.next = 4;
1557
+ case 8:
1558
+ if (_error.statusCode === 404) {
1559
+ _this9.handle404KeepaliveFailure(_constants2.KEEPALIVE_UTIL);
1560
+ }
1561
+ case 9:
1562
+ _context24.next = 11;
1494
1563
  break;
1495
- }
1496
- _context23.next = 3;
1497
- return _this9.reconnectOnFailure(_constants2.RECONNECT_ON_FAILURE_UTIL);
1498
- case 3:
1499
- _context23.next = 5;
1500
- break;
1501
- case 4:
1502
- if (error.statusCode === 404) {
1503
- _this9.handle404KeepaliveFailure(_constants2.KEEPALIVE_UTIL);
1504
- }
1505
- case 5:
1506
- _context23.next = 7;
1507
- break;
1508
- case 6:
1509
- _this9.lineEmitter(_types3.LINE_EVENTS.RECONNECTING);
1510
- case 7:
1511
- case "end":
1512
- return _context23.stop();
1513
- }
1514
- }, _callee22);
1515
- }));
1516
- return function (_x15) {
1517
- return _ref11.apply(this, arguments);
1518
- };
1519
- }();
1564
+ case 10:
1565
+ _this9.lineEmitter(_types3.LINE_EVENTS.RECONNECTING);
1566
+ case 11:
1567
+ case "end":
1568
+ return _context24.stop();
1569
+ }
1570
+ }, _callee23, null, [[1, 3]]);
1571
+ }));
1572
+ return function (_x17) {
1573
+ return _ref11.apply(this, arguments);
1574
+ };
1575
+ }();
1576
+ }
1520
1577
  }
1521
- case 2:
1578
+ case 1:
1522
1579
  case "end":
1523
- return _context24.stop();
1580
+ return _context25.stop();
1524
1581
  }
1525
- }, _callee23);
1582
+ }, _callee24);
1526
1583
  })));
1527
1584
  case 1:
1528
1585
  case "end":
1529
- return _context25.stop();
1586
+ return _context26.stop();
1530
1587
  }
1531
- }, _callee24, this);
1588
+ }, _callee25, this);
1532
1589
  }));
1533
- function startKeepaliveTimer(_x12, _x13, _x14) {
1590
+ function startKeepaliveTimer(_x14, _x15, _x16) {
1534
1591
  return _startKeepaliveTimer.apply(this, arguments);
1535
1592
  }
1536
1593
  return startKeepaliveTimer;
@@ -1558,25 +1615,25 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1558
1615
  }, {
1559
1616
  key: "deregister",
1560
1617
  value: function () {
1561
- var _deregister = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee25() {
1562
- var _this$deviceInfo$devi, _this$deviceInfo$devi2, _t7;
1563
- return _regenerator.default.wrap(function (_context26) {
1564
- while (1) switch (_context26.prev = _context26.next) {
1618
+ var _deregister = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee26() {
1619
+ var _this$deviceInfo$devi2, _this$deviceInfo$devi3, _t8;
1620
+ return _regenerator.default.wrap(function (_context27) {
1621
+ while (1) switch (_context27.prev = _context27.next) {
1565
1622
  case 0:
1566
- _context26.prev = 0;
1567
- _context26.next = 1;
1568
- return this.deleteRegistration(this.activeMobiusUrl, (_this$deviceInfo$devi = this.deviceInfo.device) === null || _this$deviceInfo$devi === void 0 ? void 0 : _this$deviceInfo$devi.deviceId, (_this$deviceInfo$devi2 = this.deviceInfo.device) === null || _this$deviceInfo$devi2 === void 0 ? void 0 : _this$deviceInfo$devi2.clientDeviceUri);
1623
+ _context27.prev = 0;
1624
+ _context27.next = 1;
1625
+ return this.deleteRegistration(this.activeMobiusUrl, (_this$deviceInfo$devi2 = this.deviceInfo.device) === null || _this$deviceInfo$devi2 === void 0 ? void 0 : _this$deviceInfo$devi2.deviceId, (_this$deviceInfo$devi3 = this.deviceInfo.device) === null || _this$deviceInfo$devi3 === void 0 ? void 0 : _this$deviceInfo$devi3.clientDeviceUri);
1569
1626
  case 1:
1570
1627
  _Logger.default.log('Registration successfully deregistered', {
1571
1628
  file: _constants2.REGISTRATION_FILE,
1572
1629
  method: _constants2.METHODS.DEREGISTER
1573
1630
  });
1574
- _context26.next = 3;
1631
+ _context27.next = 3;
1575
1632
  break;
1576
1633
  case 2:
1577
- _context26.prev = 2;
1578
- _t7 = _context26["catch"](0);
1579
- _Logger.default.warn("Delete failed with Mobius: ".concat((0, _stringify.default)(_t7)), {
1634
+ _context27.prev = 2;
1635
+ _t8 = _context27["catch"](0);
1636
+ _Logger.default.warn("Delete failed with Mobius: ".concat((0, _stringify.default)(_t8)), {
1580
1637
  file: _constants2.REGISTRATION_FILE,
1581
1638
  method: _constants2.METHODS.DEREGISTER
1582
1639
  });
@@ -1586,9 +1643,9 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1586
1643
  this.clearFailoverState();
1587
1644
  case 4:
1588
1645
  case "end":
1589
- return _context26.stop();
1646
+ return _context27.stop();
1590
1647
  }
1591
- }, _callee25, this, [[0, 2]]);
1648
+ }, _callee26, this, [[0, 2]]);
1592
1649
  }));
1593
1650
  function deregister() {
1594
1651
  return _deregister.apply(this, arguments);
@@ -1655,10 +1712,10 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1655
1712
  }, {
1656
1713
  key: "reconnectOnFailure",
1657
1714
  value: (function () {
1658
- var _reconnectOnFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee26(caller) {
1715
+ var _reconnectOnFailure = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee27(caller) {
1659
1716
  var abort;
1660
- return _regenerator.default.wrap(function (_context27) {
1661
- while (1) switch (_context27.prev = _context27.next) {
1717
+ return _regenerator.default.wrap(function (_context28) {
1718
+ while (1) switch (_context28.prev = _context28.next) {
1662
1719
  case 0:
1663
1720
  _Logger.default.info(_constants.METHOD_START_MESSAGE, {
1664
1721
  method: _constants2.METHODS.RECONNECT_ON_FAILURE,
@@ -1666,25 +1723,25 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1666
1723
  });
1667
1724
  this.reconnectPending = false;
1668
1725
  if (this.isDeviceRegistered()) {
1669
- _context27.next = 4;
1726
+ _context28.next = 4;
1670
1727
  break;
1671
1728
  }
1672
1729
  if (!((0, _keys.default)(this.callManager.getActiveCalls()).length === 0)) {
1673
- _context27.next = 3;
1730
+ _context28.next = 3;
1674
1731
  break;
1675
1732
  }
1676
- _context27.next = 1;
1733
+ _context28.next = 1;
1677
1734
  return this.restorePreviousRegistration(caller);
1678
1735
  case 1:
1679
- abort = _context27.sent;
1736
+ abort = _context28.sent;
1680
1737
  if (!(!abort && !this.isDeviceRegistered())) {
1681
- _context27.next = 2;
1738
+ _context28.next = 2;
1682
1739
  break;
1683
1740
  }
1684
- _context27.next = 2;
1741
+ _context28.next = 2;
1685
1742
  return this.restartRegistration(caller);
1686
1743
  case 2:
1687
- _context27.next = 4;
1744
+ _context28.next = 4;
1688
1745
  break;
1689
1746
  case 3:
1690
1747
  this.reconnectPending = true;
@@ -1694,11 +1751,11 @@ var Registration = exports.Registration = /*#__PURE__*/function () {
1694
1751
  });
1695
1752
  case 4:
1696
1753
  case "end":
1697
- return _context27.stop();
1754
+ return _context28.stop();
1698
1755
  }
1699
- }, _callee26, this);
1756
+ }, _callee27, this);
1700
1757
  }));
1701
- function reconnectOnFailure(_x16) {
1758
+ function reconnectOnFailure(_x18) {
1702
1759
  return _reconnectOnFailure.apply(this, arguments);
1703
1760
  }
1704
1761
  return reconnectOnFailure;