@wazo/sdk 0.38.19 → 0.38.21

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 +2 -1
  3. package/esm/checker/Checker.js +2 -1
  4. package/esm/checker/checks/index.js +2 -1
  5. package/esm/checker/checks/webrtc-transport.js +2 -1
  6. package/esm/checker/checks/webrtc.js +2 -1
  7. package/esm/domain/Phone/WebRTCPhone.js +3 -2
  8. package/esm/index.js +5 -3
  9. package/esm/simple/Auth.js +5 -3
  10. package/esm/simple/Configuration.js +5 -3
  11. package/esm/simple/Phone.js +5 -3
  12. package/esm/simple/index.js +5 -3
  13. package/esm/simple/room/LocalParticipant.js +5 -3
  14. package/esm/simple/room/Participant.js +5 -3
  15. package/esm/simple/room/RemoteParticipant.js +5 -3
  16. package/esm/simple/room/Room.js +5 -3
  17. package/esm/simple/room/SipRoom.js +5 -3
  18. package/esm/simple/room/Stream.js +5 -3
  19. package/esm/simple/room/__tests__/Participant.test.js +5 -3
  20. package/esm/simple/room/__tests__/RemoteParticipant.test.js +5 -3
  21. package/esm/simple/utils.js +5 -3
  22. package/esm/web-rtc-client.js +2 -1
  23. package/lib/__tests__/web-rtc-client.test.js +2 -1
  24. package/lib/checker/Checker.js +2 -1
  25. package/lib/checker/checks/index.js +2 -1
  26. package/lib/checker/checks/webrtc-transport.js +2 -1
  27. package/lib/checker/checks/webrtc.js +2 -1
  28. package/lib/domain/Phone/WebRTCPhone.js +3 -2
  29. package/lib/index.js +5 -3
  30. package/lib/simple/Auth.js +5 -3
  31. package/lib/simple/Configuration.js +5 -3
  32. package/lib/simple/Phone.js +5 -3
  33. package/lib/simple/index.js +5 -3
  34. package/lib/simple/room/LocalParticipant.js +5 -3
  35. package/lib/simple/room/Participant.js +5 -3
  36. package/lib/simple/room/RemoteParticipant.js +5 -3
  37. package/lib/simple/room/Room.js +5 -3
  38. package/lib/simple/room/SipRoom.js +5 -3
  39. package/lib/simple/room/Stream.js +5 -3
  40. package/lib/simple/room/__tests__/Participant.test.js +5 -3
  41. package/lib/simple/room/__tests__/RemoteParticipant.test.js +5 -3
  42. package/lib/simple/utils.js +5 -3
  43. package/lib/web-rtc-client.js +2 -1
  44. package/package.json +1 -1
  45. package/src/domain/Phone/WebRTCPhone.js +3 -2
  46. package/src/web-rtc-client.js +2 -1
