@wazo/sdk 0.37.24 → 0.37.28

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 (129) hide show
  1. package/README.md +96 -58
  2. package/dist/wazo-sdk.js +6 -6
  3. package/esm/__tests__/api-client.test.js +14 -14
  4. package/esm/__tests__/web-rtc-client.test.js +130 -108
  5. package/esm/api/agentd.js +1 -1
  6. package/esm/api/amid.js +2 -2
  7. package/esm/api/application.js +1 -1
  8. package/esm/api/auth.js +1 -1
  9. package/esm/api/call-logd.js +3 -3
  10. package/esm/api/calld.js +1 -1
  11. package/esm/api/chatd.js +1 -1
  12. package/esm/api/confd.js +1 -1
  13. package/esm/api/ctid-ng.js +4 -4
  14. package/esm/api/dird.js +3 -3
  15. package/esm/api/webhookd.js +2 -2
  16. package/esm/api-client.js +14 -14
  17. package/esm/checker/Checker.js +155 -133
  18. package/esm/checker/checks/aor.js +14 -14
  19. package/esm/checker/checks/api.js +14 -14
  20. package/esm/checker/checks/index.js +145 -123
  21. package/esm/checker/checks/wazo-websocket.js +16 -16
  22. package/esm/checker/checks/webrtc-transport.js +130 -108
  23. package/esm/checker/checks/webrtc.js +130 -108
  24. package/esm/domain/AdHocAPIConference.js +14 -14
  25. package/esm/domain/CallLog.js +1 -1
  26. package/esm/domain/CallSession.js +15 -0
  27. package/esm/domain/Contact.js +2 -2
  28. package/esm/domain/Features.js +14 -14
  29. package/esm/domain/Phone/CTIPhone.js +43 -28
  30. package/esm/domain/Phone/WebRTCPhone.js +126 -90
  31. package/esm/domain/SFUNotAvailableError.js +9 -0
  32. package/esm/domain/__tests__/CallLog.test.js +1 -1
  33. package/esm/domain/__tests__/CallSession.test.js +15 -0
  34. package/esm/domain/__tests__/Contact.test.js +2 -2
  35. package/esm/domain/__tests__/IndirectTransfer.test.js +15 -0
  36. package/esm/domain/__tests__/Room.test.js +15 -0
  37. package/esm/index.js +415 -346
  38. package/esm/lib/WazoSessionDescriptionHandler.js +10 -5
  39. package/esm/service/CallApi.js +14 -14
  40. package/esm/service/IssueReporter.js +2 -2
  41. package/esm/service/__tests__/IssueReporter.test.js +2 -2
  42. package/esm/service/getApiClient.js +14 -14
  43. package/esm/simple/Auth.js +404 -336
  44. package/esm/simple/Configuration.js +404 -336
  45. package/esm/simple/Directory.js +14 -14
  46. package/esm/simple/Phone.js +404 -336
  47. package/esm/simple/Websocket.js +18 -18
  48. package/esm/simple/index.js +408 -340
  49. package/esm/simple/room/LocalParticipant.js +408 -340
  50. package/esm/simple/room/Participant.js +408 -340
  51. package/esm/simple/room/RemoteParticipant.js +408 -340
  52. package/esm/simple/room/Room.js +409 -341
  53. package/esm/simple/room/SipRoom.js +408 -340
  54. package/esm/simple/room/Stream.js +408 -340
  55. package/esm/simple/room/__tests__/RemoteParticipant.test.js +408 -340
  56. package/esm/simple/utils.js +408 -340
  57. package/esm/utils/__tests__/api-requester.test.js +1 -1
  58. package/esm/utils/api-requester.js +1 -1
  59. package/esm/web-rtc-client.js +130 -108
  60. package/esm/websocket-client.js +16 -16
  61. package/lib/__tests__/api-client.test.js +14 -14
  62. package/lib/__tests__/web-rtc-client.test.js +130 -108
  63. package/lib/api/agentd.js +1 -1
  64. package/lib/api/amid.js +2 -2
  65. package/lib/api/application.js +1 -1
  66. package/lib/api/auth.js +1 -1
  67. package/lib/api/call-logd.js +3 -3
  68. package/lib/api/calld.js +1 -1
  69. package/lib/api/chatd.js +1 -1
  70. package/lib/api/confd.js +1 -1
  71. package/lib/api/ctid-ng.js +4 -4
  72. package/lib/api/dird.js +3 -3
  73. package/lib/api/webhookd.js +2 -2
  74. package/lib/api-client.js +14 -14
  75. package/lib/checker/Checker.js +155 -133
  76. package/lib/checker/checks/aor.js +14 -14
  77. package/lib/checker/checks/api.js +14 -14
  78. package/lib/checker/checks/index.js +145 -123
  79. package/lib/checker/checks/wazo-websocket.js +16 -16
  80. package/lib/checker/checks/webrtc-transport.js +130 -108
  81. package/lib/checker/checks/webrtc.js +130 -108
  82. package/lib/domain/AdHocAPIConference.js +14 -14
  83. package/lib/domain/CallLog.js +1 -1
  84. package/lib/domain/CallSession.js +15 -0
  85. package/lib/domain/Contact.js +2 -2
  86. package/lib/domain/Features.js +14 -14
  87. package/lib/domain/Phone/CTIPhone.js +43 -28
  88. package/lib/domain/Phone/WebRTCPhone.js +126 -89
  89. package/lib/domain/SFUNotAvailableError.js +11 -0
  90. package/lib/domain/__tests__/CallLog.test.js +1 -1
  91. package/lib/domain/__tests__/CallSession.test.js +15 -0
  92. package/lib/domain/__tests__/Contact.test.js +2 -2
  93. package/lib/domain/__tests__/IndirectTransfer.test.js +15 -0
  94. package/lib/domain/__tests__/Room.test.js +15 -0
  95. package/lib/index.js +415 -346
  96. package/lib/lib/WazoSessionDescriptionHandler.js +10 -5
  97. package/lib/service/CallApi.js +14 -14
  98. package/lib/service/IssueReporter.js +2 -2
  99. package/lib/service/__tests__/IssueReporter.test.js +2 -2
  100. package/lib/service/getApiClient.js +14 -14
  101. package/lib/simple/Auth.js +404 -336
  102. package/lib/simple/Configuration.js +404 -336
  103. package/lib/simple/Directory.js +14 -14
  104. package/lib/simple/Phone.js +404 -336
  105. package/lib/simple/Websocket.js +18 -18
  106. package/lib/simple/index.js +408 -340
  107. package/lib/simple/room/LocalParticipant.js +408 -340
  108. package/lib/simple/room/Participant.js +408 -340
  109. package/lib/simple/room/RemoteParticipant.js +408 -340
  110. package/lib/simple/room/Room.js +409 -341
  111. package/lib/simple/room/SipRoom.js +408 -340
  112. package/lib/simple/room/Stream.js +408 -340
  113. package/lib/simple/room/__tests__/RemoteParticipant.test.js +408 -340
  114. package/lib/simple/utils.js +408 -340
  115. package/lib/utils/__tests__/api-requester.test.js +1 -1
  116. package/lib/utils/api-requester.js +1 -1
  117. package/lib/web-rtc-client.js +130 -108
  118. package/lib/websocket-client.js +16 -16
  119. package/package.json +1 -1
  120. package/src/domain/CallSession.js +16 -0
  121. package/src/domain/Contact.js +1 -1
  122. package/src/domain/Phone/WebRTCPhone.js +25 -4
  123. package/src/domain/SFUNotAvailableError.js +7 -0
  124. package/src/index.js +2 -0
  125. package/src/lib/WazoSessionDescriptionHandler.js +8 -3
  126. package/src/simple/Phone.js +2 -1
  127. package/src/simple/index.js +2 -0
  128. package/src/utils/api-requester.js +1 -1
  129. package/src/web-rtc-client.js +27 -10
