@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
@@ -5657,7 +5657,6 @@ class WebRTCClient extends Emitter {
5657
5657
 
5658
5658
 
5659
5659
 
5660
-
5661
5660
 
5662
5661
 
5663
5662
 
@@ -5766,7 +5765,6 @@ class WebRTCClient extends Emitter {
5766
5765
 
5767
5766
  configureMedia(media ) {
5768
5767
  this.hasAudio = !!media.audio;
5769
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
5770
5768
  this.audioStreams = {};
5771
5769
  this.audioElements = {};
5772
5770
  }
@@ -6616,6 +6614,7 @@ class WebRTCClient extends Emitter {
6616
6614
 
6617
6615
  changeAudioOutputDevice(id ) {
6618
6616
  logger.info('Changing audio output device', { id });
6617
+ this.audioOutputDeviceId = id;
6619
6618
 
6620
6619
  Object.values(this.audioElements).forEach(audioElement => {
6621
6620
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -5663,7 +5663,6 @@ class WebRTCClient extends Emitter {
5663
5663
 
5664
5664
 
5665
5665
 
5666
-
5667
5666
 
5668
5667
 
5669
5668
 
@@ -5772,7 +5771,6 @@ class WebRTCClient extends Emitter {
5772
5771
 
5773
5772
  configureMedia(media ) {
5774
5773
  this.hasAudio = !!media.audio;
5775
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
5776
5774
  this.audioStreams = {};
5777
5775
  this.audioElements = {};
5778
5776
  }
@@ -6622,6 +6620,7 @@ class WebRTCClient extends Emitter {
6622
6620
 
6623
6621
  changeAudioOutputDevice(id ) {
6624
6622
  logger.info('Changing audio output device', { id });
6623
+ this.audioOutputDeviceId = id;
6625
6624
 
6626
6625
  Object.values(this.audioElements).forEach(audioElement => {
6627
6626
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -6251,7 +6251,6 @@ class WebRTCClient extends Emitter {
6251
6251
 
6252
6252
 
6253
6253
 
6254
-
6255
6254
 
6256
6255
 
6257
6256
 
@@ -6360,7 +6359,6 @@ class WebRTCClient extends Emitter {
6360
6359
 
6361
6360
  configureMedia(media ) {
6362
6361
  this.hasAudio = !!media.audio;
6363
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
6364
6362
  this.audioStreams = {};
6365
6363
  this.audioElements = {};
6366
6364
  }
@@ -7210,6 +7208,7 @@ class WebRTCClient extends Emitter {
7210
7208
 
7211
7209
  changeAudioOutputDevice(id ) {
7212
7210
  logger$1.info('Changing audio output device', { id });
7211
+ this.audioOutputDeviceId = id;
7213
7212
 
7214
7213
  Object.values(this.audioElements).forEach(audioElement => {
7215
7214
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -6251,7 +6251,6 @@ class WebRTCClient extends Emitter {
6251
6251
 
6252
6252
 
6253
6253
 
6254
-
6255
6254
 
6256
6255
 
6257
6256
 
@@ -6360,7 +6359,6 @@ class WebRTCClient extends Emitter {
6360
6359
 
6361
6360
  configureMedia(media ) {
6362
6361
  this.hasAudio = !!media.audio;
6363
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
6364
6362
  this.audioStreams = {};
6365
6363
  this.audioElements = {};
6366
6364
  }
@@ -7210,6 +7208,7 @@ class WebRTCClient extends Emitter {
7210
7208
 
7211
7209
  changeAudioOutputDevice(id ) {
7212
7210
  logger.info('Changing audio output device', { id });
7211
+ this.audioOutputDeviceId = id;
7213
7212
 
7214
7213
  Object.values(this.audioElements).forEach(audioElement => {
7215
7214
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -5663,7 +5663,6 @@ class WebRTCClient extends Emitter {
5663
5663
 
5664
5664
 
5665
5665
 
5666
-
5667
5666
 
5668
5667
 
5669
5668
 
@@ -5772,7 +5771,6 @@ class WebRTCClient extends Emitter {
5772
5771
 
5773
5772
  configureMedia(media ) {
5774
5773
  this.hasAudio = !!media.audio;
5775
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
5776
5774
  this.audioStreams = {};
5777
5775
  this.audioElements = {};
5778
5776
  }
@@ -6622,6 +6620,7 @@ class WebRTCClient extends Emitter {
6622
6620
 
6623
6621
  changeAudioOutputDevice(id ) {
6624
6622
  logger.info('Changing audio output device', { id });
6623
+ this.audioOutputDeviceId = id;
6625
6624
 
6626
6625
  Object.values(this.audioElements).forEach(audioElement => {
6627
6626
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -5663,7 +5663,6 @@ class WebRTCClient extends Emitter {
5663
5663
 
5664
5664
 
5665
5665
 
5666
-
5667
5666
 
5668
5667
 
5669
5668
 
@@ -5772,7 +5771,6 @@ class WebRTCClient extends Emitter {
5772
5771
 
5773
5772
  configureMedia(media ) {
5774
5773
  this.hasAudio = !!media.audio;
5775
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
5776
5774
  this.audioStreams = {};
5777
5775
  this.audioElements = {};
5778
5776
  }
@@ -6622,6 +6620,7 @@ class WebRTCClient extends Emitter {
6622
6620
 
6623
6621
  changeAudioOutputDevice(id ) {
6624
6622
  logger.info('Changing audio output device', { id });
6623
+ this.audioOutputDeviceId = id;
6625
6624
 
6626
6625
  Object.values(this.audioElements).forEach(audioElement => {
6627
6626
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -2440,9 +2440,10 @@ class WebRTCPhone extends Emitter {
2440
2440
  logger.info('WebRTC disconnected');
2441
2441
  this.eventEmitter.emit(ON_DISCONNECTED);
2442
2442
  });
2443
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
2443
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
2444
2444
  logger.info('WebRTC early media');
2445
- this.eventEmitter.emit(ON_EARLY_MEDIA);
2445
+ const callSession = this._createCallSession(session);
2446
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
2446
2447
  });
2447
2448
 
2448
2449
  this.client.on(this.client.REGISTERED, () => {
package/lib/index.js CHANGED
@@ -6571,7 +6571,6 @@ class WebRTCClient extends Emitter {
6571
6571
 
6572
6572
 
6573
6573
 
6574
-
6575
6574
 
6576
6575
 
6577
6576
 
@@ -6680,7 +6679,6 @@ class WebRTCClient extends Emitter {
6680
6679
 
6681
6680
  configureMedia(media ) {
6682
6681
  this.hasAudio = !!media.audio;
6683
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
6684
6682
  this.audioStreams = {};
6685
6683
  this.audioElements = {};
6686
6684
  }
@@ -7530,6 +7528,7 @@ class WebRTCClient extends Emitter {
7530
7528
 
7531
7529
  changeAudioOutputDevice(id ) {
7532
7530
  logger$9.info('Changing audio output device', { id });
7531
+ this.audioOutputDeviceId = id;
7533
7532
 
7534
7533
  Object.values(this.audioElements).forEach(audioElement => {
7535
7534
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -11151,9 +11150,10 @@ class WebRTCPhone extends Emitter {
11151
11150
  logger$7.info('WebRTC disconnected');
11152
11151
  this.eventEmitter.emit(ON_DISCONNECTED);
11153
11152
  });
11154
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
11153
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
11155
11154
  logger$7.info('WebRTC early media');
11156
- this.eventEmitter.emit(ON_EARLY_MEDIA);
11155
+ const callSession = this._createCallSession(session);
11156
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
11157
11157
  });
11158
11158
 
11159
11159
  this.client.on(this.client.REGISTERED, () => {
@@ -6750,7 +6750,6 @@ class WebRTCClient extends Emitter {
6750
6750
 
6751
6751
 
6752
6752
 
6753
-
6754
6753
 
6755
6754
 
6756
6755
 
@@ -6859,7 +6858,6 @@ class WebRTCClient extends Emitter {
6859
6858
 
6860
6859
  configureMedia(media ) {
6861
6860
  this.hasAudio = !!media.audio;
6862
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
6863
6861
  this.audioStreams = {};
6864
6862
  this.audioElements = {};
6865
6863
  }
@@ -7709,6 +7707,7 @@ class WebRTCClient extends Emitter {
7709
7707
 
7710
7708
  changeAudioOutputDevice(id ) {
7711
7709
  logger$9.info('Changing audio output device', { id });
7710
+ this.audioOutputDeviceId = id;
7712
7711
 
7713
7712
  Object.values(this.audioElements).forEach(audioElement => {
7714
7713
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10422,9 +10421,10 @@ class WebRTCPhone extends Emitter {
10422
10421
  logger$8.info('WebRTC disconnected');
10423
10422
  this.eventEmitter.emit(ON_DISCONNECTED);
10424
10423
  });
10425
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10424
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10426
10425
  logger$8.info('WebRTC early media');
10427
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10426
+ const callSession = this._createCallSession(session);
10427
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10428
10428
  });
10429
10429
 
10430
10430
  this.client.on(this.client.REGISTERED, () => {
@@ -6748,7 +6748,6 @@ class WebRTCClient extends Emitter {
6748
6748
 
6749
6749
 
6750
6750
 
6751
-
6752
6751
 
6753
6752
 
6754
6753
 
@@ -6857,7 +6856,6 @@ class WebRTCClient extends Emitter {
6857
6856
 
6858
6857
  configureMedia(media ) {
6859
6858
  this.hasAudio = !!media.audio;
6860
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
6861
6859
  this.audioStreams = {};
6862
6860
  this.audioElements = {};
6863
6861
  }
@@ -7707,6 +7705,7 @@ class WebRTCClient extends Emitter {
7707
7705
 
7708
7706
  changeAudioOutputDevice(id ) {
7709
7707
  logger$9.info('Changing audio output device', { id });
7708
+ this.audioOutputDeviceId = id;
7710
7709
 
7711
7710
  Object.values(this.audioElements).forEach(audioElement => {
7712
7711
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10420,9 +10419,10 @@ class WebRTCPhone extends Emitter {
10420
10419
  logger$8.info('WebRTC disconnected');
10421
10420
  this.eventEmitter.emit(ON_DISCONNECTED);
10422
10421
  });
10423
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10422
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10424
10423
  logger$8.info('WebRTC early media');
10425
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10424
+ const callSession = this._createCallSession(session);
10425
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10426
10426
  });
10427
10427
 
10428
10428
  this.client.on(this.client.REGISTERED, () => {
@@ -6748,7 +6748,6 @@ class WebRTCClient extends Emitter {
6748
6748
 
6749
6749
 
6750
6750
 
6751
-
6752
6751
 
6753
6752
 
6754
6753
 
@@ -6857,7 +6856,6 @@ class WebRTCClient extends Emitter {
6857
6856
 
6858
6857
  configureMedia(media ) {
6859
6858
  this.hasAudio = !!media.audio;
6860
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
6861
6859
  this.audioStreams = {};
6862
6860
  this.audioElements = {};
6863
6861
  }
@@ -7707,6 +7705,7 @@ class WebRTCClient extends Emitter {
7707
7705
 
7708
7706
  changeAudioOutputDevice(id ) {
7709
7707
  logger$9.info('Changing audio output device', { id });
7708
+ this.audioOutputDeviceId = id;
7710
7709
 
7711
7710
  Object.values(this.audioElements).forEach(audioElement => {
7712
7711
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10420,9 +10419,10 @@ class WebRTCPhone extends Emitter {
10420
10419
  logger$8.info('WebRTC disconnected');
10421
10420
  this.eventEmitter.emit(ON_DISCONNECTED);
10422
10421
  });
10423
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10422
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10424
10423
  logger$8.info('WebRTC early media');
10425
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10424
+ const callSession = this._createCallSession(session);
10425
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10426
10426
  });
10427
10427
 
10428
10428
  this.client.on(this.client.REGISTERED, () => {
@@ -7079,7 +7079,6 @@ class WebRTCClient extends Emitter {
7079
7079
 
7080
7080
 
7081
7081
 
7082
-
7083
7082
 
7084
7083
 
7085
7084
 
@@ -7188,7 +7187,6 @@ class WebRTCClient extends Emitter {
7188
7187
 
7189
7188
  configureMedia(media ) {
7190
7189
  this.hasAudio = !!media.audio;
7191
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
7192
7190
  this.audioStreams = {};
7193
7191
  this.audioElements = {};
7194
7192
  }
@@ -8038,6 +8036,7 @@ class WebRTCClient extends Emitter {
8038
8036
 
8039
8037
  changeAudioOutputDevice(id ) {
8040
8038
  logger$8.info('Changing audio output device', { id });
8039
+ this.audioOutputDeviceId = id;
8041
8040
 
8042
8041
  Object.values(this.audioElements).forEach(audioElement => {
8043
8042
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10751,9 +10750,10 @@ class WebRTCPhone extends Emitter {
10751
10750
  logger$7.info('WebRTC disconnected');
10752
10751
  this.eventEmitter.emit(ON_DISCONNECTED);
10753
10752
  });
10754
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10753
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10755
10754
  logger$7.info('WebRTC early media');
10756
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10755
+ const callSession = this._createCallSession(session);
10756
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10757
10757
  });
10758
10758
 
10759
10759
  this.client.on(this.client.REGISTERED, () => {
@@ -6748,7 +6748,6 @@ class WebRTCClient extends Emitter {
6748
6748
 
6749
6749
 
6750
6750
 
6751
-
6752
6751
 
6753
6752
 
6754
6753
 
@@ -6857,7 +6856,6 @@ class WebRTCClient extends Emitter {
6857
6856
 
6858
6857
  configureMedia(media ) {
6859
6858
  this.hasAudio = !!media.audio;
6860
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
6861
6859
  this.audioStreams = {};
6862
6860
  this.audioElements = {};
6863
6861
  }
@@ -7707,6 +7705,7 @@ class WebRTCClient extends Emitter {
7707
7705
 
7708
7706
  changeAudioOutputDevice(id ) {
7709
7707
  logger$9.info('Changing audio output device', { id });
7708
+ this.audioOutputDeviceId = id;
7710
7709
 
7711
7710
  Object.values(this.audioElements).forEach(audioElement => {
7712
7711
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10420,9 +10419,10 @@ class WebRTCPhone extends Emitter {
10420
10419
  logger$8.info('WebRTC disconnected');
10421
10420
  this.eventEmitter.emit(ON_DISCONNECTED);
10422
10421
  });
10423
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10422
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10424
10423
  logger$8.info('WebRTC early media');
10425
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10424
+ const callSession = this._createCallSession(session);
10425
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10426
10426
  });
10427
10427
 
10428
10428
  this.client.on(this.client.REGISTERED, () => {
@@ -6748,7 +6748,6 @@ class WebRTCClient extends Emitter {
6748
6748
 
6749
6749
 
6750
6750
 
6751
-
6752
6751
 
6753
6752
 
6754
6753
 
@@ -6857,7 +6856,6 @@ class WebRTCClient extends Emitter {
6857
6856
 
6858
6857
  configureMedia(media ) {
6859
6858
  this.hasAudio = !!media.audio;
6860
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
6861
6859
  this.audioStreams = {};
6862
6860
  this.audioElements = {};
6863
6861
  }
@@ -7707,6 +7705,7 @@ class WebRTCClient extends Emitter {
7707
7705
 
7708
7706
  changeAudioOutputDevice(id ) {
7709
7707
  logger$9.info('Changing audio output device', { id });
7708
+ this.audioOutputDeviceId = id;
7710
7709
 
7711
7710
  Object.values(this.audioElements).forEach(audioElement => {
7712
7711
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10420,9 +10419,10 @@ class WebRTCPhone extends Emitter {
10420
10419
  logger$8.info('WebRTC disconnected');
10421
10420
  this.eventEmitter.emit(ON_DISCONNECTED);
10422
10421
  });
10423
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10422
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10424
10423
  logger$8.info('WebRTC early media');
10425
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10424
+ const callSession = this._createCallSession(session);
10425
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10426
10426
  });
10427
10427
 
10428
10428
  this.client.on(this.client.REGISTERED, () => {
@@ -7079,7 +7079,6 @@ class WebRTCClient extends Emitter {
7079
7079
 
7080
7080
 
7081
7081
 
7082
-
7083
7082
 
7084
7083
 
7085
7084
 
@@ -7188,7 +7187,6 @@ class WebRTCClient extends Emitter {
7188
7187
 
7189
7188
  configureMedia(media ) {
7190
7189
  this.hasAudio = !!media.audio;
7191
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
7192
7190
  this.audioStreams = {};
7193
7191
  this.audioElements = {};
7194
7192
  }
@@ -8038,6 +8036,7 @@ class WebRTCClient extends Emitter {
8038
8036
 
8039
8037
  changeAudioOutputDevice(id ) {
8040
8038
  logger$8.info('Changing audio output device', { id });
8039
+ this.audioOutputDeviceId = id;
8041
8040
 
8042
8041
  Object.values(this.audioElements).forEach(audioElement => {
8043
8042
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10751,9 +10750,10 @@ class WebRTCPhone extends Emitter {
10751
10750
  logger$7.info('WebRTC disconnected');
10752
10751
  this.eventEmitter.emit(ON_DISCONNECTED);
10753
10752
  });
10754
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10753
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10755
10754
  logger$7.info('WebRTC early media');
10756
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10755
+ const callSession = this._createCallSession(session);
10756
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10757
10757
  });
10758
10758
 
10759
10759
  this.client.on(this.client.REGISTERED, () => {
@@ -7081,7 +7081,6 @@ class WebRTCClient extends Emitter {
7081
7081
 
7082
7082
 
7083
7083
 
7084
-
7085
7084
 
7086
7085
 
7087
7086
 
@@ -7190,7 +7189,6 @@ class WebRTCClient extends Emitter {
7190
7189
 
7191
7190
  configureMedia(media ) {
7192
7191
  this.hasAudio = !!media.audio;
7193
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
7194
7192
  this.audioStreams = {};
7195
7193
  this.audioElements = {};
7196
7194
  }
@@ -8040,6 +8038,7 @@ class WebRTCClient extends Emitter {
8040
8038
 
8041
8039
  changeAudioOutputDevice(id ) {
8042
8040
  logger$8.info('Changing audio output device', { id });
8041
+ this.audioOutputDeviceId = id;
8043
8042
 
8044
8043
  Object.values(this.audioElements).forEach(audioElement => {
8045
8044
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10753,9 +10752,10 @@ class WebRTCPhone extends Emitter {
10753
10752
  logger$7.info('WebRTC disconnected');
10754
10753
  this.eventEmitter.emit(ON_DISCONNECTED);
10755
10754
  });
10756
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10755
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10757
10756
  logger$7.info('WebRTC early media');
10758
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10757
+ const callSession = this._createCallSession(session);
10758
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10759
10759
  });
10760
10760
 
10761
10761
  this.client.on(this.client.REGISTERED, () => {
@@ -7079,7 +7079,6 @@ class WebRTCClient extends Emitter {
7079
7079
 
7080
7080
 
7081
7081
 
7082
-
7083
7082
 
7084
7083
 
7085
7084
 
@@ -7188,7 +7187,6 @@ class WebRTCClient extends Emitter {
7188
7187
 
7189
7188
  configureMedia(media ) {
7190
7189
  this.hasAudio = !!media.audio;
7191
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
7192
7190
  this.audioStreams = {};
7193
7191
  this.audioElements = {};
7194
7192
  }
@@ -8038,6 +8036,7 @@ class WebRTCClient extends Emitter {
8038
8036
 
8039
8037
  changeAudioOutputDevice(id ) {
8040
8038
  logger$8.info('Changing audio output device', { id });
8039
+ this.audioOutputDeviceId = id;
8041
8040
 
8042
8041
  Object.values(this.audioElements).forEach(audioElement => {
8043
8042
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10751,9 +10750,10 @@ class WebRTCPhone extends Emitter {
10751
10750
  logger$7.info('WebRTC disconnected');
10752
10751
  this.eventEmitter.emit(ON_DISCONNECTED);
10753
10752
  });
10754
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10753
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10755
10754
  logger$7.info('WebRTC early media');
10756
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10755
+ const callSession = this._createCallSession(session);
10756
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10757
10757
  });
10758
10758
 
10759
10759
  this.client.on(this.client.REGISTERED, () => {
@@ -7079,7 +7079,6 @@ class WebRTCClient extends Emitter {
7079
7079
 
7080
7080
 
7081
7081
 
7082
-
7083
7082
 
7084
7083
 
7085
7084
 
@@ -7188,7 +7187,6 @@ class WebRTCClient extends Emitter {
7188
7187
 
7189
7188
  configureMedia(media ) {
7190
7189
  this.hasAudio = !!media.audio;
7191
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
7192
7190
  this.audioStreams = {};
7193
7191
  this.audioElements = {};
7194
7192
  }
@@ -8038,6 +8036,7 @@ class WebRTCClient extends Emitter {
8038
8036
 
8039
8037
  changeAudioOutputDevice(id ) {
8040
8038
  logger$8.info('Changing audio output device', { id });
8039
+ this.audioOutputDeviceId = id;
8041
8040
 
8042
8041
  Object.values(this.audioElements).forEach(audioElement => {
8043
8042
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10751,9 +10750,10 @@ class WebRTCPhone extends Emitter {
10751
10750
  logger$7.info('WebRTC disconnected');
10752
10751
  this.eventEmitter.emit(ON_DISCONNECTED);
10753
10752
  });
10754
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10753
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10755
10754
  logger$7.info('WebRTC early media');
10756
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10755
+ const callSession = this._createCallSession(session);
10756
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10757
10757
  });
10758
10758
 
10759
10759
  this.client.on(this.client.REGISTERED, () => {
@@ -7079,7 +7079,6 @@ class WebRTCClient extends Emitter {
7079
7079
 
7080
7080
 
7081
7081
 
7082
-
7083
7082
 
7084
7083
 
7085
7084
 
@@ -7188,7 +7187,6 @@ class WebRTCClient extends Emitter {
7188
7187
 
7189
7188
  configureMedia(media ) {
7190
7189
  this.hasAudio = !!media.audio;
7191
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
7192
7190
  this.audioStreams = {};
7193
7191
  this.audioElements = {};
7194
7192
  }
@@ -8038,6 +8036,7 @@ class WebRTCClient extends Emitter {
8038
8036
 
8039
8037
  changeAudioOutputDevice(id ) {
8040
8038
  logger$8.info('Changing audio output device', { id });
8039
+ this.audioOutputDeviceId = id;
8041
8040
 
8042
8041
  Object.values(this.audioElements).forEach(audioElement => {
8043
8042
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10751,9 +10750,10 @@ class WebRTCPhone extends Emitter {
10751
10750
  logger$7.info('WebRTC disconnected');
10752
10751
  this.eventEmitter.emit(ON_DISCONNECTED);
10753
10752
  });
10754
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10753
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10755
10754
  logger$7.info('WebRTC early media');
10756
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10755
+ const callSession = this._createCallSession(session);
10756
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10757
10757
  });
10758
10758
 
10759
10759
  this.client.on(this.client.REGISTERED, () => {
@@ -7079,7 +7079,6 @@ class WebRTCClient extends Emitter {
7079
7079
 
7080
7080
 
7081
7081
 
7082
-
7083
7082
 
7084
7083
 
7085
7084
 
@@ -7188,7 +7187,6 @@ class WebRTCClient extends Emitter {
7188
7187
 
7189
7188
  configureMedia(media ) {
7190
7189
  this.hasAudio = !!media.audio;
7191
- this.audioContext = this._isWeb() ? new (window.AudioContext || window.webkitAudioContext)() : null;
7192
7190
  this.audioStreams = {};
7193
7191
  this.audioElements = {};
7194
7192
  }
@@ -8038,6 +8036,7 @@ class WebRTCClient extends Emitter {
8038
8036
 
8039
8037
  changeAudioOutputDevice(id ) {
8040
8038
  logger$8.info('Changing audio output device', { id });
8039
+ this.audioOutputDeviceId = id;
8041
8040
 
8042
8041
  Object.values(this.audioElements).forEach(audioElement => {
8043
8042
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -10751,9 +10750,10 @@ class WebRTCPhone extends Emitter {
10751
10750
  logger$7.info('WebRTC disconnected');
10752
10751
  this.eventEmitter.emit(ON_DISCONNECTED);
10753
10752
  });
10754
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10753
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10755
10754
  logger$7.info('WebRTC early media');
10756
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10755
+ const callSession = this._createCallSession(session);
10756
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10757
10757
  });
10758
10758
 
10759
10759
  this.client.on(this.client.REGISTERED, () => {