@wazo/sdk 0.38.20 → 0.38.22

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 (46) hide show
  1. package/dist/wazo-sdk.js +2 -2
  2. package/esm/__tests__/web-rtc-client.test.js +1 -2
  3. package/esm/checker/Checker.js +1 -2
  4. package/esm/checker/checks/index.js +1 -2
  5. package/esm/checker/checks/webrtc-transport.js +1 -2
  6. package/esm/checker/checks/webrtc.js +1 -2
  7. package/esm/domain/Phone/WebRTCPhone.js +3 -2
  8. package/esm/index.js +4 -4
  9. package/esm/simple/Auth.js +4 -4
  10. package/esm/simple/Configuration.js +4 -4
  11. package/esm/simple/Phone.js +4 -4
  12. package/esm/simple/index.js +4 -4
  13. package/esm/simple/room/LocalParticipant.js +4 -4
  14. package/esm/simple/room/Participant.js +4 -4
  15. package/esm/simple/room/RemoteParticipant.js +4 -4
  16. package/esm/simple/room/Room.js +4 -4
  17. package/esm/simple/room/SipRoom.js +4 -4
  18. package/esm/simple/room/Stream.js +4 -4
  19. package/esm/simple/room/__tests__/Participant.test.js +4 -4
  20. package/esm/simple/room/__tests__/RemoteParticipant.test.js +4 -4
  21. package/esm/simple/utils.js +4 -4
  22. package/esm/web-rtc-client.js +1 -2
  23. package/lib/__tests__/web-rtc-client.test.js +1 -2
  24. package/lib/checker/Checker.js +1 -2
  25. package/lib/checker/checks/index.js +1 -2
  26. package/lib/checker/checks/webrtc-transport.js +1 -2
  27. package/lib/checker/checks/webrtc.js +1 -2
  28. package/lib/domain/Phone/WebRTCPhone.js +3 -2
  29. package/lib/index.js +4 -4
  30. package/lib/simple/Auth.js +4 -4
  31. package/lib/simple/Configuration.js +4 -4
  32. package/lib/simple/Phone.js +4 -4
  33. package/lib/simple/index.js +4 -4
  34. package/lib/simple/room/LocalParticipant.js +4 -4
  35. package/lib/simple/room/Participant.js +4 -4
  36. package/lib/simple/room/RemoteParticipant.js +4 -4
  37. package/lib/simple/room/Room.js +4 -4
  38. package/lib/simple/room/SipRoom.js +4 -4
  39. package/lib/simple/room/Stream.js +4 -4
  40. package/lib/simple/room/__tests__/Participant.test.js +4 -4
  41. package/lib/simple/room/__tests__/RemoteParticipant.test.js +4 -4
  42. package/lib/simple/utils.js +4 -4
  43. package/lib/web-rtc-client.js +1 -2
  44. package/package.json +1 -1
  45. package/src/domain/Phone/WebRTCPhone.js +3 -2
  46. package/src/web-rtc-client.js +1 -2