@@ -35,11 +35,11 @@ const isMobile = () => typeof navigator !== 'undefined' && navigator.product ===
35
35
 
36
36
  /* */
37
37
 
38
- const logger = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
38
+ IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
39
39
 
40
40
  // Use a function here to be able to mock it in tests
41
41
  const realFetch = () => {
42
- if (typeof document !== 'undefined') {
42
+ if (typeof document !== 'undefined' && window.fetch) {
43
43
  // Browser
44
44
  return window.fetch;
45
45
  }
@@ -515,7 +515,7 @@ class Heartbeat {
515
515
 
516
516
  //
517
517
 
518
- const SOCKET_EVENTS = {
518
+ const SOCKET_EVENTS$1 = {
519
519
  ON_OPEN: 'onopen',
520
520
  ON_MESSAGE: 'onmessage',
521
521
  ON_ERROR: 'onerror',
@@ -668,16 +668,16 @@ class WebSocketClient extends Emitter {
668
668
 
669
669
  this.socket.onopen = () => {
670
670
  logger$1.info('on Wazo WS open', { method: 'connect', host: this.host });
671
- this.eventEmitter.emit(SOCKET_EVENTS.ON_OPEN);
671
+ this.eventEmitter.emit(SOCKET_EVENTS$1.ON_OPEN);
672
672
  };
673
673
 
674
674
  this.socket.onerror = event => {
675
675
  logger$1.error('on Wazo WS error', event.target);
676
- this.eventEmitter.emit(SOCKET_EVENTS.ON_ERROR, event);
676
+ this.eventEmitter.emit(SOCKET_EVENTS$1.ON_ERROR, event);
677
677
  };
678
678
 
679
679
  this.socket.onmessage = (event ) => {
680
- this.eventEmitter.emit(SOCKET_EVENTS.ON_MESSAGE, event.data);
680
+ this.eventEmitter.emit(SOCKET_EVENTS$1.ON_MESSAGE, event.data);
681
681
 
682
682
  const message = JSON.parse(typeof event.data === 'string' ? event.data : '{}');
683
683
  let { name } = message;
@@ -710,11 +710,11 @@ class WebSocketClient extends Emitter {
710
710
  token: this.token,
711
711
  });
712
712
  this.initialized = false;
713
- this.eventEmitter.emit(SOCKET_EVENTS.ON_CLOSE, event);
713
+ this.eventEmitter.emit(SOCKET_EVENTS$1.ON_CLOSE, event);
714
714
 
715
715
  switch (event.code) {
716
716
  case 4002:
717
- this.eventEmitter.emit(SOCKET_EVENTS.ON_AUTH_FAILED);
717
+ this.eventEmitter.emit(SOCKET_EVENTS$1.ON_AUTH_FAILED);
718
718
  break;
719
719
  }
720
720
  };
@@ -830,7 +830,7 @@ class WebSocketClient extends Emitter {
830
830
  break;
831
831
  case 'start':
832
832
  this.initialized = true;
833
- this.eventEmitter.emit(SOCKET_EVENTS.INITIALIZED);
833
+ this.eventEmitter.emit(SOCKET_EVENTS$1.INITIALIZED);
834
834
  break;
835
835
  default:
836
836
  this.eventEmitter.emit('message', message);
@@ -877,7 +877,7 @@ class WebSocketClient extends Emitter {
877
877
  logger$1.log('heartbeat timed out', { host: this.host, token: this.token });
878
878
 
879
879
  this.close();
880
- this.eventEmitter.emit(SOCKET_EVENTS.ON_CLOSE, new Error('Websocket ping failure.'));
880
+ this.eventEmitter.emit(SOCKET_EVENTS$1.ON_CLOSE, new Error('Websocket ping failure.'));
881
881
 
882
882
  if (this.onHeartBeatTimeout) {
883
883
  this.onHeartBeatTimeout();
@@ -957,7 +957,7 @@ WebSocketClient.eventLists = [
957
957
 
958
958
  var WebSocketClient$1 = /*#__PURE__*/Object.freeze({
959
959
  __proto__: null,
960
- SOCKET_EVENTS: SOCKET_EVENTS,
960
+ SOCKET_EVENTS: SOCKET_EVENTS$1,
961
961
  AUTH_SESSION_EXPIRE_SOON: AUTH_SESSION_EXPIRE_SOON,
962
962
  FAVORITE_ADDED: FAVORITE_ADDED,
963
963
  FAVORITE_DELETED: FAVORITE_DELETED,
@@ -1030,10 +1030,10 @@ var WebSocketClient$1 = /*#__PURE__*/Object.freeze({
1030
1030
 
1031
1031
  //
1032
1032
 
1033
- const { SOCKET_EVENTS: SOCKET_EVENTS$1, ...OTHER_EVENTS } = WebSocketClient$1;
1034
- const ALL_EVENTS = [...Object.values(SOCKET_EVENTS$1), ...Object.values(OTHER_EVENTS)];
1033
+ const { SOCKET_EVENTS, ...OTHER_EVENTS } = WebSocketClient$1;
1034
+ const ALL_EVENTS = [...Object.values(SOCKET_EVENTS), ...Object.values(OTHER_EVENTS)];
1035
1035
 
1036
- const logger$2 = IssueReporter$1.loggerFor('simple-ws-client');
1036
+ const logger = IssueReporter$1.loggerFor('simple-ws-client');
1037
1037
 
1038
1038
  class Websocket extends Emitter {
1039
1039
 
@@ -1047,9 +1047,9 @@ class Websocket extends Emitter {
1047
1047
  // $FlowFixMe
1048
1048
  this[key] = OTHER_EVENTS[key];
1049
1049
  });
1050
- Object.keys(SOCKET_EVENTS$1).forEach(key => {
1050
+ Object.keys(SOCKET_EVENTS).forEach(key => {
1051
1051
  // $FlowFixMe
1052
- this[key] = SOCKET_EVENTS$1[key];
1052
+ this[key] = SOCKET_EVENTS[key];
1053
1053
  });
1054
1054
  this.eventLists = WebSocketClient.eventLists;
1055
1055
 
@@ -1057,7 +1057,7 @@ class Websocket extends Emitter {
1057
1057
  }
1058
1058
 
1059
1059
  open(host , session ) {
1060
- logger$2.info('open simple WebSocket', { host, token: session.token });
1060
+ logger.info('open simple WebSocket', { host, token: session.token });
1061
1061
  this.ws = new WebSocketClient(
1062
1062
  {
1063
1063
  host,
@@ -1085,7 +1085,7 @@ class Websocket extends Emitter {
1085
1085
  }
1086
1086
 
1087
1087
  updateToken(token ) {
1088
- logger$2.info('update token via simple Websocket', { token, ws: !!this.ws });
1088
+ logger.info('update token via simple Websocket', { token, ws: !!this.ws });
1089
1089
 
1090
1090
  if (!this.ws) {
1091
1091
  return;