@wazo/sdk 0.38.9 → 0.38.12

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 (78) hide show
  1. package/dist/wazo-sdk.js +2 -2
  2. package/esm/__tests__/api-client.test.js +21 -0
  3. package/esm/__tests__/web-rtc-client.test.js +32 -7
  4. package/esm/api/auth.js +12 -0
  5. package/esm/api/ctid-ng.js +1 -0
  6. package/esm/api-client.js +21 -0
  7. package/esm/checker/Checker.js +32 -7
  8. package/esm/checker/checks/aor.js +21 -0
  9. package/esm/checker/checks/api.js +21 -0
  10. package/esm/checker/checks/index.js +32 -7
  11. package/esm/checker/checks/webrtc-transport.js +32 -7
  12. package/esm/checker/checks/webrtc.js +32 -7
  13. package/esm/domain/AdHocAPIConference.js +28 -2
  14. package/esm/domain/Features.js +28 -2
  15. package/esm/domain/Phone/CTIPhone.js +28 -2
  16. package/esm/domain/Phone/WebRTCPhone.js +3 -2
  17. package/esm/index.js +86 -15
  18. package/esm/service/CallApi.js +28 -2
  19. package/esm/service/getApiClient.js +34 -3
  20. package/esm/simple/Auth.js +87 -16
  21. package/esm/simple/Configuration.js +86 -15
  22. package/esm/simple/Directory.js +28 -2
  23. package/esm/simple/Phone.js +86 -15
  24. package/esm/simple/Softphone.js +5 -0
  25. package/esm/simple/index.js +86 -15
  26. package/esm/simple/room/LocalParticipant.js +86 -15
  27. package/esm/simple/room/Participant.js +86 -15
  28. package/esm/simple/room/RemoteParticipant.js +86 -15
  29. package/esm/simple/room/Room.js +86 -15
  30. package/esm/simple/room/SipRoom.js +86 -15
  31. package/esm/simple/room/Stream.js +86 -15
  32. package/esm/simple/room/__tests__/Participant.test.js +86 -15
  33. package/esm/simple/room/__tests__/RemoteParticipant.test.js +86 -15
  34. package/esm/simple/utils.js +86 -15
  35. package/esm/web-rtc-client.js +32 -7
  36. package/lib/__tests__/api-client.test.js +21 -0
  37. package/lib/__tests__/web-rtc-client.test.js +32 -7
  38. package/lib/api/auth.js +12 -0
  39. package/lib/api/ctid-ng.js +1 -0
  40. package/lib/api-client.js +21 -0
  41. package/lib/checker/Checker.js +32 -7
  42. package/lib/checker/checks/aor.js +21 -0
  43. package/lib/checker/checks/api.js +21 -0
  44. package/lib/checker/checks/index.js +32 -7
  45. package/lib/checker/checks/webrtc-transport.js +32 -7
  46. package/lib/checker/checks/webrtc.js +32 -7
  47. package/lib/domain/AdHocAPIConference.js +28 -2
  48. package/lib/domain/Features.js +28 -2
  49. package/lib/domain/Phone/CTIPhone.js +28 -2
  50. package/lib/domain/Phone/WebRTCPhone.js +3 -2
  51. package/lib/index.js +86 -15
  52. package/lib/service/CallApi.js +28 -2
  53. package/lib/service/getApiClient.js +34 -2
  54. package/lib/simple/Auth.js +87 -15
  55. package/lib/simple/Configuration.js +86 -15
  56. package/lib/simple/Directory.js +28 -2
  57. package/lib/simple/Phone.js +86 -15
  58. package/lib/simple/Softphone.js +5 -0
  59. package/lib/simple/index.js +86 -15
  60. package/lib/simple/room/LocalParticipant.js +86 -15
  61. package/lib/simple/room/Participant.js +86 -15
  62. package/lib/simple/room/RemoteParticipant.js +86 -15
  63. package/lib/simple/room/Room.js +86 -15
  64. package/lib/simple/room/SipRoom.js +86 -15
  65. package/lib/simple/room/Stream.js +86 -15
  66. package/lib/simple/room/__tests__/Participant.test.js +86 -15
  67. package/lib/simple/room/__tests__/RemoteParticipant.test.js +86 -15
  68. package/lib/simple/utils.js +86 -15
  69. package/lib/web-rtc-client.js +32 -7
  70. package/package.json +2 -2
  71. package/src/api/auth.js +12 -0
  72. package/src/api-client.js +8 -0
  73. package/src/domain/Phone/WebRTCPhone.js +2 -2
  74. package/src/service/getApiClient.js +13 -2
  75. package/src/simple/Auth.js +35 -4
  76. package/src/simple/Softphone.js +5 -0
  77. package/src/simple/index.js +2 -1
  78. package/src/web-rtc-client.js +11 -7