@@ -6613,6 +6613,7 @@ class WebRTCClient extends Emitter {
6613
6613
 
6614
6614
  changeAudioOutputDevice(id ) {
6615
6615
  logger.info('Changing audio output device', { id });
6616
+ this.audioOutputDeviceId = id;
6616
6617
 
6617
6618
  Object.values(this.audioElements).forEach(audioElement => {
6618
6619
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -7505,7 +7506,7 @@ class WebRTCClient extends Emitter {
7505
7506
 
7506
7507
  _setupMedias(session , newStream ) {
7507
7508
  // Safari hack, because you cannot call .play() from a non user action
7508
- const sessionId = this.getSipSessionId(session).substr(0, 20);
7509
+ const sessionId = this.getSipSessionId(session);
7509
7510
  const isConference = this.isConference(sessionId);
7510
7511
 
7511
7512
  if (sessionId in this.audioElements) {
@@ -7200,6 +7200,7 @@ class WebRTCClient extends Emitter {
7200
7200
 
7201
7201
  changeAudioOutputDevice(id ) {
7202
7202
  logger$1.info('Changing audio output device', { id });
7203
+ this.audioOutputDeviceId = id;
7203
7204
 
7204
7205
  Object.values(this.audioElements).forEach(audioElement => {
7205
7206
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -8092,7 +8093,7 @@ class WebRTCClient extends Emitter {
8092
8093
 
8093
8094
  _setupMedias(session , newStream ) {
8094
8095
  // Safari hack, because you cannot call .play() from a non user action
8095
- const sessionId = this.getSipSessionId(session).substr(0, 20);
8096
+ const sessionId = this.getSipSessionId(session);
8096
8097
  const isConference = this.isConference(sessionId);
8097
8098
 
8098
8099
  if (sessionId in this.audioElements) {
@@ -7200,6 +7200,7 @@ class WebRTCClient extends Emitter {
7200
7200
 
7201
7201
  changeAudioOutputDevice(id ) {
7202
7202
  logger.info('Changing audio output device', { id });
7203
+ this.audioOutputDeviceId = id;
7203
7204
 
7204
7205
  Object.values(this.audioElements).forEach(audioElement => {
7205
7206
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -8092,7 +8093,7 @@ class WebRTCClient extends Emitter {
8092
8093
 
8093
8094
  _setupMedias(session , newStream ) {
8094
8095
  // Safari hack, because you cannot call .play() from a non user action
8095
- const sessionId = this.getSipSessionId(session).substr(0, 20);
8096
+ const sessionId = this.getSipSessionId(session);
8096
8097
  const isConference = this.isConference(sessionId);
8097
8098
 
8098
8099
  if (sessionId in this.audioElements) {
@@ -6613,6 +6613,7 @@ class WebRTCClient extends Emitter {
6613
6613
 
6614
6614
  changeAudioOutputDevice(id ) {
6615
6615
  logger.info('Changing audio output device', { id });
6616
+ this.audioOutputDeviceId = id;
6616
6617
 
6617
6618
  Object.values(this.audioElements).forEach(audioElement => {
6618
6619
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -7505,7 +7506,7 @@ class WebRTCClient extends Emitter {
7505
7506
 
7506
7507
  _setupMedias(session , newStream ) {
7507
7508
  // Safari hack, because you cannot call .play() from a non user action
7508
- const sessionId = this.getSipSessionId(session).substr(0, 20);
7509
+ const sessionId = this.getSipSessionId(session);
7509
7510
  const isConference = this.isConference(sessionId);
7510
7511
 
7511
7512
  if (sessionId in this.audioElements) {
@@ -6613,6 +6613,7 @@ class WebRTCClient extends Emitter {
6613
6613
 
6614
6614
  changeAudioOutputDevice(id ) {
6615
6615
  logger.info('Changing audio output device', { id });
6616
+ this.audioOutputDeviceId = id;
6616
6617
 
6617
6618
  Object.values(this.audioElements).forEach(audioElement => {
6618
6619
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -7505,7 +7506,7 @@ class WebRTCClient extends Emitter {
7505
7506
 
7506
7507
  _setupMedias(session , newStream ) {
7507
7508
  // Safari hack, because you cannot call .play() from a non user action
7508
- const sessionId = this.getSipSessionId(session).substr(0, 20);
7509
+ const sessionId = this.getSipSessionId(session);
7509
7510
  const isConference = this.isConference(sessionId);
7510
7511
 
7511
7512
  if (sessionId in this.audioElements) {
@@ -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
@@ -7519,6 +7519,7 @@ class WebRTCClient extends Emitter {
7519
7519
 
7520
7520
  changeAudioOutputDevice(id ) {
7521
7521
  logger$9.info('Changing audio output device', { id });
7522
+ this.audioOutputDeviceId = id;
7522
7523
 
7523
7524
  Object.values(this.audioElements).forEach(audioElement => {
7524
7525
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -8411,7 +8412,7 @@ class WebRTCClient extends Emitter {
8411
8412
 
8412
8413
  _setupMedias(session , newStream ) {
8413
8414
  // Safari hack, because you cannot call .play() from a non user action
8414
- const sessionId = this.getSipSessionId(session).substr(0, 20);
8415
+ const sessionId = this.getSipSessionId(session);
8415
8416
  const isConference = this.isConference(sessionId);
8416
8417
 
8417
8418
  if (sessionId in this.audioElements) {
@@ -11140,9 +11141,10 @@ class WebRTCPhone extends Emitter {
11140
11141
  logger$7.info('WebRTC disconnected');
11141
11142
  this.eventEmitter.emit(ON_DISCONNECTED);
11142
11143
  });
11143
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
11144
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
11144
11145
  logger$7.info('WebRTC early media');
11145
- this.eventEmitter.emit(ON_EARLY_MEDIA);
11146
+ const callSession = this._createCallSession(session);
11147
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
11146
11148
  });
11147
11149
 
11148
11150
  this.client.on(this.client.REGISTERED, () => {
@@ -7697,6 +7697,7 @@ class WebRTCClient extends Emitter {
7697
7697
 
7698
7698
  changeAudioOutputDevice(id ) {
7699
7699
  logger$9.info('Changing audio output device', { id });
7700
+ this.audioOutputDeviceId = id;
7700
7701
 
7701
7702
  Object.values(this.audioElements).forEach(audioElement => {
7702
7703
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -8589,7 +8590,7 @@ class WebRTCClient extends Emitter {
8589
8590
 
8590
8591
  _setupMedias(session , newStream ) {
8591
8592
  // Safari hack, because you cannot call .play() from a non user action
8592
- const sessionId = this.getSipSessionId(session).substr(0, 20);
8593
+ const sessionId = this.getSipSessionId(session);
8593
8594
  const isConference = this.isConference(sessionId);
8594
8595
 
8595
8596
  if (sessionId in this.audioElements) {
@@ -10410,9 +10411,10 @@ class WebRTCPhone extends Emitter {
10410
10411
  logger$8.info('WebRTC disconnected');
10411
10412
  this.eventEmitter.emit(ON_DISCONNECTED);
10412
10413
  });
10413
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10414
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10414
10415
  logger$8.info('WebRTC early media');
10415
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10416
+ const callSession = this._createCallSession(session);
10417
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10416
10418
  });
10417
10419
 
10418
10420
  this.client.on(this.client.REGISTERED, () => {
@@ -7697,6 +7697,7 @@ class WebRTCClient extends Emitter {
7697
7697
 
7698
7698
  changeAudioOutputDevice(id ) {
7699
7699
  logger$9.info('Changing audio output device', { id });
7700
+ this.audioOutputDeviceId = id;
7700
7701
 
7701
7702
  Object.values(this.audioElements).forEach(audioElement => {
7702
7703
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -8589,7 +8590,7 @@ class WebRTCClient extends Emitter {
8589
8590
 
8590
8591
  _setupMedias(session , newStream ) {
8591
8592
  // Safari hack, because you cannot call .play() from a non user action
8592
- const sessionId = this.getSipSessionId(session).substr(0, 20);
8593
+ const sessionId = this.getSipSessionId(session);
8593
8594
  const isConference = this.isConference(sessionId);
8594
8595
 
8595
8596
  if (sessionId in this.audioElements) {
@@ -10410,9 +10411,10 @@ class WebRTCPhone extends Emitter {
10410
10411
  logger$8.info('WebRTC disconnected');
10411
10412
  this.eventEmitter.emit(ON_DISCONNECTED);
10412
10413
  });
10413
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10414
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10414
10415
  logger$8.info('WebRTC early media');
10415
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10416
+ const callSession = this._createCallSession(session);
10417
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10416
10418
  });
10417
10419
 
10418
10420
  this.client.on(this.client.REGISTERED, () => {
@@ -7697,6 +7697,7 @@ class WebRTCClient extends Emitter {
7697
7697
 
7698
7698
  changeAudioOutputDevice(id ) {
7699
7699
  logger$9.info('Changing audio output device', { id });
7700
+ this.audioOutputDeviceId = id;
7700
7701
 
7701
7702
  Object.values(this.audioElements).forEach(audioElement => {
7702
7703
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -8589,7 +8590,7 @@ class WebRTCClient extends Emitter {
8589
8590
 
8590
8591
  _setupMedias(session , newStream ) {
8591
8592
  // Safari hack, because you cannot call .play() from a non user action
8592
- const sessionId = this.getSipSessionId(session).substr(0, 20);
8593
+ const sessionId = this.getSipSessionId(session);
8593
8594
  const isConference = this.isConference(sessionId);
8594
8595
 
8595
8596
  if (sessionId in this.audioElements) {
@@ -10410,9 +10411,10 @@ class WebRTCPhone extends Emitter {
10410
10411
  logger$8.info('WebRTC disconnected');
10411
10412
  this.eventEmitter.emit(ON_DISCONNECTED);
10412
10413
  });
10413
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10414
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10414
10415
  logger$8.info('WebRTC early media');
10415
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10416
+ const callSession = this._createCallSession(session);
10417
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10416
10418
  });
10417
10419
 
10418
10420
  this.client.on(this.client.REGISTERED, () => {
@@ -8028,6 +8028,7 @@ class WebRTCClient extends Emitter {
8028
8028
 
8029
8029
  changeAudioOutputDevice(id ) {
8030
8030
  logger$8.info('Changing audio output device', { id });
8031
+ this.audioOutputDeviceId = id;
8031
8032
 
8032
8033
  Object.values(this.audioElements).forEach(audioElement => {
8033
8034
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -8920,7 +8921,7 @@ class WebRTCClient extends Emitter {
8920
8921
 
8921
8922
  _setupMedias(session , newStream ) {
8922
8923
  // Safari hack, because you cannot call .play() from a non user action
8923
- const sessionId = this.getSipSessionId(session).substr(0, 20);
8924
+ const sessionId = this.getSipSessionId(session);
8924
8925
  const isConference = this.isConference(sessionId);
8925
8926
 
8926
8927
  if (sessionId in this.audioElements) {
@@ -10741,9 +10742,10 @@ class WebRTCPhone extends Emitter {
10741
10742
  logger$7.info('WebRTC disconnected');
10742
10743
  this.eventEmitter.emit(ON_DISCONNECTED);
10743
10744
  });
10744
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10745
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10745
10746
  logger$7.info('WebRTC early media');
10746
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10747
+ const callSession = this._createCallSession(session);
10748
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10747
10749
  });
10748
10750
 
10749
10751
  this.client.on(this.client.REGISTERED, () => {
@@ -7697,6 +7697,7 @@ class WebRTCClient extends Emitter {
7697
7697
 
7698
7698
  changeAudioOutputDevice(id ) {
7699
7699
  logger$9.info('Changing audio output device', { id });
7700
+ this.audioOutputDeviceId = id;
7700
7701
 
7701
7702
  Object.values(this.audioElements).forEach(audioElement => {
7702
7703
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -8589,7 +8590,7 @@ class WebRTCClient extends Emitter {
8589
8590
 
8590
8591
  _setupMedias(session , newStream ) {
8591
8592
  // Safari hack, because you cannot call .play() from a non user action
8592
- const sessionId = this.getSipSessionId(session).substr(0, 20);
8593
+ const sessionId = this.getSipSessionId(session);
8593
8594
  const isConference = this.isConference(sessionId);
8594
8595
 
8595
8596
  if (sessionId in this.audioElements) {
@@ -10410,9 +10411,10 @@ class WebRTCPhone extends Emitter {
10410
10411
  logger$8.info('WebRTC disconnected');
10411
10412
  this.eventEmitter.emit(ON_DISCONNECTED);
10412
10413
  });
10413
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10414
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10414
10415
  logger$8.info('WebRTC early media');
10415
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10416
+ const callSession = this._createCallSession(session);
10417
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10416
10418
  });
10417
10419
 
10418
10420
  this.client.on(this.client.REGISTERED, () => {
@@ -7697,6 +7697,7 @@ class WebRTCClient extends Emitter {
7697
7697
 
7698
7698
  changeAudioOutputDevice(id ) {
7699
7699
  logger$9.info('Changing audio output device', { id });
7700
+ this.audioOutputDeviceId = id;
7700
7701
 
7701
7702
  Object.values(this.audioElements).forEach(audioElement => {
7702
7703
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -8589,7 +8590,7 @@ class WebRTCClient extends Emitter {
8589
8590
 
8590
8591
  _setupMedias(session , newStream ) {
8591
8592
  // Safari hack, because you cannot call .play() from a non user action
8592
- const sessionId = this.getSipSessionId(session).substr(0, 20);
8593
+ const sessionId = this.getSipSessionId(session);
8593
8594
  const isConference = this.isConference(sessionId);
8594
8595
 
8595
8596
  if (sessionId in this.audioElements) {
@@ -10410,9 +10411,10 @@ class WebRTCPhone extends Emitter {
10410
10411
  logger$8.info('WebRTC disconnected');
10411
10412
  this.eventEmitter.emit(ON_DISCONNECTED);
10412
10413
  });
10413
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10414
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10414
10415
  logger$8.info('WebRTC early media');
10415
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10416
+ const callSession = this._createCallSession(session);
10417
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10416
10418
  });
10417
10419
 
10418
10420
  this.client.on(this.client.REGISTERED, () => {
@@ -8028,6 +8028,7 @@ class WebRTCClient extends Emitter {
8028
8028
 
8029
8029
  changeAudioOutputDevice(id ) {
8030
8030
  logger$8.info('Changing audio output device', { id });
8031
+ this.audioOutputDeviceId = id;
8031
8032
 
8032
8033
  Object.values(this.audioElements).forEach(audioElement => {
8033
8034
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -8920,7 +8921,7 @@ class WebRTCClient extends Emitter {
8920
8921
 
8921
8922
  _setupMedias(session , newStream ) {
8922
8923
  // Safari hack, because you cannot call .play() from a non user action
8923
- const sessionId = this.getSipSessionId(session).substr(0, 20);
8924
+ const sessionId = this.getSipSessionId(session);
8924
8925
  const isConference = this.isConference(sessionId);
8925
8926
 
8926
8927
  if (sessionId in this.audioElements) {
@@ -10741,9 +10742,10 @@ class WebRTCPhone extends Emitter {
10741
10742
  logger$7.info('WebRTC disconnected');
10742
10743
  this.eventEmitter.emit(ON_DISCONNECTED);
10743
10744
  });
10744
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10745
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10745
10746
  logger$7.info('WebRTC early media');
10746
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10747
+ const callSession = this._createCallSession(session);
10748
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10747
10749
  });
10748
10750
 
10749
10751
  this.client.on(this.client.REGISTERED, () => {
@@ -8028,6 +8028,7 @@ class WebRTCClient extends Emitter {
8028
8028
 
8029
8029
  changeAudioOutputDevice(id ) {
8030
8030
  logger$8.info('Changing audio output device', { id });
8031
+ this.audioOutputDeviceId = id;
8031
8032
 
8032
8033
  Object.values(this.audioElements).forEach(audioElement => {
8033
8034
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -8920,7 +8921,7 @@ class WebRTCClient extends Emitter {
8920
8921
 
8921
8922
  _setupMedias(session , newStream ) {
8922
8923
  // Safari hack, because you cannot call .play() from a non user action
8923
- const sessionId = this.getSipSessionId(session).substr(0, 20);
8924
+ const sessionId = this.getSipSessionId(session);
8924
8925
  const isConference = this.isConference(sessionId);
8925
8926
 
8926
8927
  if (sessionId in this.audioElements) {
@@ -10741,9 +10742,10 @@ class WebRTCPhone extends Emitter {
10741
10742
  logger$7.info('WebRTC disconnected');
10742
10743
  this.eventEmitter.emit(ON_DISCONNECTED);
10743
10744
  });
10744
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10745
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10745
10746
  logger$7.info('WebRTC early media');
10746
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10747
+ const callSession = this._createCallSession(session);
10748
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10747
10749
  });
10748
10750
 
10749
10751
  this.client.on(this.client.REGISTERED, () => {
@@ -8028,6 +8028,7 @@ class WebRTCClient extends Emitter {
8028
8028
 
8029
8029
  changeAudioOutputDevice(id ) {
8030
8030
  logger$8.info('Changing audio output device', { id });
8031
+ this.audioOutputDeviceId = id;
8031
8032
 
8032
8033
  Object.values(this.audioElements).forEach(audioElement => {
8033
8034
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -8920,7 +8921,7 @@ class WebRTCClient extends Emitter {
8920
8921
 
8921
8922
  _setupMedias(session , newStream ) {
8922
8923
  // Safari hack, because you cannot call .play() from a non user action
8923
- const sessionId = this.getSipSessionId(session).substr(0, 20);
8924
+ const sessionId = this.getSipSessionId(session);
8924
8925
  const isConference = this.isConference(sessionId);
8925
8926
 
8926
8927
  if (sessionId in this.audioElements) {
@@ -10741,9 +10742,10 @@ class WebRTCPhone extends Emitter {
10741
10742
  logger$7.info('WebRTC disconnected');
10742
10743
  this.eventEmitter.emit(ON_DISCONNECTED);
10743
10744
  });
10744
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10745
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10745
10746
  logger$7.info('WebRTC early media');
10746
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10747
+ const callSession = this._createCallSession(session);
10748
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10747
10749
  });
10748
10750
 
10749
10751
  this.client.on(this.client.REGISTERED, () => {
@@ -8028,6 +8028,7 @@ class WebRTCClient extends Emitter {
8028
8028
 
8029
8029
  changeAudioOutputDevice(id ) {
8030
8030
  logger$8.info('Changing audio output device', { id });
8031
+ this.audioOutputDeviceId = id;
8031
8032
 
8032
8033
  Object.values(this.audioElements).forEach(audioElement => {
8033
8034
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -8920,7 +8921,7 @@ class WebRTCClient extends Emitter {
8920
8921
 
8921
8922
  _setupMedias(session , newStream ) {
8922
8923
  // Safari hack, because you cannot call .play() from a non user action
8923
- const sessionId = this.getSipSessionId(session).substr(0, 20);
8924
+ const sessionId = this.getSipSessionId(session);
8924
8925
  const isConference = this.isConference(sessionId);
8925
8926
 
8926
8927
  if (sessionId in this.audioElements) {
@@ -10741,9 +10742,10 @@ class WebRTCPhone extends Emitter {
10741
10742
  logger$7.info('WebRTC disconnected');
10742
10743
  this.eventEmitter.emit(ON_DISCONNECTED);
10743
10744
  });
10744
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10745
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10745
10746
  logger$7.info('WebRTC early media');
10746
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10747
+ const callSession = this._createCallSession(session);
10748
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10747
10749
  });
10748
10750
 
10749
10751
  this.client.on(this.client.REGISTERED, () => {
@@ -8028,6 +8028,7 @@ class WebRTCClient extends Emitter {
8028
8028
 
8029
8029
  changeAudioOutputDevice(id ) {
8030
8030
  logger$8.info('Changing audio output device', { id });
8031
+ this.audioOutputDeviceId = id;
8031
8032
 
8032
8033
  Object.values(this.audioElements).forEach(audioElement => {
8033
8034
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -8920,7 +8921,7 @@ class WebRTCClient extends Emitter {
8920
8921
 
8921
8922
  _setupMedias(session , newStream ) {
8922
8923
  // Safari hack, because you cannot call .play() from a non user action
8923
- const sessionId = this.getSipSessionId(session).substr(0, 20);
8924
+ const sessionId = this.getSipSessionId(session);
8924
8925
  const isConference = this.isConference(sessionId);
8925
8926
 
8926
8927
  if (sessionId in this.audioElements) {
@@ -10741,9 +10742,10 @@ class WebRTCPhone extends Emitter {
10741
10742
  logger$7.info('WebRTC disconnected');
10742
10743
  this.eventEmitter.emit(ON_DISCONNECTED);
10743
10744
  });
10744
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10745
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10745
10746
  logger$7.info('WebRTC early media');
10746
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10747
+ const callSession = this._createCallSession(session);
10748
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10747
10749
  });
10748
10750
 
10749
10751
  this.client.on(this.client.REGISTERED, () => {
@@ -8028,6 +8028,7 @@ class WebRTCClient extends Emitter {
8028
8028
 
8029
8029
  changeAudioOutputDevice(id ) {
8030
8030
  logger$8.info('Changing audio output device', { id });
8031
+ this.audioOutputDeviceId = id;
8031
8032
 
8032
8033
  Object.values(this.audioElements).forEach(audioElement => {
8033
8034
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -8920,7 +8921,7 @@ class WebRTCClient extends Emitter {
8920
8921
 
8921
8922
  _setupMedias(session , newStream ) {
8922
8923
  // Safari hack, because you cannot call .play() from a non user action
8923
- const sessionId = this.getSipSessionId(session).substr(0, 20);
8924
+ const sessionId = this.getSipSessionId(session);
8924
8925
  const isConference = this.isConference(sessionId);
8925
8926
 
8926
8927
  if (sessionId in this.audioElements) {
@@ -10741,9 +10742,10 @@ class WebRTCPhone extends Emitter {
10741
10742
  logger$7.info('WebRTC disconnected');
10742
10743
  this.eventEmitter.emit(ON_DISCONNECTED);
10743
10744
  });
10744
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10745
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10745
10746
  logger$7.info('WebRTC early media');
10746
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10747
+ const callSession = this._createCallSession(session);
10748
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10747
10749
  });
10748
10750
 
10749
10751
  this.client.on(this.client.REGISTERED, () => {
@@ -8028,6 +8028,7 @@ class WebRTCClient extends Emitter {
8028
8028
 
8029
8029
  changeAudioOutputDevice(id ) {
8030
8030
  logger$8.info('Changing audio output device', { id });
8031
+ this.audioOutputDeviceId = id;
8031
8032
 
8032
8033
  Object.values(this.audioElements).forEach(audioElement => {
8033
8034
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -8920,7 +8921,7 @@ class WebRTCClient extends Emitter {
8920
8921
 
8921
8922
  _setupMedias(session , newStream ) {
8922
8923
  // Safari hack, because you cannot call .play() from a non user action
8923
- const sessionId = this.getSipSessionId(session).substr(0, 20);
8924
+ const sessionId = this.getSipSessionId(session);
8924
8925
  const isConference = this.isConference(sessionId);
8925
8926
 
8926
8927
  if (sessionId in this.audioElements) {
@@ -10741,9 +10742,10 @@ class WebRTCPhone extends Emitter {
10741
10742
  logger$7.info('WebRTC disconnected');
10742
10743
  this.eventEmitter.emit(ON_DISCONNECTED);
10743
10744
  });
10744
- this.client.on(this.client.ON_EARLY_MEDIA, () => {
10745
+ this.client.on(this.client.ON_EARLY_MEDIA, session => {
10745
10746
  logger$7.info('WebRTC early media');
10746
- this.eventEmitter.emit(ON_EARLY_MEDIA);
10747
+ const callSession = this._createCallSession(session);
10748
+ this.eventEmitter.emit(ON_EARLY_MEDIA, callSession);
10747
10749
  });
10748
10750
 
10749
10751
  this.client.on(this.client.REGISTERED, () => {
@@ -6616,6 +6616,7 @@ class WebRTCClient extends Emitter {
6616
6616
 
6617
6617
  changeAudioOutputDevice(id ) {
6618
6618
  logger.info('Changing audio output device', { id });
6619
+ this.audioOutputDeviceId = id;
6619
6620
 
6620
6621
  Object.values(this.audioElements).forEach(audioElement => {
6621
6622
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -7508,7 +7509,7 @@ class WebRTCClient extends Emitter {
7508
7509
 
7509
7510
  _setupMedias(session , newStream ) {
7510
7511
  // Safari hack, because you cannot call .play() from a non user action
7511
- const sessionId = this.getSipSessionId(session).substr(0, 20);
7512
+ const sessionId = this.getSipSessionId(session);
7512
7513
  const isConference = this.isConference(sessionId);
7513
7514
 
7514
7515
  if (sessionId in this.audioElements) {
@@ -6622,6 +6622,7 @@ class WebRTCClient extends Emitter {
6622
6622
 
6623
6623
  changeAudioOutputDevice(id ) {
6624
6624
  logger.info('Changing audio output device', { id });
6625
+ this.audioOutputDeviceId = id;
6625
6626
 
6626
6627
  Object.values(this.audioElements).forEach(audioElement => {
6627
6628
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -7514,7 +7515,7 @@ class WebRTCClient extends Emitter {
7514
7515
 
7515
7516
  _setupMedias(session , newStream ) {
7516
7517
  // Safari hack, because you cannot call .play() from a non user action
7517
- const sessionId = this.getSipSessionId(session).substr(0, 20);
7518
+ const sessionId = this.getSipSessionId(session);
7518
7519
  const isConference = this.isConference(sessionId);
7519
7520
 
7520
7521
  if (sessionId in this.audioElements) {
@@ -7210,6 +7210,7 @@ class WebRTCClient extends Emitter {
7210
7210
 
7211
7211
  changeAudioOutputDevice(id ) {
7212
7212
  logger$1.info('Changing audio output device', { id });
7213
+ this.audioOutputDeviceId = id;
7213
7214
 
7214
7215
  Object.values(this.audioElements).forEach(audioElement => {
7215
7216
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -8102,7 +8103,7 @@ class WebRTCClient extends Emitter {
8102
8103
 
8103
8104
  _setupMedias(session , newStream ) {
8104
8105
  // Safari hack, because you cannot call .play() from a non user action
8105
- const sessionId = this.getSipSessionId(session).substr(0, 20);
8106
+ const sessionId = this.getSipSessionId(session);
8106
8107
  const isConference = this.isConference(sessionId);
8107
8108
 
8108
8109
  if (sessionId in this.audioElements) {
@@ -7210,6 +7210,7 @@ class WebRTCClient extends Emitter {
7210
7210
 
7211
7211
  changeAudioOutputDevice(id ) {
7212
7212
  logger.info('Changing audio output device', { id });
7213
+ this.audioOutputDeviceId = id;
7213
7214
 
7214
7215
  Object.values(this.audioElements).forEach(audioElement => {
7215
7216
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -8102,7 +8103,7 @@ class WebRTCClient extends Emitter {
8102
8103
 
8103
8104
  _setupMedias(session , newStream ) {
8104
8105
  // Safari hack, because you cannot call .play() from a non user action
8105
- const sessionId = this.getSipSessionId(session).substr(0, 20);
8106
+ const sessionId = this.getSipSessionId(session);
8106
8107
  const isConference = this.isConference(sessionId);
8107
8108
 
8108
8109
  if (sessionId in this.audioElements) {
@@ -6622,6 +6622,7 @@ class WebRTCClient extends Emitter {
6622
6622
 
6623
6623
  changeAudioOutputDevice(id ) {
6624
6624
  logger.info('Changing audio output device', { id });
6625
+ this.audioOutputDeviceId = id;
6625
6626
 
6626
6627
  Object.values(this.audioElements).forEach(audioElement => {
6627
6628
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -7514,7 +7515,7 @@ class WebRTCClient extends Emitter {
7514
7515
 
7515
7516
  _setupMedias(session , newStream ) {
7516
7517
  // Safari hack, because you cannot call .play() from a non user action
7517
- const sessionId = this.getSipSessionId(session).substr(0, 20);
7518
+ const sessionId = this.getSipSessionId(session);
7518
7519
  const isConference = this.isConference(sessionId);
7519
7520
 
7520
7521
  if (sessionId in this.audioElements) {
@@ -6622,6 +6622,7 @@ class WebRTCClient extends Emitter {
6622
6622
 
6623
6623
  changeAudioOutputDevice(id ) {
6624
6624
  logger.info('Changing audio output device', { id });
6625
+ this.audioOutputDeviceId = id;
6625
6626
 
6626
6627
  Object.values(this.audioElements).forEach(audioElement => {
6627
6628
  // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
@@ -7514,7 +7515,7 @@ class WebRTCClient extends Emitter {
7514
7515
 
7515
7516
  _setupMedias(session , newStream ) {
7516
7517
  // Safari hack, because you cannot call .play() from a non user action
7517
- const sessionId = this.getSipSessionId(session).substr(0, 20);
7518
+ const sessionId = this.getSipSessionId(session);
7518
7519
  const isConference = this.isConference(sessionId);
7519
7520
 
7520
7521
  if (sessionId in this.audioElements) {
@@ -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, () => {