@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
package/lib/api/agentd.js CHANGED
@@ -446,7 +446,7 @@ const logger = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
446
446
 
447
447
  // Use a function here to be able to mock it in tests
448
448
  const realFetch = () => {
449
- if (typeof document !== 'undefined') {
449
+ if (typeof document !== 'undefined' && window.fetch) {
450
450
  // Browser
451
451
  return window.fetch;
452
452
  }
package/lib/api/amid.js CHANGED
@@ -370,11 +370,11 @@ var IssueReporter$1 = new IssueReporter();
370
370
 
371
371
  /* */
372
372
 
373
- const logger = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
373
+ IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
374
374
 
375
375
  // Use a function here to be able to mock it in tests
376
376
  const realFetch = () => {
377
- if (typeof document !== 'undefined') {
377
+ if (typeof document !== 'undefined' && window.fetch) {
378
378
  // Browser
379
379
  return window.fetch;
380
380
  }
@@ -446,7 +446,7 @@ const logger = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
446
446
 
447
447
  // Use a function here to be able to mock it in tests
448
448
  const realFetch = () => {
449
- if (typeof document !== 'undefined') {
449
+ if (typeof document !== 'undefined' && window.fetch) {
450
450
  // Browser
451
451
  return window.fetch;
452
452
  }
package/lib/api/auth.js CHANGED
@@ -449,7 +449,7 @@ const logger = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
449
449
 
450
450
  // Use a function here to be able to mock it in tests
451
451
  const realFetch = () => {
452
- if (typeof document !== 'undefined') {
452
+ if (typeof document !== 'undefined' && window.fetch) {
453
453
  // Browser
454
454
  return window.fetch;
455
455
  }
@@ -371,11 +371,11 @@ var IssueReporter$1 = new IssueReporter();
371
371
 
372
372
  /* */
373
373
 
374
- const logger = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
374
+ IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
375
375
 
376
376
  // Use a function here to be able to mock it in tests
377
377
  const realFetch = () => {
378
- if (typeof document !== 'undefined') {
378
+ if (typeof document !== 'undefined' && window.fetch) {
379
379
  // Browser
380
380
  return window.fetch;
381
381
  }
@@ -422,7 +422,7 @@ BwIDAQAB
422
422
 
423
423
  //
424
424
 
425
- const swarmKey = jsrsasign.KEYUTIL.getKey(swarmPublicKey);
425
+ jsrsasign.KEYUTIL.getKey(swarmPublicKey);
426
426
 
427
427
  //
428
428
 
package/lib/api/calld.js CHANGED
@@ -447,7 +447,7 @@ const logger = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
447
447
 
448
448
  // Use a function here to be able to mock it in tests
449
449
  const realFetch = () => {
450
- if (typeof document !== 'undefined') {
450
+ if (typeof document !== 'undefined' && window.fetch) {
451
451
  // Browser
452
452
  return window.fetch;
453
453
  }
package/lib/api/chatd.js CHANGED
@@ -446,7 +446,7 @@ const logger = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
446
446
 
447
447
  // Use a function here to be able to mock it in tests
448
448
  const realFetch = () => {
449
- if (typeof document !== 'undefined') {
449
+ if (typeof document !== 'undefined' && window.fetch) {
450
450
  // Browser
451
451
  return window.fetch;
452
452
  }
package/lib/api/confd.js CHANGED
@@ -446,7 +446,7 @@ const logger = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
446
446
 
447
447
  // Use a function here to be able to mock it in tests
448
448
  const realFetch = () => {
449
- if (typeof document !== 'undefined') {
449
+ if (typeof document !== 'undefined' && window.fetch) {
450
450
  // Browser
451
451
  return window.fetch;
452
452
  }
@@ -450,7 +450,7 @@ const logger = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
450
450
 
451
451
  // Use a function here to be able to mock it in tests
452
452
  const realFetch = () => {
453
- if (typeof document !== 'undefined') {
453
+ if (typeof document !== 'undefined' && window.fetch) {
454
454
  // Browser
455
455
  return window.fetch;
456
456
  }
@@ -1165,11 +1165,11 @@ BwIDAQAB
1165
1165
 
1166
1166
  //
1167
1167
 
1168
- const swarmKey = jsrsasign.KEYUTIL.getKey(swarmPublicKey);
1168
+ jsrsasign.KEYUTIL.getKey(swarmPublicKey);
1169
1169
 
1170
1170
  /* */
1171
1171
 
1172
- const logger$1 = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
1172
+ IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
1173
1173
 
1174
1174
  /* eslint-disable dot-notation */
1175
1175
 
@@ -1191,7 +1191,7 @@ const TRANSFER_FLOW_BLIND = 'blind';
1191
1191
 
1192
1192
  // const MINIMUM_WAZO_ENGINE_VERSION_FOR_CTI_HOLD = '20.11';
1193
1193
 
1194
- const logger$2 = IssueReporter$1 ? IssueReporter$1.loggerFor('cti-phone') : console;
1194
+ IssueReporter$1 ? IssueReporter$1.loggerFor('cti-phone') : console;
1195
1195
 
1196
1196
  /* */
1197
1197
 
package/lib/api/dird.js CHANGED
@@ -448,7 +448,7 @@ const logger = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
448
448
 
449
449
  // Use a function here to be able to mock it in tests
450
450
  const realFetch = () => {
451
- if (typeof document !== 'undefined') {
451
+ if (typeof document !== 'undefined' && window.fetch) {
452
452
  // Browser
453
453
  return window.fetch;
454
454
  }
@@ -740,7 +740,7 @@ const LINE_STATE = {
740
740
 
741
741
  //
742
742
 
743
- const swarmKey = jsrsasign.KEYUTIL.getKey(swarmPublicKey);
743
+ jsrsasign.KEYUTIL.getKey(swarmPublicKey);
744
744
 
745
745
  //
746
746
 
@@ -1394,7 +1394,7 @@ class Contact {
1394
1394
  this[key] = old[key] || this[key];
1395
1395
  });
1396
1396
 
1397
- if (old.lineState && !this.lineState) {
1397
+ if (old.lineState) {
1398
1398
  this.lineState = old.lineState;
1399
1399
  }
1400
1400
 
@@ -370,11 +370,11 @@ var IssueReporter$1 = new IssueReporter();
370
370
 
371
371
  /* */
372
372
 
373
- const logger = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
373
+ IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
374
374
 
375
375
  // Use a function here to be able to mock it in tests
376
376
  const realFetch = () => {
377
- if (typeof document !== 'undefined') {
377
+ if (typeof document !== 'undefined' && window.fetch) {
378
378
  // Browser
379
379
  return window.fetch;
380
380
  }
package/lib/api-client.js CHANGED
@@ -446,11 +446,11 @@ var IssueReporter$1 = new IssueReporter();
446
446
 
447
447
  const methods = ['head', 'get', 'post', 'put', 'delete'];
448
448
 
449
- const logger = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
449
+ const logger$1 = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
450
450
 
451
451
  // Use a function here to be able to mock it in tests
452
452
  const realFetch = () => {
453
- if (typeof document !== 'undefined') {
453
+ if (typeof document !== 'undefined' && window.fetch) {
454
454
  // Browser
455
455
  return window.fetch;
456
456
  }
@@ -585,7 +585,7 @@ class ApiRequester {
585
585
  };
586
586
 
587
587
  if (this.refreshTokenPromise) {
588
- logger.info('A token is already refreshing, waiting ...', { url });
588
+ logger$1.info('A token is already refreshing, waiting ...', { url });
589
589
  await this.refreshTokenPromise;
590
590
  }
591
591
 
@@ -605,7 +605,7 @@ class ApiRequester {
605
605
  return promise.then(async (err ) => {
606
606
  // Check if the token is still valid
607
607
  if (firstCall && this._checkTokenExpired(response, err)) {
608
- logger.warn('token expired', { error: err.reason });
608
+ logger$1.warn('token expired', { error: err.reason });
609
609
  // Replay the call after refreshing the token
610
610
  return this._replayWithNewToken(err, path, method, body, headers, parse);
611
611
  }
@@ -615,7 +615,7 @@ class ApiRequester {
615
615
  : exceptionClass.fromResponse(err, response.status);
616
616
 
617
617
  if (this.shouldLogErrors) {
618
- logger.error('API error', error);
618
+ logger$1.error('API error', error);
619
619
  }
620
620
 
621
621
  throw error;
@@ -625,7 +625,7 @@ class ApiRequester {
625
625
  return newParse(response, isJson);
626
626
  }).catch(error => {
627
627
  if (this.shouldLogErrors) {
628
- logger.error('Fetch failed', { url, options, message: error.message, stack: error.stack });
628
+ logger$1.error('Fetch failed', { url, options, message: error.message, stack: error.stack });
629
629
  }
630
630
 
631
631
  throw error;
@@ -653,13 +653,13 @@ class ApiRequester {
653
653
  ) {
654
654
  const isTokenNotFound = this._isTokenNotFound(err);
655
655
  let newPath = path;
656
- logger.info('refreshing token', { inProgress: !!this.refreshTokenPromise });
656
+ logger$1.info('refreshing token', { inProgress: !!this.refreshTokenPromise });
657
657
 
658
658
  this.refreshTokenPromise = this.refreshTokenPromise || this.refreshTokenCallback();
659
659
 
660
660
  return this.refreshTokenPromise.then(() => {
661
661
  this.refreshTokenPromise = null;
662
- logger.info('token refreshed', { isTokenNotFound });
662
+ logger$1.info('token refreshed', { isTokenNotFound });
663
663
  if (isTokenNotFound) {
664
664
  const pathParts = path.split('/');
665
665
  pathParts.pop();
@@ -1910,7 +1910,7 @@ class Contact {
1910
1910
  this[key] = old[key] || this[key];
1911
1911
  });
1912
1912
 
1913
- if (old.lineState && !this.lineState) {
1913
+ if (old.lineState) {
1914
1914
  this.lineState = old.lineState;
1915
1915
  }
1916
1916
 
@@ -3601,7 +3601,7 @@ const TRANSFER_FLOW_BLIND = 'blind';
3601
3601
 
3602
3602
  // const MINIMUM_WAZO_ENGINE_VERSION_FOR_CTI_HOLD = '20.11';
3603
3603
 
3604
- const logger$1 = IssueReporter$1 ? IssueReporter$1.loggerFor('cti-phone') : console;
3604
+ IssueReporter$1 ? IssueReporter$1.loggerFor('cti-phone') : console;
3605
3605
 
3606
3606
  /* */
3607
3607
 
@@ -4520,7 +4520,7 @@ const AGENTD_VERSION = '1.0';
4520
4520
  const WEBHOOKD_VERSION = '1.0';
4521
4521
  const AMID_VERSION = '1.0';
4522
4522
 
4523
- const logger$2 = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
4523
+ const logger = IssueReporter$1 ? IssueReporter$1.loggerFor('api') : console;
4524
4524
 
4525
4525
  class ApiClient {
4526
4526
 
@@ -4572,12 +4572,12 @@ class ApiClient {
4572
4572
  }
4573
4573
 
4574
4574
  async forceRefreshToken() {
4575
- logger$2.info('forcing refresh token, calling callback');
4575
+ logger.info('forcing refresh token, calling callback');
4576
4576
  return this.refreshTokenCallback();
4577
4577
  }
4578
4578
 
4579
4579
  async refreshTokenCallback() {
4580
- logger$2.info('refresh token callback called', {
4580
+ logger.info('refresh token callback called', {
4581
4581
  refreshToken: this.refreshToken,
4582
4582
  refreshBackend: this.refreshBackend,
4583
4583
  refreshExpiration: this.refreshExpiration,
@@ -4595,7 +4595,7 @@ class ApiClient {
4595
4595
  this.isMobile,
4596
4596
  );
4597
4597
 
4598
- logger$2.info('token refreshed', { token: session.token });
4598
+ logger.info('token refreshed', { token: session.token });
4599
4599
 
4600
4600
  if (this.onRefreshToken) {
4601
4601
  this.onRefreshToken(session.token, session);