@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
  }
@@ -611,7 +611,7 @@ const BLACKLIST_EVENTS = [
611
611
  ];
612
612
 
613
613
  const HEARTBEAT_ENGINE_VERSION = '20.09';
614
- const logger$1 = IssueReporter$1.loggerFor('wazo-ws');
614
+ const logger = IssueReporter$1.loggerFor('wazo-ws');
615
615
  const messageLogger = IssueReporter$1.loggerFor('wazo-ws-message');
616
616
 
617
617
  class WebSocketClient extends Emitter {
@@ -660,19 +660,19 @@ class WebSocketClient extends Emitter {
660
660
  }
661
661
 
662
662
  connect() {
663
- logger$1.info('connect method started', { host: this.host, token: this.token });
663
+ logger.info('connect method started', { host: this.host, token: this.token });
664
664
  this.socket = new ReconnectingWebSocket(this._getUrl.bind(this), [], this.options);
665
665
  if (this.options.binaryType) {
666
666
  this.socket.binaryType = this.options.binaryType;
667
667
  }
668
668
 
669
669
  this.socket.onopen = () => {
670
- logger$1.info('on Wazo WS open', { method: 'connect', host: this.host });
670
+ logger.info('on Wazo WS open', { method: 'connect', host: this.host });
671
671
  this.eventEmitter.emit(SOCKET_EVENTS.ON_OPEN);
672
672
  };
673
673
 
674
674
  this.socket.onerror = event => {
675
- logger$1.error('on Wazo WS error', event.target);
675
+ logger.error('on Wazo WS error', event.target);
676
676
  this.eventEmitter.emit(SOCKET_EVENTS.ON_ERROR, event);
677
677
  };
678
678
 
@@ -702,7 +702,7 @@ class WebSocketClient extends Emitter {
702
702
 
703
703
  this.socket.onclose = event => {
704
704
  // Can't be converted to JSON (circular structure)
705
- logger$1.info('on Wazo WS close', {
705
+ logger.info('on Wazo WS close', {
706
706
  reason: event.reason,
707
707
  code: event.code,
708
708
  readyState: event.target.readyState,
@@ -720,12 +720,12 @@ class WebSocketClient extends Emitter {
720
720
  };
721
721
 
722
722
  this.socket.onerror = event => {
723
- logger$1.info('Wazo WS error', { message: event.message, code: event.code, readyState: event.target.readyState });
723
+ logger.info('Wazo WS error', { message: event.message, code: event.code, readyState: event.target.readyState });
724
724
  };
725
725
  }
726
726
 
727
727
  close(force = false) {
728
- logger$1.info('Wazo WS close', { socket: !!this.socket, host: this.host, token: this.token });
728
+ logger.info('Wazo WS close', { socket: !!this.socket, host: this.host, token: this.token });
729
729
 
730
730
  if (!this.socket) {
731
731
  return;
@@ -743,7 +743,7 @@ class WebSocketClient extends Emitter {
743
743
 
744
744
  updateToken(token ) {
745
745
  this.token = token;
746
- logger$1.info('Wazo WS updating token', { url: this._getUrl(), token, socket: !!this.socket });
746
+ logger.info('Wazo WS updating token', { url: this._getUrl(), token, socket: !!this.socket });
747
747
 
748
748
  if (this.socket) {
749
749
  // If still connected, send the token to the WS
@@ -761,7 +761,7 @@ class WebSocketClient extends Emitter {
761
761
  }
762
762
 
763
763
  startHeartbeat() {
764
- logger$1.info('Wazo WS start heartbeat', { host: this.host, token: this.token });
764
+ logger.info('Wazo WS start heartbeat', { host: this.host, token: this.token });
765
765
 
766
766
  if (!this.socket) {
767
767
  this.heartbeat.stop();
@@ -775,7 +775,7 @@ class WebSocketClient extends Emitter {
775
775
  }
776
776
 
777
777
  stopHeartbeat() {
778
- logger$1.info('Wazo WS stop heartbeat', { host: this.host, token: this.token });
778
+ logger.info('Wazo WS stop heartbeat', { host: this.host, token: this.token });
779
779
 
780
780
  this.heartbeat.stop();
781
781
  }
@@ -805,7 +805,7 @@ class WebSocketClient extends Emitter {
805
805
  }
806
806
 
807
807
  reconnect(reason ) {
808
- logger$1.info('Wazo WS reconnect', { reason, socket: !!this.socket, host: this.host, token: this.token });
808
+ logger.info('Wazo WS reconnect', { reason, socket: !!this.socket, host: this.host, token: this.token });
809
809
  if (!this.socket) {
810
810
  return;
811
811
  }
@@ -861,7 +861,7 @@ class WebSocketClient extends Emitter {
861
861
  this.close();
862
862
  }
863
863
  const url = `wss://${this.host || ''}/api/websocketd/?token=${this.token || ''}&version=${this.version}`;
864
- logger$1.log('Wazo WS url computed to reconnect', { url });
864
+ logger.log('Wazo WS url computed to reconnect', { url });
865
865
 
866
866
  return url;
867
867
  }
@@ -869,12 +869,12 @@ class WebSocketClient extends Emitter {
869
869
  _onHeartbeat(message ) {
870
870
  if (message.payload === 'pong') {
871
871
  this.heartbeat.onHeartbeat();
872
- logger$1.log('on heartbeat received from Wazo WS');
872
+ logger.log('on heartbeat received from Wazo WS');
873
873
  }
874
874
  }
875
875
 
876
876
  async _onHeartbeatTimeout() {
877
- logger$1.log('heartbeat timed out', { host: this.host, token: this.token });
877
+ logger.log('heartbeat timed out', { host: this.host, token: this.token });
878
878
 
879
879
  this.close();
880
880
  this.eventEmitter.emit(SOCKET_EVENTS.ON_CLOSE, new Error('Websocket ping failure.'));