@@ -2848,6 +2848,7 @@ var authMethods = (client , baseUrl ) => ({
2848
2848
 
2849
2849
 
2850
2850
 
2851
+
2851
2852
  ) {
2852
2853
  const body = {
2853
2854
  backend: params.backend || DEFAULT_BACKEND_USER,
@@ -2868,9 +2869,14 @@ var authMethods = (client , baseUrl ) => ({
2868
2869
  }
2869
2870
 
2870
2871
  if (params.tenantId) {
2872
+ console.warn('Use of `tenantId` is deprecated when calling logIn() method, use `domainName` instead.');
2871
2873
  body.tenant_id = params.tenantId;
2872
2874
  }
2873
2875
 
2876
+ if (params.domainName) {
2877
+ body.domain_name = params.domainName;
2878
+ }
2879
+
2874
2880
  return client.post(`${baseUrl}/token`, body, headers).then(response => Session.parse(response));
2875
2881
  },
2876
2882
 
@@ -2883,6 +2889,7 @@ var authMethods = (client , baseUrl ) => ({
2883
2889
  expiration ,
2884
2890
  isMobile = false,
2885
2891
  tenantId ,
2892
+ domainName ,
2886
2893
  ) => {
2887
2894
  const body = {
2888
2895
  backend: backend || DEFAULT_BACKEND_USER,
@@ -2892,9 +2899,14 @@ var authMethods = (client , baseUrl ) => ({
2892
2899
  };
2893
2900
 
2894
2901
  if (tenantId) {
2902
+ console.warn('Use of `tenantId` is deprecated when calling refreshToken() method, use `domainName` instead.');
2895
2903
  body.tenant_id = tenantId;
2896
2904
  }
2897
2905
 
2906
+ if (domainName) {
2907
+ body.domain_name = domainName;
2908
+ }
2909
+
2898
2910
  const headers = {
2899
2911
  'Content-Type': 'application/json',
2900
2912
  ...(isMobile ? { 'Wazo-Session-Type': 'mobile' } : {}),
@@ -5583,6 +5595,7 @@ class ApiClient {
5583
5595
 
5584
5596
 
5585
5597
 
5598
+
5586
5599
 
5587
5600
 
5588
5601
 
@@ -5624,6 +5637,7 @@ class ApiClient {
5624
5637
  refreshToken: this.refreshToken,
5625
5638
  refreshBackend: this.refreshBackend,
5626
5639
  refreshTenantId: this.refreshTenantId,
5640
+ refreshDomainName: this.refreshDomainName,
5627
5641
  refreshExpiration: this.refreshExpiration,
5628
5642
  isMobile: this.isMobile,
5629
5643
  });
@@ -5639,6 +5653,7 @@ class ApiClient {
5639
5653
  this.refreshExpiration,
5640
5654
  this.isMobile,
5641
5655
  this.refreshTenantId,
5656
+ this.refreshDomainName,
5642
5657
  );
5643
5658
 
5644
5659
  logger$a.info('token refreshed', { token: session.token });
@@ -5692,9 +5707,14 @@ class ApiClient {
5692
5707
  }
5693
5708
 
5694
5709
  setRefreshTenantId(tenantId ) {
5710
+ console.warn('Use of `setRefreshTenantId` is deprecated, use `setRefreshDomainName` instead');
5695
5711
  this.refreshTenantId = tenantId;
5696
5712
  }
5697
5713
 
5714
+ setRefreshDomainName(domainName ) {
5715
+ this.refreshDomainName = domainName;
5716
+ }
5717
+
5698
5718
  setIsMobile(isMobile ) {
5699
5719
  this.isMobile = isMobile;
5700
5720
  }
@@ -5719,6 +5739,7 @@ global.wazoClientId = global.wazoClientId || {};
5719
5739
  global.wazoClientToken = global.wazoClientToken || {};
5720
5740
  global.wazoRefreshToken = global.wazoRefreshToken || {};
5721
5741
  global.wazoRefreshTenantId = global.wazoRefreshTenantId || {};
5742
+ global.wazoRefreshDomainName = global.wazoRefreshDomainName || {};
5722
5743
  global.wazoOnRefreshToken = global.wazoOnRefreshToken || {};
5723
5744
  global.wazoOnRefreshTokenError = global.wazoOnRefreshTokenError || {};
5724
5745
  global.wazoRefreshExpiration = global.wazoRefreshExpiration || {};
@@ -5743,9 +5764,14 @@ const setRefreshToken = (newRefreshToken , forServer = null) =>
5743
5764
  };
5744
5765
 
5745
5766
  const setRefreshTenantId = (refreshTenantId , forServer = null) => {
5767
+ console.warn('Use of `setRefreshTenantId` is deprecated, please use `setRefreshDomainName` instead');
5746
5768
  global.wazoRefreshTenantId[forServer] = refreshTenantId;
5747
5769
  };
5748
5770
 
5771
+ const setRefreshDomainName = (refreshDomainName , forServer = null) => {
5772
+ global.wazoRefreshDomainName[forServer] = refreshDomainName;
5773
+ };
5774
+
5749
5775
  const setOnRefreshToken = (onRefreshToken , forServer = null) => {
5750
5776
  global.wazoOnRefreshToken[forServer] = onRefreshToken;
5751
5777
  };
@@ -5764,6 +5790,7 @@ const setFetchOptions = (fetchOptions , forServer = null) => {
5764
5790
 
5765
5791
  const fillClient = (apiClient ) => {
5766
5792
  const { server, token, clientId } = apiClient.client;
5793
+ const tenantId = global.wazoRefreshTenantId[server] || global.wazoRefreshTenantId[null] || apiClient.refreshTenantId;
5767
5794
 
5768
5795
  // try with null server when dealing with non-related server info
5769
5796
  apiClient.setToken(global.wazoClientToken[server] || global.wazoClientToken[null] || token);
@@ -5772,8 +5799,12 @@ const fillClient = (apiClient ) => {
5772
5799
 
5773
5800
  apiClient.setRefreshToken(global.wazoRefreshToken[server] || global.wazoRefreshToken[null] || apiClient.refreshToken);
5774
5801
 
5775
- apiClient.setRefreshTenantId(
5776
- global.wazoRefreshTenantId[server] || global.wazoRefreshTenantId[null] || apiClient.refreshTenantId,
5802
+ if (tenantId) {
5803
+ apiClient.setRefreshTenantId(tenantId);
5804
+ }
5805
+
5806
+ apiClient.setRefreshDomainName(
5807
+ global.wazoRefreshDomainName[server] || global.wazoRefreshDomainName[null] || apiClient.refreshDomainName,
5777
5808
  );
5778
5809
 
5779
5810
  apiClient.setFetchOptions(global.wazoFetchOptions[server] || global.wazoFetchOptions[null] || apiClient.fetchOptions);
@@ -7429,7 +7460,7 @@ class WebRTCClient extends Emitter {
7429
7460
 
7430
7461
  videoSender = transceiverIdx !== -1 ? transceivers[transceiverIdx].sender : null;
7431
7462
  } else {
7432
- videoSender = pc.getSenders().find(sender => sender.track === null);
7463
+ videoSender = pc && pc.getSenders && pc.getSenders().find(sender => sender.track === null);
7433
7464
  }
7434
7465
 
7435
7466
  if (!videoSender) {
@@ -7470,9 +7501,11 @@ class WebRTCClient extends Emitter {
7470
7501
  const videoTracks = localStream.getVideoTracks();
7471
7502
 
7472
7503
  // Remove video senders
7473
- pc.getSenders().filter(sender => sender.track && sender.track.kind === 'video').forEach(videoSender => {
7474
- videoSender.replaceTrack(null);
7475
- });
7504
+ if (pc.getSenders) {
7505
+ pc.getSenders().filter(sender => sender.track && sender.track.kind === 'video').forEach(videoSender => {
7506
+ videoSender.replaceTrack(null);
7507
+ });
7508
+ }
7476
7509
 
7477
7510
  videoTracks.forEach(videoTrack => {
7478
7511
  videoTrack.enabled = false;
@@ -7705,7 +7738,8 @@ class WebRTCClient extends Emitter {
7705
7738
  const constraints = { audio: { deviceId: { exact: deviceId } } };
7706
7739
  const stream = await navigator.mediaDevices.getUserMedia(constraints);
7707
7740
  const audioTrack = stream.getAudioTracks()[0];
7708
- const sender = pc && pc.getSenders().find(s => audioTrack && s && s.track && s.track.kind === audioTrack.kind);
7741
+ const sender = pc && pc.getSenders
7742
+ && pc.getSenders().find(s => audioTrack && s && s.track && s.track.kind === audioTrack.kind);
7709
7743
 
7710
7744
  if (sender) {
7711
7745
  if (sender.track) {
@@ -7768,10 +7802,11 @@ class WebRTCClient extends Emitter {
7768
7802
  // $FlowFixMe
7769
7803
  return navigator.mediaDevices.getUserMedia(constraints).then(async stream => {
7770
7804
  const videoTrack = stream.getVideoTracks()[0];
7771
- let sender = pc && pc.getSenders().find(s => videoTrack && s && s.track && s.track.kind === videoTrack.kind);
7805
+ let sender = pc && pc.getSenders
7806
+ && pc.getSenders().find(s => videoTrack && s && s.track && s.track.kind === videoTrack.kind);
7772
7807
  let wasTrackEnabled = false;
7773
7808
  if (!sender) {
7774
- sender = pc && pc.getSenders().find(s => !s.track);
7809
+ sender = pc && pc.getSenders && pc.getSenders().find(s => !s.track);
7775
7810
  }
7776
7811
 
7777
7812
  if (sender) {
@@ -9305,7 +9340,7 @@ class WebRTCPhone extends Emitter {
9305
9340
  const screenTrack = screenShareStream.getVideoTracks()[0];
9306
9341
  const sipSession = this.currentSipSession;
9307
9342
  const pc = this.client.getPeerConnection(this.getSipSessionId(sipSession));
9308
- const sender = pc && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
9343
+ const sender = pc && pc.getSenders && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
9309
9344
  const localStream = this.client.getLocalStream(this.getSipSessionId(sipSession));
9310
9345
  const videoTrack = localStream ? localStream.getTracks().find(track => track.kind === 'video') : null;
9311
9346
  const hadVideo = !!videoTrack;
@@ -9387,7 +9422,7 @@ class WebRTCPhone extends Emitter {
9387
9422
  const screenTrack = screenStream.getVideoTracks()[0];
9388
9423
  const sipSessionId = this.getSipSessionId(sipSession);
9389
9424
  const pc = this.client.getPeerConnection(sipSessionId);
9390
- const sender = pc && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
9425
+ const sender = pc && pc.getSenders && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
9391
9426
 
9392
9427
  logger$8.info('WebRTC phone - on screensharing', {
9393
9428
  hadVideo,
@@ -10632,6 +10667,7 @@ var PHONE_EVENTS = /*#__PURE__*/Object.freeze({
10632
10667
  class InvalidSubscription extends Error {}
10633
10668
  class InvalidAuthorization extends Error {}
10634
10669
  class NoTenantIdError extends Error {}
10670
+ class NoDomainNameError extends Error {}
10635
10671
 
10636
10672
  const logger$7 = IssueReporter$1.loggerFor('simple-auth');
10637
10673
 
@@ -10695,9 +10731,24 @@ class Auth {
10695
10731
  setFetchOptions(options);
10696
10732
  }
10697
10733
 
10698
- async logIn(username , password , backend , tenantId ) {
10699
- if (backend && backend !== this.BACKEND_WAZO && !tenantId) {
10700
- throw new NoTenantIdError('No tenant id');
10734
+ async logIn(username , password , backend , extra ) {
10735
+ let tenantId = null;
10736
+ let domainName = null;
10737
+ if (typeof extra === 'string') {
10738
+ tenantId = extra;
10739
+ }
10740
+ if (extra && typeof extra === 'object') {
10741
+ domainName = extra.domainName;
10742
+ }
10743
+
10744
+ if (backend && backend !== this.BACKEND_WAZO && !tenantId && !domainName) {
10745
+ if (!tenantId) {
10746
+ throw new NoTenantIdError('No tenant id');
10747
+ }
10748
+
10749
+ if (!domainName) {
10750
+ throw new NoDomainNameError('No domain name');
10751
+ }
10701
10752
  }
10702
10753
 
10703
10754
  this.authenticated = false;
@@ -10707,6 +10758,7 @@ class Auth {
10707
10758
  password,
10708
10759
  backend,
10709
10760
  tenantId,
10761
+ domainName,
10710
10762
  expiration: this.expiration,
10711
10763
  mobile: this.mobile,
10712
10764
  });
@@ -10715,7 +10767,13 @@ class Auth {
10715
10767
  getApiClient().setRefreshBackend(backend);
10716
10768
  }
10717
10769
 
10718
- getApiClient().setRefreshTenantId(tenantId);
10770
+ if (tenantId) {
10771
+ getApiClient().setRefreshTenantId(tenantId);
10772
+ }
10773
+
10774
+ if (domainName) {
10775
+ getApiClient().setRefreshDomainName(domainName);
10776
+ }
10719
10777
 
10720
10778
  return this._onAuthenticated(rawSession);
10721
10779
  }
@@ -10814,11 +10872,18 @@ class Auth {
10814
10872
  }
10815
10873
 
10816
10874
  setRefreshTenantId(refreshTenantId ) {
10875
+ console.warn('Use of `setRefreshTenantId` is deprecated, use `setRefreshDomainName` instead.');
10817
10876
  setRefreshTenantId(refreshTenantId);
10818
10877
 
10819
10878
  getApiClient().setRefreshTenantId(refreshTenantId);
10820
10879
  }
10821
10880
 
10881
+ setRefreshDomainName(domainName ) {
10882
+ setRefreshDomainName(domainName);
10883
+
10884
+ getApiClient().setRefreshDomainName(domainName);
10885
+ }
10886
+
10822
10887
  forceRefreshToken() {
10823
10888
  getApiClient().forceRefreshToken();
10824
10889
  }
@@ -13910,6 +13975,7 @@ class Softphone {
13910
13975
  wrapUpDuration,
13911
13976
  enableAgent = true,
13912
13977
  tenantId,
13978
+ domainName,
13913
13979
  debug = false,
13914
13980
  } = {}) {
13915
13981
  this.url = url || 'https://softphone.wazo.io';
@@ -13934,8 +14000,12 @@ class Softphone {
13934
14000
  config.port = port;
13935
14001
  }
13936
14002
  if (tenantId) {
14003
+ console.warn('Use of `tenantId` is deprecated when calling `Softphone.init()`, use `domainName` instead');
13937
14004
  config.tenantId = tenantId;
13938
14005
  }
14006
+ if (domainName) {
14007
+ config.domainName = domainName;
14008
+ }
13939
14009
  if (wrapUpDuration) {
13940
14010
  config.wrapUpDuration = wrapUpDuration;
13941
14011
  }
@@ -14256,6 +14326,7 @@ const Wazo = {
14256
14326
  CanceledCallError,
14257
14327
  SFUNotAvailableError,
14258
14328
  NoTenantIdError,
14329
+ NoDomainNameError,
14259
14330
  };
14260
14331
 
14261
14332
  if (window) {
@@ -109,6 +109,7 @@ class Softphone {
109
109
  wrapUpDuration,
110
110
  enableAgent = true,
111
111
  tenantId,
112
+ domainName,
112
113
  debug = false,
113
114
  } = {}) {
114
115
  this.url = url || 'https://softphone.wazo.io';
@@ -133,8 +134,12 @@ class Softphone {
133
134
  config.port = port;
134
135
  }
135
136
  if (tenantId) {
137
+ console.warn('Use of `tenantId` is deprecated when calling `Softphone.init()`, use `domainName` instead');
136
138
  config.tenantId = tenantId;
137
139
  }
140
+ if (domainName) {
141
+ config.domainName = domainName;
142
+ }
138
143
  if (wrapUpDuration) {
139
144
  config.wrapUpDuration = wrapUpDuration;
140
145
  }
@@ -2239,6 +2239,7 @@ var authMethods = (client , baseUrl ) => ({
2239
2239
 
2240
2240
 
2241
2241
 
2242
+
2242
2243
  ) {
2243
2244
  const body = {
2244
2245
  backend: params.backend || DEFAULT_BACKEND_USER,
@@ -2259,9 +2260,14 @@ var authMethods = (client , baseUrl ) => ({
2259
2260
  }
2260
2261
 
2261
2262
  if (params.tenantId) {
2263
+ console.warn('Use of `tenantId` is deprecated when calling logIn() method, use `domainName` instead.');
2262
2264
  body.tenant_id = params.tenantId;
2263
2265
  }
2264
2266
 
2267
+ if (params.domainName) {
2268
+ body.domain_name = params.domainName;
2269
+ }
2270
+
2265
2271
  return client.post(`${baseUrl}/token`, body, headers).then(response => Session.parse(response));
2266
2272
  },
2267
2273
 
@@ -2274,6 +2280,7 @@ var authMethods = (client , baseUrl ) => ({
2274
2280
  expiration ,
2275
2281
  isMobile = false,
2276
2282
  tenantId ,
2283
+ domainName ,
2277
2284
  ) => {
2278
2285
  const body = {
2279
2286
  backend: backend || DEFAULT_BACKEND_USER,
@@ -2283,9 +2290,14 @@ var authMethods = (client , baseUrl ) => ({
2283
2290
  };
2284
2291
 
2285
2292
  if (tenantId) {
2293
+ console.warn('Use of `tenantId` is deprecated when calling refreshToken() method, use `domainName` instead.');
2286
2294
  body.tenant_id = tenantId;
2287
2295
  }
2288
2296
 
2297
+ if (domainName) {
2298
+ body.domain_name = domainName;
2299
+ }
2300
+
2289
2301
  const headers = {
2290
2302
  'Content-Type': 'application/json',
2291
2303
  ...(isMobile ? { 'Wazo-Session-Type': 'mobile' } : {}),
@@ -5583,6 +5595,7 @@ class ApiClient {
5583
5595
 
5584
5596
 
5585
5597
 
5598
+
5586
5599
 
5587
5600
 
5588
5601
 
@@ -5624,6 +5637,7 @@ class ApiClient {
5624
5637
  refreshToken: this.refreshToken,
5625
5638
  refreshBackend: this.refreshBackend,
5626
5639
  refreshTenantId: this.refreshTenantId,
5640
+ refreshDomainName: this.refreshDomainName,
5627
5641
  refreshExpiration: this.refreshExpiration,
5628
5642
  isMobile: this.isMobile,
5629
5643
  });
@@ -5639,6 +5653,7 @@ class ApiClient {
5639
5653
  this.refreshExpiration,
5640
5654
  this.isMobile,
5641
5655
  this.refreshTenantId,
5656
+ this.refreshDomainName,
5642
5657
  );
5643
5658
 
5644
5659
  logger$a.info('token refreshed', { token: session.token });
@@ -5692,9 +5707,14 @@ class ApiClient {
5692
5707
  }
5693
5708
 
5694
5709
  setRefreshTenantId(tenantId ) {
5710
+ console.warn('Use of `setRefreshTenantId` is deprecated, use `setRefreshDomainName` instead');
5695
5711
  this.refreshTenantId = tenantId;
5696
5712
  }
5697
5713
 
5714
+ setRefreshDomainName(domainName ) {
5715
+ this.refreshDomainName = domainName;
5716
+ }
5717
+
5698
5718
  setIsMobile(isMobile ) {
5699
5719
  this.isMobile = isMobile;
5700
5720
  }
@@ -5719,6 +5739,7 @@ global.wazoClientId = global.wazoClientId || {};
5719
5739
  global.wazoClientToken = global.wazoClientToken || {};
5720
5740
  global.wazoRefreshToken = global.wazoRefreshToken || {};
5721
5741
  global.wazoRefreshTenantId = global.wazoRefreshTenantId || {};
5742
+ global.wazoRefreshDomainName = global.wazoRefreshDomainName || {};
5722
5743
  global.wazoOnRefreshToken = global.wazoOnRefreshToken || {};
5723
5744
  global.wazoOnRefreshTokenError = global.wazoOnRefreshTokenError || {};
5724
5745
  global.wazoRefreshExpiration = global.wazoRefreshExpiration || {};
@@ -5743,9 +5764,14 @@ const setRefreshToken = (newRefreshToken , forServer = null) =>
5743
5764
  };
5744
5765
 
5745
5766
  const setRefreshTenantId = (refreshTenantId , forServer = null) => {
5767
+ console.warn('Use of `setRefreshTenantId` is deprecated, please use `setRefreshDomainName` instead');
5746
5768
  global.wazoRefreshTenantId[forServer] = refreshTenantId;
5747
5769
  };
5748
5770
 
5771
+ const setRefreshDomainName = (refreshDomainName , forServer = null) => {
5772
+ global.wazoRefreshDomainName[forServer] = refreshDomainName;
5773
+ };
5774
+
5749
5775
  const setOnRefreshToken = (onRefreshToken , forServer = null) => {
5750
5776
  global.wazoOnRefreshToken[forServer] = onRefreshToken;
5751
5777
  };
@@ -5764,6 +5790,7 @@ const setFetchOptions = (fetchOptions , forServer = null) => {
5764
5790
 
5765
5791
  const fillClient = (apiClient ) => {
5766
5792
  const { server, token, clientId } = apiClient.client;
5793
+ const tenantId = global.wazoRefreshTenantId[server] || global.wazoRefreshTenantId[null] || apiClient.refreshTenantId;
5767
5794
 
5768
5795
  // try with null server when dealing with non-related server info
5769
5796
  apiClient.setToken(global.wazoClientToken[server] || global.wazoClientToken[null] || token);
@@ -5772,8 +5799,12 @@ const fillClient = (apiClient ) => {
5772
5799
 
5773
5800
  apiClient.setRefreshToken(global.wazoRefreshToken[server] || global.wazoRefreshToken[null] || apiClient.refreshToken);
5774
5801
 
5775
- apiClient.setRefreshTenantId(
5776
- global.wazoRefreshTenantId[server] || global.wazoRefreshTenantId[null] || apiClient.refreshTenantId,
5802
+ if (tenantId) {
5803
+ apiClient.setRefreshTenantId(tenantId);
5804
+ }
5805
+
5806
+ apiClient.setRefreshDomainName(
5807
+ global.wazoRefreshDomainName[server] || global.wazoRefreshDomainName[null] || apiClient.refreshDomainName,
5777
5808
  );
5778
5809
 
5779
5810
  apiClient.setFetchOptions(global.wazoFetchOptions[server] || global.wazoFetchOptions[null] || apiClient.fetchOptions);
@@ -5815,6 +5846,7 @@ var getApiClient = (forServer = null) => {
5815
5846
  class InvalidSubscription extends Error {}
5816
5847
  class InvalidAuthorization extends Error {}
5817
5848
  class NoTenantIdError extends Error {}
5849
+ class NoDomainNameError extends Error {}
5818
5850
 
5819
5851
  const logger$9 = IssueReporter$1.loggerFor('simple-auth');
5820
5852
 
@@ -5878,9 +5910,24 @@ class Auth {
5878
5910
  setFetchOptions(options);
5879
5911
  }
5880
5912
 
5881
- async logIn(username , password , backend , tenantId ) {
5882
- if (backend && backend !== this.BACKEND_WAZO && !tenantId) {
5883
- throw new NoTenantIdError('No tenant id');
5913
+ async logIn(username , password , backend , extra ) {
5914
+ let tenantId = null;
5915
+ let domainName = null;
5916
+ if (typeof extra === 'string') {
5917
+ tenantId = extra;
5918
+ }
5919
+ if (extra && typeof extra === 'object') {
5920
+ domainName = extra.domainName;
5921
+ }
5922
+
5923
+ if (backend && backend !== this.BACKEND_WAZO && !tenantId && !domainName) {
5924
+ if (!tenantId) {
5925
+ throw new NoTenantIdError('No tenant id');
5926
+ }
5927
+
5928
+ if (!domainName) {
5929
+ throw new NoDomainNameError('No domain name');
5930
+ }
5884
5931
  }
5885
5932
 
5886
5933
  this.authenticated = false;
@@ -5890,6 +5937,7 @@ class Auth {
5890
5937
  password,
5891
5938
  backend,
5892
5939
  tenantId,
5940
+ domainName,
5893
5941
  expiration: this.expiration,
5894
5942
  mobile: this.mobile,
5895
5943
  });
@@ -5898,7 +5946,13 @@ class Auth {
5898
5946
  getApiClient().setRefreshBackend(backend);
5899
5947
  }
5900
5948
 
5901
- getApiClient().setRefreshTenantId(tenantId);
5949
+ if (tenantId) {
5950
+ getApiClient().setRefreshTenantId(tenantId);
5951
+ }
5952
+
5953
+ if (domainName) {
5954
+ getApiClient().setRefreshDomainName(domainName);
5955
+ }
5902
5956
 
5903
5957
  return this._onAuthenticated(rawSession);
5904
5958
  }
@@ -5997,11 +6051,18 @@ class Auth {
5997
6051
  }
5998
6052
 
5999
6053
  setRefreshTenantId(refreshTenantId ) {
6054
+ console.warn('Use of `setRefreshTenantId` is deprecated, use `setRefreshDomainName` instead.');
6000
6055
  setRefreshTenantId(refreshTenantId);
6001
6056
 
6002
6057
  getApiClient().setRefreshTenantId(refreshTenantId);
6003
6058
  }
6004
6059
 
6060
+ setRefreshDomainName(domainName ) {
6061
+ setRefreshDomainName(domainName);
6062
+
6063
+ getApiClient().setRefreshDomainName(domainName);
6064
+ }
6065
+
6005
6066
  forceRefreshToken() {
6006
6067
  getApiClient().forceRefreshToken();
6007
6068
  }
@@ -7730,7 +7791,7 @@ class WebRTCClient extends Emitter {
7730
7791
 
7731
7792
  videoSender = transceiverIdx !== -1 ? transceivers[transceiverIdx].sender : null;
7732
7793
  } else {
7733
- videoSender = pc.getSenders().find(sender => sender.track === null);
7794
+ videoSender = pc && pc.getSenders && pc.getSenders().find(sender => sender.track === null);
7734
7795
  }
7735
7796
 
7736
7797
  if (!videoSender) {
@@ -7771,9 +7832,11 @@ class WebRTCClient extends Emitter {
7771
7832
  const videoTracks = localStream.getVideoTracks();
7772
7833
 
7773
7834
  // Remove video senders
7774
- pc.getSenders().filter(sender => sender.track && sender.track.kind === 'video').forEach(videoSender => {
7775
- videoSender.replaceTrack(null);
7776
- });
7835
+ if (pc.getSenders) {
7836
+ pc.getSenders().filter(sender => sender.track && sender.track.kind === 'video').forEach(videoSender => {
7837
+ videoSender.replaceTrack(null);
7838
+ });
7839
+ }
7777
7840
 
7778
7841
  videoTracks.forEach(videoTrack => {
7779
7842
  videoTrack.enabled = false;
@@ -8006,7 +8069,8 @@ class WebRTCClient extends Emitter {
8006
8069
  const constraints = { audio: { deviceId: { exact: deviceId } } };
8007
8070
  const stream = await navigator.mediaDevices.getUserMedia(constraints);
8008
8071
  const audioTrack = stream.getAudioTracks()[0];
8009
- const sender = pc && pc.getSenders().find(s => audioTrack && s && s.track && s.track.kind === audioTrack.kind);
8072
+ const sender = pc && pc.getSenders
8073
+ && pc.getSenders().find(s => audioTrack && s && s.track && s.track.kind === audioTrack.kind);
8010
8074
 
8011
8075
  if (sender) {
8012
8076
  if (sender.track) {
@@ -8069,10 +8133,11 @@ class WebRTCClient extends Emitter {
8069
8133
  // $FlowFixMe
8070
8134
  return navigator.mediaDevices.getUserMedia(constraints).then(async stream => {
8071
8135
  const videoTrack = stream.getVideoTracks()[0];
8072
- let sender = pc && pc.getSenders().find(s => videoTrack && s && s.track && s.track.kind === videoTrack.kind);
8136
+ let sender = pc && pc.getSenders
8137
+ && pc.getSenders().find(s => videoTrack && s && s.track && s.track.kind === videoTrack.kind);
8073
8138
  let wasTrackEnabled = false;
8074
8139
  if (!sender) {
8075
- sender = pc && pc.getSenders().find(s => !s.track);
8140
+ sender = pc && pc.getSenders && pc.getSenders().find(s => !s.track);
8076
8141
  }
8077
8142
 
8078
8143
  if (sender) {
@@ -9606,7 +9671,7 @@ class WebRTCPhone extends Emitter {
9606
9671
  const screenTrack = screenShareStream.getVideoTracks()[0];
9607
9672
  const sipSession = this.currentSipSession;
9608
9673
  const pc = this.client.getPeerConnection(this.getSipSessionId(sipSession));
9609
- const sender = pc && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
9674
+ const sender = pc && pc.getSenders && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
9610
9675
  const localStream = this.client.getLocalStream(this.getSipSessionId(sipSession));
9611
9676
  const videoTrack = localStream ? localStream.getTracks().find(track => track.kind === 'video') : null;
9612
9677
  const hadVideo = !!videoTrack;
@@ -9688,7 +9753,7 @@ class WebRTCPhone extends Emitter {
9688
9753
  const screenTrack = screenStream.getVideoTracks()[0];
9689
9754
  const sipSessionId = this.getSipSessionId(sipSession);
9690
9755
  const pc = this.client.getPeerConnection(sipSessionId);
9691
- const sender = pc && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
9756
+ const sender = pc && pc.getSenders && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
9692
9757
 
9693
9758
  logger$7.info('WebRTC phone - on screensharing', {
9694
9759
  hadVideo,
@@ -14320,6 +14385,7 @@ class Softphone {
14320
14385
  wrapUpDuration,
14321
14386
  enableAgent = true,
14322
14387
  tenantId,
14388
+ domainName,
14323
14389
  debug = false,
14324
14390
  } = {}) {
14325
14391
  this.url = url || 'https://softphone.wazo.io';
@@ -14344,8 +14410,12 @@ class Softphone {
14344
14410
  config.port = port;
14345
14411
  }
14346
14412
  if (tenantId) {
14413
+ console.warn('Use of `tenantId` is deprecated when calling `Softphone.init()`, use `domainName` instead');
14347
14414
  config.tenantId = tenantId;
14348
14415
  }
14416
+ if (domainName) {
14417
+ config.domainName = domainName;
14418
+ }
14349
14419
  if (wrapUpDuration) {
14350
14420
  config.wrapUpDuration = wrapUpDuration;
14351
14421
  }
@@ -14666,6 +14736,7 @@ const Wazo = {
14666
14736
  CanceledCallError,
14667
14737
  SFUNotAvailableError,
14668
14738
  NoTenantIdError,
14739
+ NoDomainNameError,
14669
14740
  };
14670
14741
 
14671
14742
  if (window) {