@@ -5654,7 +5654,6 @@ class WebRTCClient extends Emitter {
5654
5654
 
5655
5655
 
5656
5656
 
5657
-
5658
5657
 
5659
5658
 
5660
5659
 
@@ -5763,7 +5762,6 @@ class WebRTCClient extends Emitter {
5763
5762
 
5764
5763
  configureMedia(media ) {
5765
5764
  this.hasAudio = !!media.audio;
5766
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
5767
5765
  this.audioStreams = {};
5768
5766
  this.audioElements = {};
5769
5767
  }
@@ -6613,6 +6611,7 @@ class WebRTCClient extends Emitter {
6613
6611
 
6614
6612
  changeAudioOutputDevice(id ) {
6615
6613
  logger.info('Changing audio output device', { id });
6614
+ this.audioOutputDeviceId = id;
6616
6615
 
6617
6616
  Object.values(this.audioElements).forEach(audioElement => {
6618
6617
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -6241,7 +6241,6 @@ class WebRTCClient extends Emitter {
6241
6241
 
6242
6242
 
6243
6243
 
6244
-
6245
6244
 
6246
6245
 
6247
6246
 
@@ -6350,7 +6349,6 @@ class WebRTCClient extends Emitter {
6350
6349
 
6351
6350
  configureMedia(media ) {
6352
6351
  this.hasAudio = !!media.audio;
6353
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
6354
6352
  this.audioStreams = {};
6355
6353
  this.audioElements = {};
6356
6354
  }
@@ -7200,6 +7198,7 @@ class WebRTCClient extends Emitter {
7200
7198
 
7201
7199
  changeAudioOutputDevice(id ) {
7202
7200
  logger$1.info('Changing audio output device', { id });
7201
+ this.audioOutputDeviceId = id;
7203
7202
 
7204
7203
  Object.values(this.audioElements).forEach(audioElement => {
7205
7204
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -6241,7 +6241,6 @@ class WebRTCClient extends Emitter {
6241
6241
 
6242
6242
 
6243
6243
 
6244
-
6245
6244
 
6246
6245
 
6247
6246
 
@@ -6350,7 +6349,6 @@ class WebRTCClient extends Emitter {
6350
6349
 
6351
6350
  configureMedia(media ) {
6352
6351
  this.hasAudio = !!media.audio;
6353
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
6354
6352
  this.audioStreams = {};
6355
6353
  this.audioElements = {};
6356
6354
  }
@@ -7200,6 +7198,7 @@ class WebRTCClient extends Emitter {
7200
7198
 
7201
7199
  changeAudioOutputDevice(id ) {
7202
7200
  logger.info('Changing audio output device', { id });
7201
+ this.audioOutputDeviceId = id;
7203
7202
 
7204
7203
  Object.values(this.audioElements).forEach(audioElement => {
7205
7204
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -5654,7 +5654,6 @@ class WebRTCClient extends Emitter {
5654
5654
 
5655
5655
 
5656
5656
 
5657
-
5658
5657
 
5659
5658
 
5660
5659
 
@@ -5763,7 +5762,6 @@ class WebRTCClient extends Emitter {
5763
5762
 
5764
5763
  configureMedia(media ) {
5765
5764
  this.hasAudio = !!media.audio;
5766
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
5767
5765
  this.audioStreams = {};
5768
5766
  this.audioElements = {};
5769
5767
  }
@@ -6613,6 +6611,7 @@ class WebRTCClient extends Emitter {
6613
6611
 
6614
6612
  changeAudioOutputDevice(id ) {
6615
6613
  logger.info('Changing audio output device', { id });
6614
+ this.audioOutputDeviceId = id;
6616
6615
 
6617
6616
  Object.values(this.audioElements).forEach(audioElement => {
6618
6617
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -5654,7 +5654,6 @@ class WebRTCClient extends Emitter {
5654
5654
 
5655
5655
 
5656
5656
 
5657
-
5658
5657
 
5659
5658
 
5660
5659
 
@@ -5763,7 +5762,6 @@ class WebRTCClient extends Emitter {
5763
5762
 
5764
5763
  configureMedia(media ) {
5765
5764
  this.hasAudio = !!media.audio;
5766
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
5767
5765
  this.audioStreams = {};
5768
5766
  this.audioElements = {};
5769
5767
  }
@@ -6613,6 +6611,7 @@ class WebRTCClient extends Emitter {
6613
6611
 
6614
6612
  changeAudioOutputDevice(id ) {
6615
6613
  logger.info('Changing audio output device', { id });
6614
+ this.audioOutputDeviceId = id;
6616
6615
 
6617
6616
  Object.values(this.audioElements).forEach(audioElement => {
6618
6617
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -2431,9 +2431,10 @@ class WebRTCPhone extends Emitter {
2431
2431
  logger.info('WebRTC disconnected');
2432
2432
  this.eventEmitter.emit(ON_DISCONNECTED);
2433
2433
  });
2434
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
2434
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
2435
2435
  logger.info('WebRTC early media');
2436
- this.eventEmitter.emit(ON_EARLY_MEDIA);
2436
+ const callSession = this._createCallSession(session);
2437
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
2437
2438
  });
2438
2439
 
2439
2440
  this.client.on(this.client.REGISTERED, () => {
package/esm/index.js CHANGED
@@ -6560,7 +6560,6 @@ class WebRTCClient extends Emitter {
6560
6560
 
6561
6561
 
6562
6562
 
6563
-
6564
6563
 
6565
6564
 
6566
6565
 
@@ -6669,7 +6668,6 @@ class WebRTCClient extends Emitter {
6669
6668
 
6670
6669
  configureMedia(media ) {
6671
6670
  this.hasAudio = !!media.audio;
6672
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
6673
6671
  this.audioStreams = {};
6674
6672
  this.audioElements = {};
6675
6673
  }
@@ -7519,6 +7517,7 @@ class WebRTCClient extends Emitter {
7519
7517
 
7520
7518
  changeAudioOutputDevice(id ) {
7521
7519
  logger$9.info('Changing audio output device', { id });
7520
+ this.audioOutputDeviceId = id;
7522
7521
 
7523
7522
  Object.values(this.audioElements).forEach(audioElement => {
7524
7523
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -11140,9 +11139,10 @@ class WebRTCPhone extends Emitter {
11140
11139
  logger$7.info('WebRTC disconnected');
11141
11140
  this.eventEmitter.emit(ON_DISCONNECTED);
11142
11141
  });
11143
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
11142
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
11144
11143
  logger$7.info('WebRTC early media');
11145
- this.eventEmitter.emit(ON_EARLY_MEDIA);
11144
+ const callSession = this._createCallSession(session);
11145
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
11146
11146
  });
11147
11147
 
11148
11148
  this.client.on(this.client.REGISTERED, () => {
@@ -6738,7 +6738,6 @@ class WebRTCClient extends Emitter {
6738
6738
 
6739
6739
 
6740
6740
 
6741
-
6742
6741
 
6743
6742
 
6744
6743
 
@@ -6847,7 +6846,6 @@ class WebRTCClient extends Emitter {
6847
6846
 
6848
6847
  configureMedia(media ) {
6849
6848
  this.hasAudio = !!media.audio;
6850
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
6851
6849
  this.audioStreams = {};
6852
6850
  this.audioElements = {};
6853
6851
  }
@@ -7697,6 +7695,7 @@ class WebRTCClient extends Emitter {
7697
7695
 
7698
7696
  changeAudioOutputDevice(id ) {
7699
7697
  logger$9.info('Changing audio output device', { id });
7698
+ this.audioOutputDeviceId = id;
7700
7699
 
7701
7700
  Object.values(this.audioElements).forEach(audioElement => {
7702
7701
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10410,9 +10409,10 @@ class WebRTCPhone extends Emitter {
10410
10409
  logger$8.info('WebRTC disconnected');
10411
10410
  this.eventEmitter.emit(ON_DISCONNECTED);
10412
10411
  });
10413
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10412
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10414
10413
  logger$8.info('WebRTC early media');
10415
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10414
+ const callSession = this._createCallSession(session);
10415
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10416
10416
  });
10417
10417
 
10418
10418
  this.client.on(this.client.REGISTERED, () => {
@@ -6738,7 +6738,6 @@ class WebRTCClient extends Emitter {
6738
6738
 
6739
6739
 
6740
6740
 
6741
-
6742
6741
 
6743
6742
 
6744
6743
 
@@ -6847,7 +6846,6 @@ class WebRTCClient extends Emitter {
6847
6846
 
6848
6847
  configureMedia(media ) {
6849
6848
  this.hasAudio = !!media.audio;
6850
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
6851
6849
  this.audioStreams = {};
6852
6850
  this.audioElements = {};
6853
6851
  }
@@ -7697,6 +7695,7 @@ class WebRTCClient extends Emitter {
7697
7695
 
7698
7696
  changeAudioOutputDevice(id ) {
7699
7697
  logger$9.info('Changing audio output device', { id });
7698
+ this.audioOutputDeviceId = id;
7700
7699
 
7701
7700
  Object.values(this.audioElements).forEach(audioElement => {
7702
7701
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10410,9 +10409,10 @@ class WebRTCPhone extends Emitter {
10410
10409
  logger$8.info('WebRTC disconnected');
10411
10410
  this.eventEmitter.emit(ON_DISCONNECTED);
10412
10411
  });
10413
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10412
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10414
10413
  logger$8.info('WebRTC early media');
10415
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10414
+ const callSession = this._createCallSession(session);
10415
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10416
10416
  });
10417
10417
 
10418
10418
  this.client.on(this.client.REGISTERED, () => {
@@ -6738,7 +6738,6 @@ class WebRTCClient extends Emitter {
6738
6738
 
6739
6739
 
6740
6740
 
6741
-
6742
6741
 
6743
6742
 
6744
6743
 
@@ -6847,7 +6846,6 @@ class WebRTCClient extends Emitter {
6847
6846
 
6848
6847
  configureMedia(media ) {
6849
6848
  this.hasAudio = !!media.audio;
6850
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
6851
6849
  this.audioStreams = {};
6852
6850
  this.audioElements = {};
6853
6851
  }
@@ -7697,6 +7695,7 @@ class WebRTCClient extends Emitter {
7697
7695
 
7698
7696
  changeAudioOutputDevice(id ) {
7699
7697
  logger$9.info('Changing audio output device', { id });
7698
+ this.audioOutputDeviceId = id;
7700
7699
 
7701
7700
  Object.values(this.audioElements).forEach(audioElement => {
7702
7701
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10410,9 +10409,10 @@ class WebRTCPhone extends Emitter {
10410
10409
  logger$8.info('WebRTC disconnected');
10411
10410
  this.eventEmitter.emit(ON_DISCONNECTED);
10412
10411
  });
10413
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10412
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10414
10413
  logger$8.info('WebRTC early media');
10415
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10414
+ const callSession = this._createCallSession(session);
10415
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10416
10416
  });
10417
10417
 
10418
10418
  this.client.on(this.client.REGISTERED, () => {
@@ -7069,7 +7069,6 @@ class WebRTCClient extends Emitter {
7069
7069
 
7070
7070
 
7071
7071
 
7072
-
7073
7072
 
7074
7073
 
7075
7074
 
@@ -7178,7 +7177,6 @@ class WebRTCClient extends Emitter {
7178
7177
 
7179
7178
  configureMedia(media ) {
7180
7179
  this.hasAudio = !!media.audio;
7181
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
7182
7180
  this.audioStreams = {};
7183
7181
  this.audioElements = {};
7184
7182
  }
@@ -8028,6 +8026,7 @@ class WebRTCClient extends Emitter {
8028
8026
 
8029
8027
  changeAudioOutputDevice(id ) {
8030
8028
  logger$8.info('Changing audio output device', { id });
8029
+ this.audioOutputDeviceId = id;
8031
8030
 
8032
8031
  Object.values(this.audioElements).forEach(audioElement => {
8033
8032
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10741,9 +10740,10 @@ class WebRTCPhone extends Emitter {
10741
10740
  logger$7.info('WebRTC disconnected');
10742
10741
  this.eventEmitter.emit(ON_DISCONNECTED);
10743
10742
  });
10744
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10743
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10745
10744
  logger$7.info('WebRTC early media');
10746
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10745
+ const callSession = this._createCallSession(session);
10746
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10747
10747
  });
10748
10748
 
10749
10749
  this.client.on(this.client.REGISTERED, () => {
@@ -6738,7 +6738,6 @@ class WebRTCClient extends Emitter {
6738
6738
 
6739
6739
 
6740
6740
 
6741
-
6742
6741
 
6743
6742
 
6744
6743
 
@@ -6847,7 +6846,6 @@ class WebRTCClient extends Emitter {
6847
6846
 
6848
6847
  configureMedia(media ) {
6849
6848
  this.hasAudio = !!media.audio;
6850
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
6851
6849
  this.audioStreams = {};
6852
6850
  this.audioElements = {};
6853
6851
  }
@@ -7697,6 +7695,7 @@ class WebRTCClient extends Emitter {
7697
7695
 
7698
7696
  changeAudioOutputDevice(id ) {
7699
7697
  logger$9.info('Changing audio output device', { id });
7698
+ this.audioOutputDeviceId = id;
7700
7699
 
7701
7700
  Object.values(this.audioElements).forEach(audioElement => {
7702
7701
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10410,9 +10409,10 @@ class WebRTCPhone extends Emitter {
10410
10409
  logger$8.info('WebRTC disconnected');
10411
10410
  this.eventEmitter.emit(ON_DISCONNECTED);
10412
10411
  });
10413
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10412
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10414
10413
  logger$8.info('WebRTC early media');
10415
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10414
+ const callSession = this._createCallSession(session);
10415
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10416
10416
  });
10417
10417
 
10418
10418
  this.client.on(this.client.REGISTERED, () => {
@@ -6738,7 +6738,6 @@ class WebRTCClient extends Emitter {
6738
6738
 
6739
6739
 
6740
6740
 
6741
-
6742
6741
 
6743
6742
 
6744
6743
 
@@ -6847,7 +6846,6 @@ class WebRTCClient extends Emitter {
6847
6846
 
6848
6847
  configureMedia(media ) {
6849
6848
  this.hasAudio = !!media.audio;
6850
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
6851
6849
  this.audioStreams = {};
6852
6850
  this.audioElements = {};
6853
6851
  }
@@ -7697,6 +7695,7 @@ class WebRTCClient extends Emitter {
7697
7695
 
7698
7696
  changeAudioOutputDevice(id ) {
7699
7697
  logger$9.info('Changing audio output device', { id });
7698
+ this.audioOutputDeviceId = id;
7700
7699
 
7701
7700
  Object.values(this.audioElements).forEach(audioElement => {
7702
7701
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10410,9 +10409,10 @@ class WebRTCPhone extends Emitter {
10410
10409
  logger$8.info('WebRTC disconnected');
10411
10410
  this.eventEmitter.emit(ON_DISCONNECTED);
10412
10411
  });
10413
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10412
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10414
10413
  logger$8.info('WebRTC early media');
10415
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10414
+ const callSession = this._createCallSession(session);
10415
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10416
10416
  });
10417
10417
 
10418
10418
  this.client.on(this.client.REGISTERED, () => {
@@ -7069,7 +7069,6 @@ class WebRTCClient extends Emitter {
7069
7069
 
7070
7070
 
7071
7071
 
7072
-
7073
7072
 
7074
7073
 
7075
7074
 
@@ -7178,7 +7177,6 @@ class WebRTCClient extends Emitter {
7178
7177
 
7179
7178
  configureMedia(media ) {
7180
7179
  this.hasAudio = !!media.audio;
7181
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
7182
7180
  this.audioStreams = {};
7183
7181
  this.audioElements = {};
7184
7182
  }
@@ -8028,6 +8026,7 @@ class WebRTCClient extends Emitter {
8028
8026
 
8029
8027
  changeAudioOutputDevice(id ) {
8030
8028
  logger$8.info('Changing audio output device', { id });
8029
+ this.audioOutputDeviceId = id;
8031
8030
 
8032
8031
  Object.values(this.audioElements).forEach(audioElement => {
8033
8032
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10741,9 +10740,10 @@ class WebRTCPhone extends Emitter {
10741
10740
  logger$7.info('WebRTC disconnected');
10742
10741
  this.eventEmitter.emit(ON_DISCONNECTED);
10743
10742
  });
10744
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10743
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10745
10744
  logger$7.info('WebRTC early media');
10746
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10745
+ const callSession = this._createCallSession(session);
10746
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10747
10747
  });
10748
10748
 
10749
10749
  this.client.on(this.client.REGISTERED, () => {
@@ -7069,7 +7069,6 @@ class WebRTCClient extends Emitter {
7069
7069
 
7070
7070
 
7071
7071
 
7072
-
7073
7072
 
7074
7073
 
7075
7074
 
@@ -7178,7 +7177,6 @@ class WebRTCClient extends Emitter {
7178
7177
 
7179
7178
  configureMedia(media ) {
7180
7179
  this.hasAudio = !!media.audio;
7181
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
7182
7180
  this.audioStreams = {};
7183
7181
  this.audioElements = {};
7184
7182
  }
@@ -8028,6 +8026,7 @@ class WebRTCClient extends Emitter {
8028
8026
 
8029
8027
  changeAudioOutputDevice(id ) {
8030
8028
  logger$8.info('Changing audio output device', { id });
8029
+ this.audioOutputDeviceId = id;
8031
8030
 
8032
8031
  Object.values(this.audioElements).forEach(audioElement => {
8033
8032
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10741,9 +10740,10 @@ class WebRTCPhone extends Emitter {
10741
10740
  logger$7.info('WebRTC disconnected');
10742
10741
  this.eventEmitter.emit(ON_DISCONNECTED);
10743
10742
  });
10744
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10743
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10745
10744
  logger$7.info('WebRTC early media');
10746
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10745
+ const callSession = this._createCallSession(session);
10746
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10747
10747
  });
10748
10748
 
10749
10749
  this.client.on(this.client.REGISTERED, () => {
@@ -7069,7 +7069,6 @@ class WebRTCClient extends Emitter {
7069
7069
 
7070
7070
 
7071
7071
 
7072
-
7073
7072
 
7074
7073
 
7075
7074
 
@@ -7178,7 +7177,6 @@ class WebRTCClient extends Emitter {
7178
7177
 
7179
7178
  configureMedia(media ) {
7180
7179
  this.hasAudio = !!media.audio;
7181
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
7182
7180
  this.audioStreams = {};
7183
7181
  this.audioElements = {};
7184
7182
  }
@@ -8028,6 +8026,7 @@ class WebRTCClient extends Emitter {
8028
8026
 
8029
8027
  changeAudioOutputDevice(id ) {
8030
8028
  logger$8.info('Changing audio output device', { id });
8029
+ this.audioOutputDeviceId = id;
8031
8030
 
8032
8031
  Object.values(this.audioElements).forEach(audioElement => {
8033
8032
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10741,9 +10740,10 @@ class WebRTCPhone extends Emitter {
10741
10740
  logger$7.info('WebRTC disconnected');
10742
10741
  this.eventEmitter.emit(ON_DISCONNECTED);
10743
10742
  });
10744
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10743
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10745
10744
  logger$7.info('WebRTC early media');
10746
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10745
+ const callSession = this._createCallSession(session);
10746
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10747
10747
  });
10748
10748
 
10749
10749
  this.client.on(this.client.REGISTERED, () => {
@@ -7069,7 +7069,6 @@ class WebRTCClient extends Emitter {
7069
7069
 
7070
7070
 
7071
7071
 
7072
-
7073
7072
 
7074
7073
 
7075
7074
 
@@ -7178,7 +7177,6 @@ class WebRTCClient extends Emitter {
7178
7177
 
7179
7178
  configureMedia(media ) {
7180
7179
  this.hasAudio = !!media.audio;
7181
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
7182
7180
  this.audioStreams = {};
7183
7181
  this.audioElements = {};
7184
7182
  }
@@ -8028,6 +8026,7 @@ class WebRTCClient extends Emitter {
8028
8026
 
8029
8027
  changeAudioOutputDevice(id ) {
8030
8028
  logger$8.info('Changing audio output device', { id });
8029
+ this.audioOutputDeviceId = id;
8031
8030
 
8032
8031
  Object.values(this.audioElements).forEach(audioElement => {
8033
8032
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10741,9 +10740,10 @@ class WebRTCPhone extends Emitter {
10741
10740
  logger$7.info('WebRTC disconnected');
10742
10741
  this.eventEmitter.emit(ON_DISCONNECTED);
10743
10742
  });
10744
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10743
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10745
10744
  logger$7.info('WebRTC early media');
10746
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10745
+ const callSession = this._createCallSession(session);
10746
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10747
10747
  });
10748
10748
 
10749
10749
  this.client.on(this.client.REGISTERED, () => {
@@ -7069,7 +7069,6 @@ class WebRTCClient extends Emitter {
7069
7069
 
7070
7070
 
7071
7071
 
7072
-
7073
7072
 
7074
7073
 
7075
7074
 
@@ -7178,7 +7177,6 @@ class WebRTCClient extends Emitter {
7178
7177
 
7179
7178
  configureMedia(media ) {
7180
7179
  this.hasAudio = !!media.audio;
7181
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
7182
7180
  this.audioStreams = {};
7183
7181
  this.audioElements = {};
7184
7182
  }
@@ -8028,6 +8026,7 @@ class WebRTCClient extends Emitter {
8028
8026
 
8029
8027
  changeAudioOutputDevice(id ) {
8030
8028
  logger$8.info('Changing audio output device', { id });
8029
+ this.audioOutputDeviceId = id;
8031
8030
 
8032
8031
  Object.values(this.audioElements).forEach(audioElement => {
8033
8032
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10741,9 +10740,10 @@ class WebRTCPhone extends Emitter {
10741
10740
  logger$7.info('WebRTC disconnected');
10742
10741
  this.eventEmitter.emit(ON_DISCONNECTED);
10743
10742
  });
10744
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10743
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10745
10744
  logger$7.info('WebRTC early media');
10746
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10745
+ const callSession = this._createCallSession(session);
10746
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10747
10747
  });
10748
10748
 
10749
10749
  this.client.on(this.client.REGISTERED, () => {
@@ -7069,7 +7069,6 @@ class WebRTCClient extends Emitter {
7069
7069
 
7070
7070
 
7071
7071
 
7072
-
7073
7072
 
7074
7073
 
7075
7074
 
@@ -7178,7 +7177,6 @@ class WebRTCClient extends Emitter {
7178
7177
 
7179
7178
  configureMedia(media ) {
7180
7179
  this.hasAudio = !!media.audio;
7181
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
7182
7180
  this.audioStreams = {};
7183
7181
  this.audioElements = {};
7184
7182
  }
@@ -8028,6 +8026,7 @@ class WebRTCClient extends Emitter {
8028
8026
 
8029
8027
  changeAudioOutputDevice(id ) {
8030
8028
  logger$8.info('Changing audio output device', { id });
8029
+ this.audioOutputDeviceId = id;
8031
8030
 
8032
8031
  Object.values(this.audioElements).forEach(audioElement => {
8033
8032
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10741,9 +10740,10 @@ class WebRTCPhone extends Emitter {
10741
10740
  logger$7.info('WebRTC disconnected');
10742
10741
  this.eventEmitter.emit(ON_DISCONNECTED);
10743
10742
  });
10744
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10743
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10745
10744
  logger$7.info('WebRTC early media');
10746
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10745
+ const callSession = this._createCallSession(session);
10746
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10747
10747
  });
10748
10748
 
10749
10749
  this.client.on(this.client.REGISTERED, () => {
@@ -7069,7 +7069,6 @@ class WebRTCClient extends Emitter {
7069
7069
 
7070
7070
 
7071
7071
 
7072
-
7073
7072
 
7074
7073
 
7075
7074
 
@@ -7178,7 +7177,6 @@ class WebRTCClient extends Emitter {
7178
7177
 
7179
7178
  configureMedia(media ) {
7180
7179
  this.hasAudio = !!media.audio;
7181
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
7182
7180
  this.audioStreams = {};
7183
7181
  this.audioElements = {};
7184
7182
  }
@@ -8028,6 +8026,7 @@ class WebRTCClient extends Emitter {
8028
8026
 
8029
8027
  changeAudioOutputDevice(id ) {
8030
8028
  logger$8.info('Changing audio output device', { id });
8029
+ this.audioOutputDeviceId = id;
8031
8030
 
8032
8031
  Object.values(this.audioElements).forEach(audioElement => {
8033
8032
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10741,9 +10740,10 @@ class WebRTCPhone extends Emitter {
10741
10740
  logger$7.info('WebRTC disconnected');
10742
10741
  this.eventEmitter.emit(ON_DISCONNECTED);
10743
10742
  });
10744
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10743
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10745
10744
  logger$7.info('WebRTC early media');
10746
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10745
+ const callSession = this._createCallSession(session);
10746
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10747
10747
  });
10748
10748
 
10749
10749
  this.client.on(this.client.REGISTERED, () => {