@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
@@ -43,11 +43,11 @@ const isMobile = () => typeof navigator !== 'undefined' && navigator.product ===
43
43
 
44
44
  /* */
45
45
 
46
- const logger = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
46
+ IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
47
47
 
48
48
  // Use a function here to be able to mock it in tests
49
49
  const realFetch = () => {
50
- if (typeof document !== 'undefined') {
50
+ if (typeof document !== 'undefined' && window.fetch) {
51
51
  // Browser
52
52
  return window.fetch;
53
53
  }
@@ -523,7 +523,7 @@ class Heartbeat {
523
523
 
524
524
  //
525
525
 
526
- const SOCKET_EVENTS = {
526
+ const SOCKET_EVENTS$1 = {
527
527
  ON_OPEN: 'onopen',
528
528
  ON_MESSAGE: 'onmessage',
529
529
  ON_ERROR: 'onerror',
@@ -676,16 +676,16 @@ class WebSocketClient extends Emitter {
676
676
 
677
677
  this.socket.onopen = () => {
678
678
  logger$1.info('on Wazo WS open', { method: 'connect', host: this.host });
679
- this.eventEmitter.emit(SOCKET_EVENTS.ON_OPEN);
679
+ this.eventEmitter.emit(SOCKET_EVENTS$1.ON_OPEN);
680
680
  };
681
681
 
682
682
  this.socket.onerror = event => {
683
683
  logger$1.error('on Wazo WS error', event.target);
684
- this.eventEmitter.emit(SOCKET_EVENTS.ON_ERROR, event);
684
+ this.eventEmitter.emit(SOCKET_EVENTS$1.ON_ERROR, event);
685
685
  };
686
686
 
687
687
  this.socket.onmessage = (event ) => {
688
- this.eventEmitter.emit(SOCKET_EVENTS.ON_MESSAGE, event.data);
688
+ this.eventEmitter.emit(SOCKET_EVENTS$1.ON_MESSAGE, event.data);
689
689
 
690
690
  const message = JSON.parse(typeof event.data === 'string' ? event.data : '{}');
691
691
  let { name } = message;
@@ -718,11 +718,11 @@ class WebSocketClient extends Emitter {
718
718
  token: this.token,
719
719
  });
720
720
  this.initialized = false;
721
- this.eventEmitter.emit(SOCKET_EVENTS.ON_CLOSE, event);
721
+ this.eventEmitter.emit(SOCKET_EVENTS$1.ON_CLOSE, event);
722
722
 
723
723
  switch (event.code) {
724
724
  case 4002:
725
- this.eventEmitter.emit(SOCKET_EVENTS.ON_AUTH_FAILED);
725
+ this.eventEmitter.emit(SOCKET_EVENTS$1.ON_AUTH_FAILED);
726
726
  break;
727
727
  }
728
728
  };
@@ -838,7 +838,7 @@ class WebSocketClient extends Emitter {
838
838
  break;
839
839
  case 'start':
840
840
  this.initialized = true;
841
- this.eventEmitter.emit(SOCKET_EVENTS.INITIALIZED);
841
+ this.eventEmitter.emit(SOCKET_EVENTS$1.INITIALIZED);
842
842
  break;
843
843
  default:
844
844
  this.eventEmitter.emit('message', message);
@@ -885,7 +885,7 @@ class WebSocketClient extends Emitter {
885
885
  logger$1.log('heartbeat timed out', { host: this.host, token: this.token });
886
886
 
887
887
  this.close();
888
- this.eventEmitter.emit(SOCKET_EVENTS.ON_CLOSE, new Error('Websocket ping failure.'));
888
+ this.eventEmitter.emit(SOCKET_EVENTS$1.ON_CLOSE, new Error('Websocket ping failure.'));
889
889
 
890
890
  if (this.onHeartBeatTimeout) {
891
891
  this.onHeartBeatTimeout();
@@ -965,7 +965,7 @@ WebSocketClient.eventLists = [
965
965
 
966
966
  var WebSocketClient$1 = /*#__PURE__*/Object.freeze({
967
967
  __proto__: null,
968
- SOCKET_EVENTS: SOCKET_EVENTS,
968
+ SOCKET_EVENTS: SOCKET_EVENTS$1,
969
969
  AUTH_SESSION_EXPIRE_SOON: AUTH_SESSION_EXPIRE_SOON,
970
970
  FAVORITE_ADDED: FAVORITE_ADDED,
971
971
  FAVORITE_DELETED: FAVORITE_DELETED,
@@ -1038,10 +1038,10 @@ var WebSocketClient$1 = /*#__PURE__*/Object.freeze({
1038
1038
 
1039
1039
  //
1040
1040
 
1041
- const { SOCKET_EVENTS: SOCKET_EVENTS$1, ...OTHER_EVENTS } = WebSocketClient$1;
1042
- const ALL_EVENTS = [...Object.values(SOCKET_EVENTS$1), ...Object.values(OTHER_EVENTS)];
1041
+ const { SOCKET_EVENTS, ...OTHER_EVENTS } = WebSocketClient$1;
1042
+ const ALL_EVENTS = [...Object.values(SOCKET_EVENTS), ...Object.values(OTHER_EVENTS)];
1043
1043
 
1044
- const logger$2 = IssueReporter$1.loggerFor('simple-ws-client');
1044
+ const logger = IssueReporter$1.loggerFor('simple-ws-client');
1045
1045
 
1046
1046
  class Websocket extends Emitter {
1047
1047
 
@@ -1055,9 +1055,9 @@ class Websocket extends Emitter {
1055
1055
  // $FlowFixMe
1056
1056
  this[key] = OTHER_EVENTS[key];
1057
1057
  });
1058
- Object.keys(SOCKET_EVENTS$1).forEach(key => {
1058
+ Object.keys(SOCKET_EVENTS).forEach(key => {
1059
1059
  // $FlowFixMe
1060
- this[key] = SOCKET_EVENTS$1[key];
1060
+ this[key] = SOCKET_EVENTS[key];
1061
1061
  });
1062
1062
  this.eventLists = WebSocketClient.eventLists;
1063
1063
 
@@ -1065,7 +1065,7 @@ class Websocket extends Emitter {
1065
1065
  }
1066
1066
 
1067
1067
  open(host , session ) {
1068
- logger$2.info('open simple WebSocket', { host, token: session.token });
1068
+ logger.info('open simple WebSocket', { host, token: session.token });
1069
1069
  this.ws = new WebSocketClient(
1070
1070
  {
1071
1071
  host,
@@ -1093,7 +1093,7 @@ class Websocket extends Emitter {
1093
1093
  }
1094
1094
 
1095
1095
  updateToken(token ) {
1096
- logger$2.info('update token via simple Websocket', { token, ws: !!this.ws });
1096
+ logger.info('update token via simple Websocket', { token, ws: !!this.ws });
1097
1097
 
1098
1098
  if (!this.ws) {
1099
1099
  return;