@wazo/sdk 0.38.13 → 0.38.16

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 (70) hide show
  1. package/dist/wazo-sdk.js +2 -2
  2. package/esm/__tests__/api-client.test.js +5 -0
  3. package/esm/__tests__/web-rtc-client.test.js +12 -0
  4. package/esm/api/dird.js +5 -0
  5. package/esm/api-client.js +5 -0
  6. package/esm/checker/Checker.js +12 -0
  7. package/esm/checker/checks/aor.js +5 -0
  8. package/esm/checker/checks/api.js +5 -0
  9. package/esm/checker/checks/index.js +12 -0
  10. package/esm/checker/checks/webrtc-transport.js +12 -0
  11. package/esm/checker/checks/webrtc.js +12 -0
  12. package/esm/domain/AdHocAPIConference.js +5 -0
  13. package/esm/domain/Features.js +5 -0
  14. package/esm/domain/Phone/CTIPhone.js +7 -0
  15. package/esm/index.js +22 -3
  16. package/esm/service/CallApi.js +5 -0
  17. package/esm/service/getApiClient.js +5 -0
  18. package/esm/simple/Auth.js +22 -3
  19. package/esm/simple/Configuration.js +22 -3
  20. package/esm/simple/Directory.js +5 -0
  21. package/esm/simple/Phone.js +22 -3
  22. package/esm/simple/index.js +22 -3
  23. package/esm/simple/room/LocalParticipant.js +5528 -5509
  24. package/esm/simple/room/Participant.js +5531 -5512
  25. package/esm/simple/room/RemoteParticipant.js +22 -3
  26. package/esm/simple/room/Room.js +22 -3
  27. package/esm/simple/room/SipRoom.js +22 -3
  28. package/esm/simple/room/Stream.js +22 -3
  29. package/esm/simple/room/__tests__/Participant.test.js +22 -3
  30. package/esm/simple/room/__tests__/RemoteParticipant.test.js +22 -3
  31. package/esm/simple/utils.js +22 -3
  32. package/esm/web-rtc-client.js +12 -0
  33. package/lib/__tests__/api-client.test.js +5 -0
  34. package/lib/__tests__/web-rtc-client.test.js +12 -0
  35. package/lib/api/dird.js +5 -0
  36. package/lib/api-client.js +5 -0
  37. package/lib/checker/Checker.js +12 -0
  38. package/lib/checker/checks/aor.js +5 -0
  39. package/lib/checker/checks/api.js +5 -0
  40. package/lib/checker/checks/index.js +12 -0
  41. package/lib/checker/checks/webrtc-transport.js +12 -0
  42. package/lib/checker/checks/webrtc.js +12 -0
  43. package/lib/domain/AdHocAPIConference.js +5 -0
  44. package/lib/domain/Features.js +5 -0
  45. package/lib/domain/Phone/CTIPhone.js +7 -0
  46. package/lib/index.js +22 -3
  47. package/lib/service/CallApi.js +5 -0
  48. package/lib/service/getApiClient.js +5 -0
  49. package/lib/simple/Auth.js +22 -3
  50. package/lib/simple/Configuration.js +22 -3
  51. package/lib/simple/Directory.js +5 -0
  52. package/lib/simple/Phone.js +22 -3
  53. package/lib/simple/index.js +22 -3
  54. package/lib/simple/room/LocalParticipant.js +6444 -6425
  55. package/lib/simple/room/Participant.js +6447 -6428
  56. package/lib/simple/room/RemoteParticipant.js +22 -3
  57. package/lib/simple/room/Room.js +22 -3
  58. package/lib/simple/room/SipRoom.js +22 -3
  59. package/lib/simple/room/Stream.js +22 -3
  60. package/lib/simple/room/__tests__/Participant.test.js +22 -3
  61. package/lib/simple/room/__tests__/RemoteParticipant.test.js +22 -3
  62. package/lib/simple/utils.js +22 -3
  63. package/lib/web-rtc-client.js +12 -0
  64. package/package.json +1 -1
  65. package/src/api/dird.js +5 -0
  66. package/src/domain/Phone/CTIPhone.js +2 -0
  67. package/src/domain/Phone/Phone.js +2 -0
  68. package/src/simple/room/Participant.js +7 -1
  69. package/src/simple/room/Room.js +2 -2
  70. package/src/web-rtc-client.js +7 -0
@@ -3952,6 +3952,11 @@ var dirdMethods = (client , baseUrl ) => ({
3952
3952
  listPersonalContacts: (queryParams = null) =>
3953
3953
  client.get(`${baseUrl}/personal`, queryParams).then(response => Contact.parseManyPersonal(response.items)),
3954
3954
 
3955
+ fetchPersonalContact: (contactUuid ) =>
3956
+ client
3957
+ .get(`${baseUrl}/personal/${contactUuid}`)
3958
+ .then(Contact.parsePersonal),
3959
+
3955
3960
  addContact: (contact ) =>
3956
3961
  client.post(`${baseUrl}/personal`, getContactPayload(contact)).then(Contact.parsePersonal),
3957
3962
 
@@ -4529,6 +4529,11 @@ var dirdMethods = (client , baseUrl ) => ({
4529
4529
  listPersonalContacts: (queryParams = null) =>
4530
4530
  client.get(`${baseUrl}/personal`, queryParams).then(response => Contact.parseManyPersonal(response.items)),
4531
4531
 
4532
+ fetchPersonalContact: (contactUuid ) =>
4533
+ client
4534
+ .get(`${baseUrl}/personal/${contactUuid}`)
4535
+ .then(Contact.parsePersonal),
4536
+
4532
4537
  addContact: (contact ) =>
4533
4538
  client.post(`${baseUrl}/personal`, getContactPayload(contact)).then(Contact.parsePersonal),
4534
4539
 
@@ -5783,6 +5788,12 @@ class WebRTCClient extends Emitter {
5783
5788
  };
5784
5789
 
5785
5790
  const ua = new UserAgent(webRTCConfiguration);
5791
+ if (ua.transport && ua.transport.connectPromise) {
5792
+ ua.transport.connectPromise.catch((e => {
5793
+ logger.warn('Transport connect error', e);
5794
+ }));
5795
+ }
5796
+
5786
5797
  ua.transport.onMessage = (rawMessage ) => {
5787
5798
  const message = Parser.parseMessage(rawMessage, ua.transport.logger);
5788
5799
 
@@ -6004,6 +6015,7 @@ class WebRTCClient extends Emitter {
6004
6015
  conference,
6005
6016
  audioOnly,
6006
6017
  },
6018
+ earlyMedia: true,
6007
6019
  };
6008
6020
 
6009
6021
  if (audioOnly) {
package/esm/api/dird.js CHANGED
@@ -1470,6 +1470,11 @@ var dird = (client , baseUrl ) => ({
1470
1470
  listPersonalContacts: (queryParams = null) =>
1471
1471
  client.get(`${baseUrl}/personal`, queryParams).then(response => Contact.parseManyPersonal(response.items)),
1472
1472
 
1473
+ fetchPersonalContact: (contactUuid ) =>
1474
+ client
1475
+ .get(`${baseUrl}/personal/${contactUuid}`)
1476
+ .then(Contact.parsePersonal),
1477
+
1473
1478
  addContact: (contact ) =>
1474
1479
  client.post(`${baseUrl}/personal`, getContactPayload(contact)).then(Contact.parsePersonal),
1475
1480
 
package/esm/api-client.js CHANGED
@@ -3952,6 +3952,11 @@ var dirdMethods = (client , baseUrl ) => ({
3952
3952
  listPersonalContacts: (queryParams = null) =>
3953
3953
  client.get(`${baseUrl}/personal`, queryParams).then(response => Contact.parseManyPersonal(response.items)),
3954
3954
 
3955
+ fetchPersonalContact: (contactUuid ) =>
3956
+ client
3957
+ .get(`${baseUrl}/personal/${contactUuid}`)
3958
+ .then(Contact.parsePersonal),
3959
+
3955
3960
  addContact: (contact ) =>
3956
3961
  client.post(`${baseUrl}/personal`, getContactPayload(contact)).then(Contact.parsePersonal),
3957
3962
 
@@ -3996,6 +3996,11 @@ var dirdMethods = (client , baseUrl ) => ({
3996
3996
  listPersonalContacts: (queryParams = null) =>
3997
3997
  client.get(`${baseUrl}/personal`, queryParams).then(response => Contact.parseManyPersonal(response.items)),
3998
3998
 
3999
+ fetchPersonalContact: (contactUuid ) =>
4000
+ client
4001
+ .get(`${baseUrl}/personal/${contactUuid}`)
4002
+ .then(Contact.parsePersonal),
4003
+
3999
4004
  addContact: (contact ) =>
4000
4005
  client.post(`${baseUrl}/personal`, getContactPayload(contact)).then(Contact.parsePersonal),
4001
4006
 
@@ -6370,6 +6375,12 @@ class WebRTCClient extends Emitter {
6370
6375
  };
6371
6376
 
6372
6377
  const ua = new UserAgent(webRTCConfiguration);
6378
+ if (ua.transport && ua.transport.connectPromise) {
6379
+ ua.transport.connectPromise.catch((e => {
6380
+ logger$1.warn('Transport connect error', e);
6381
+ }));
6382
+ }
6383
+
6373
6384
  ua.transport.onMessage = (rawMessage ) => {
6374
6385
  const message = Parser.parseMessage(rawMessage, ua.transport.logger);
6375
6386
 
@@ -6591,6 +6602,7 @@ class WebRTCClient extends Emitter {
6591
6602
  conference,
6592
6603
  audioOnly,
6593
6604
  },
6605
+ earlyMedia: true,
6594
6606
  };
6595
6607
 
6596
6608
  if (audioOnly) {
@@ -3952,6 +3952,11 @@ var dirdMethods = (client , baseUrl ) => ({
3952
3952
  listPersonalContacts: (queryParams = null) =>
3953
3953
  client.get(`${baseUrl}/personal`, queryParams).then(response => Contact.parseManyPersonal(response.items)),
3954
3954
 
3955
+ fetchPersonalContact: (contactUuid ) =>
3956
+ client
3957
+ .get(`${baseUrl}/personal/${contactUuid}`)
3958
+ .then(Contact.parsePersonal),
3959
+
3955
3960
  addContact: (contact ) =>
3956
3961
  client.post(`${baseUrl}/personal`, getContactPayload(contact)).then(Contact.parsePersonal),
3957
3962
 
@@ -3952,6 +3952,11 @@ var dirdMethods = (client , baseUrl ) => ({
3952
3952
  listPersonalContacts: (queryParams = null) =>
3953
3953
  client.get(`${baseUrl}/personal`, queryParams).then(response => Contact.parseManyPersonal(response.items)),
3954
3954
 
3955
+ fetchPersonalContact: (contactUuid ) =>
3956
+ client
3957
+ .get(`${baseUrl}/personal/${contactUuid}`)
3958
+ .then(Contact.parsePersonal),
3959
+
3955
3960
  addContact: (contact ) =>
3956
3961
  client.post(`${baseUrl}/personal`, getContactPayload(contact)).then(Contact.parsePersonal),
3957
3962
 
@@ -3996,6 +3996,11 @@ var dirdMethods = (client , baseUrl ) => ({
3996
3996
  listPersonalContacts: (queryParams = null) =>
3997
3997
  client.get(`${baseUrl}/personal`, queryParams).then(response => Contact.parseManyPersonal(response.items)),
3998
3998
 
3999
+ fetchPersonalContact: (contactUuid ) =>
4000
+ client
4001
+ .get(`${baseUrl}/personal/${contactUuid}`)
4002
+ .then(Contact.parsePersonal),
4003
+
3999
4004
  addContact: (contact ) =>
4000
4005
  client.post(`${baseUrl}/personal`, getContactPayload(contact)).then(Contact.parsePersonal),
4001
4006
 
@@ -6370,6 +6375,12 @@ class WebRTCClient extends Emitter {
6370
6375
  };
6371
6376
 
6372
6377
  const ua = new UserAgent(webRTCConfiguration);
6378
+ if (ua.transport && ua.transport.connectPromise) {
6379
+ ua.transport.connectPromise.catch((e => {
6380
+ logger.warn('Transport connect error', e);
6381
+ }));
6382
+ }
6383
+
6373
6384
  ua.transport.onMessage = (rawMessage ) => {
6374
6385
  const message = Parser.parseMessage(rawMessage, ua.transport.logger);
6375
6386
 
@@ -6591,6 +6602,7 @@ class WebRTCClient extends Emitter {
6591
6602
  conference,
6592
6603
  audioOnly,
6593
6604
  },
6605
+ earlyMedia: true,
6594
6606
  };
6595
6607
 
6596
6608
  if (audioOnly) {
@@ -4529,6 +4529,11 @@ var dirdMethods = (client , baseUrl ) => ({
4529
4529
  listPersonalContacts: (queryParams = null) =>
4530
4530
  client.get(`${baseUrl}/personal`, queryParams).then(response => Contact.parseManyPersonal(response.items)),
4531
4531
 
4532
+ fetchPersonalContact: (contactUuid ) =>
4533
+ client
4534
+ .get(`${baseUrl}/personal/${contactUuid}`)
4535
+ .then(Contact.parsePersonal),
4536
+
4532
4537
  addContact: (contact ) =>
4533
4538
  client.post(`${baseUrl}/personal`, getContactPayload(contact)).then(Contact.parsePersonal),
4534
4539
 
@@ -5783,6 +5788,12 @@ class WebRTCClient extends Emitter {
5783
5788
  };
5784
5789
 
5785
5790
  const ua = new UserAgent(webRTCConfiguration);
5791
+ if (ua.transport && ua.transport.connectPromise) {
5792
+ ua.transport.connectPromise.catch((e => {
5793
+ logger.warn('Transport connect error', e);
5794
+ }));
5795
+ }
5796
+
5786
5797
  ua.transport.onMessage = (rawMessage ) => {
5787
5798
  const message = Parser.parseMessage(rawMessage, ua.transport.logger);
5788
5799
 
@@ -6004,6 +6015,7 @@ class WebRTCClient extends Emitter {
6004
6015
  conference,
6005
6016
  audioOnly,
6006
6017
  },
6018
+ earlyMedia: true,
6007
6019
  };
6008
6020
 
6009
6021
  if (audioOnly) {
@@ -4529,6 +4529,11 @@ var dirdMethods = (client , baseUrl ) => ({
4529
4529
  listPersonalContacts: (queryParams = null) =>
4530
4530
  client.get(`${baseUrl}/personal`, queryParams).then(response => Contact.parseManyPersonal(response.items)),
4531
4531
 
4532
+ fetchPersonalContact: (contactUuid ) =>
4533
+ client
4534
+ .get(`${baseUrl}/personal/${contactUuid}`)
4535
+ .then(Contact.parsePersonal),
4536
+
4532
4537
  addContact: (contact ) =>
4533
4538
  client.post(`${baseUrl}/personal`, getContactPayload(contact)).then(Contact.parsePersonal),
4534
4539
 
@@ -5783,6 +5788,12 @@ class WebRTCClient extends Emitter {
5783
5788
  };
5784
5789
 
5785
5790
  const ua = new UserAgent(webRTCConfiguration);
5791
+ if (ua.transport && ua.transport.connectPromise) {
5792
+ ua.transport.connectPromise.catch((e => {
5793
+ logger.warn('Transport connect error', e);
5794
+ }));
5795
+ }
5796
+
5786
5797
  ua.transport.onMessage = (rawMessage ) => {
5787
5798
  const message = Parser.parseMessage(rawMessage, ua.transport.logger);
5788
5799
 
@@ -6004,6 +6015,7 @@ class WebRTCClient extends Emitter {
6004
6015
  conference,
6005
6016
  audioOnly,
6006
6017
  },
6018
+ earlyMedia: true,
6007
6019
  };
6008
6020
 
6009
6021
  if (audioOnly) {
@@ -3934,6 +3934,11 @@ var dirdMethods = (client , baseUrl ) => ({
3934
3934
  listPersonalContacts: (queryParams = null) =>
3935
3935
  client.get(`${baseUrl}/personal`, queryParams).then(response => Contact.parseManyPersonal(response.items)),
3936
3936
 
3937
+ fetchPersonalContact: (contactUuid ) =>
3938
+ client
3939
+ .get(`${baseUrl}/personal/${contactUuid}`)
3940
+ .then(Contact.parsePersonal),
3941
+
3937
3942
  addContact: (contact ) =>
3938
3943
  client.post(`${baseUrl}/personal`, getContactPayload(contact)).then(Contact.parsePersonal),
3939
3944
 
@@ -3934,6 +3934,11 @@ var dirdMethods = (client , baseUrl ) => ({
3934
3934
  listPersonalContacts: (queryParams = null) =>
3935
3935
  client.get(`${baseUrl}/personal`, queryParams).then(response => Contact.parseManyPersonal(response.items)),
3936
3936
 
3937
+ fetchPersonalContact: (contactUuid ) =>
3938
+ client
3939
+ .get(`${baseUrl}/personal/${contactUuid}`)
3940
+ .then(Contact.parsePersonal),
3941
+
3937
3942
  addContact: (contact ) =>
3938
3943
  client.post(`${baseUrl}/personal`, getContactPayload(contact)).then(Contact.parsePersonal),
3939
3944
 
@@ -4279,6 +4279,11 @@ var dirdMethods = (client , baseUrl ) => ({
4279
4279
  listPersonalContacts: (queryParams = null) =>
4280
4280
  client.get(`${baseUrl}/personal`, queryParams).then(response => Contact.parseManyPersonal(response.items)),
4281
4281
 
4282
+ fetchPersonalContact: (contactUuid ) =>
4283
+ client
4284
+ .get(`${baseUrl}/personal/${contactUuid}`)
4285
+ .then(Contact.parsePersonal),
4286
+
4282
4287
  addContact: (contact ) =>
4283
4288
  client.post(`${baseUrl}/personal`, getContactPayload(contact)).then(Contact.parsePersonal),
4284
4289
 
@@ -5768,6 +5773,8 @@ class CTIPhone extends Emitter {
5768
5773
  }
5769
5774
 
5770
5775
  useLocalVideoElement() {}
5776
+
5777
+ setMediaConstraints() {}
5771
5778
  }
5772
5779
 
5773
5780
  export default CTIPhone;
package/esm/index.js CHANGED
@@ -4719,6 +4719,8 @@ class CTIPhone extends Emitter {
4719
4719
  }
4720
4720
 
4721
4721
  useLocalVideoElement() {}
4722
+
4723
+ setMediaConstraints() {}
4722
4724
  }
4723
4725
 
4724
4726
  /* */
@@ -4896,6 +4898,11 @@ var dirdMethods = (client , baseUrl ) => ({
4896
4898
  listPersonalContacts: (queryParams = null) =>
4897
4899
  client.get(`${baseUrl}/personal`, queryParams).then(response => Contact.parseManyPersonal(response.items)),
4898
4900
 
4901
+ fetchPersonalContact: (contactUuid ) =>
4902
+ client
4903
+ .get(`${baseUrl}/personal/${contactUuid}`)
4904
+ .then(Contact.parsePersonal),
4905
+
4899
4906
  addContact: (contact ) =>
4900
4907
  client.post(`${baseUrl}/personal`, getContactPayload(contact)).then(Contact.parsePersonal),
4901
4908
 
@@ -6687,6 +6694,12 @@ class WebRTCClient extends Emitter {
6687
6694
  };
6688
6695
 
6689
6696
  const ua = new UserAgent(webRTCConfiguration);
6697
+ if (ua.transport && ua.transport.connectPromise) {
6698
+ ua.transport.connectPromise.catch((e => {
6699
+ logger$9.warn('Transport connect error', e);
6700
+ }));
6701
+ }
6702
+
6690
6703
  ua.transport.onMessage = (rawMessage ) => {
6691
6704
  const message = Parser.parseMessage(rawMessage, ua.transport.logger);
6692
6705
 
@@ -6908,6 +6921,7 @@ class WebRTCClient extends Emitter {
6908
6921
  conference,
6909
6922
  audioOnly,
6910
6923
  },
6924
+ earlyMedia: true,
6911
6925
  };
6912
6926
 
6913
6927
  if (audioOnly) {
@@ -13271,10 +13285,15 @@ class Participant extends Emitter {
13271
13285
  }
13272
13286
  }
13273
13287
 
13274
- broadcastStatus(inboundStatus = null) {
13288
+ broadcastStatus(inboundStatus = null, sendReinvite ) {
13275
13289
  const status = inboundStatus || this.getStatus();
13276
13290
  logger$2.info('broadcasting participant status', { callId: this.callId, status });
13277
13291
 
13292
+ if (sendReinvite && !this.streams.length && Phone$1.phone) {
13293
+ // eslint-disable-next-line no-underscore-dangle
13294
+ Phone$1.phone._sendReinviteMessage(this.room.callSession, false);
13295
+ }
13296
+
13278
13297
  this.room.sendSignal({
13279
13298
  type: SIGNAL_TYPE_PARTICIPANT_UPDATE,
13280
13299
  origin: this.callId,
@@ -13917,7 +13936,7 @@ class Room extends Emitter {
13917
13936
  // callId is null, someone's requesting everyone's state;
13918
13937
  // or callId is set and matches ours;
13919
13938
  if (this.localParticipant && (!callId || callId === this.localParticipant.callId)) {
13920
- this.localParticipant.broadcastStatus();
13939
+ this.localParticipant.broadcastStatus(null, true);
13921
13940
  }
13922
13941
 
13923
13942
  // might as well update the requester's status
@@ -14019,7 +14038,7 @@ class Room extends Emitter {
14019
14038
 
14020
14039
  this.connected = true;
14021
14040
 
14022
- localParticipant.broadcastStatus();
14041
+ localParticipant.broadcastStatus(null, true);
14023
14042
 
14024
14043
  // we're in the room, now let's request everyone's status
14025
14044
  if (this.localParticipant) {
@@ -3866,6 +3866,11 @@ var dirdMethods = (client , baseUrl ) => ({
3866
3866
  listPersonalContacts: (queryParams = null) =>
3867
3867
  client.get(`${baseUrl}/personal`, queryParams).then(response => Contact.parseManyPersonal(response.items)),
3868
3868
 
3869
+ fetchPersonalContact: (contactUuid ) =>
3870
+ client
3871
+ .get(`${baseUrl}/personal/${contactUuid}`)
3872
+ .then(Contact.parsePersonal),
3873
+
3869
3874
  addContact: (contact ) =>
3870
3875
  client.post(`${baseUrl}/personal`, getContactPayload(contact)).then(Contact.parsePersonal),
3871
3876
 
@@ -3934,6 +3934,11 @@ var dirdMethods = (client , baseUrl ) => ({
3934
3934
  listPersonalContacts: (queryParams = null) =>
3935
3935
  client.get(`${baseUrl}/personal`, queryParams).then(response => Contact.parseManyPersonal(response.items)),
3936
3936
 
3937
+ fetchPersonalContact: (contactUuid ) =>
3938
+ client
3939
+ .get(`${baseUrl}/personal/${contactUuid}`)
3940
+ .then(Contact.parsePersonal),
3941
+
3937
3942
  addContact: (contact ) =>
3938
3943
  client.post(`${baseUrl}/personal`, getContactPayload(contact)).then(Contact.parsePersonal),
3939
3944
 
@@ -4606,6 +4606,8 @@ class CTIPhone extends Emitter {
4606
4606
  }
4607
4607
 
4608
4608
  useLocalVideoElement() {}
4609
+
4610
+ setMediaConstraints() {}
4609
4611
  }
4610
4612
 
4611
4613
  /* */
@@ -4783,6 +4785,11 @@ var dirdMethods = (client , baseUrl ) => ({
4783
4785
  listPersonalContacts: (queryParams = null) =>
4784
4786
  client.get(`${baseUrl}/personal`, queryParams).then(response => Contact.parseManyPersonal(response.items)),
4785
4787
 
4788
+ fetchPersonalContact: (contactUuid ) =>
4789
+ client
4790
+ .get(`${baseUrl}/personal/${contactUuid}`)
4791
+ .then(Contact.parsePersonal),
4792
+
4786
4793
  addContact: (contact ) =>
4787
4794
  client.post(`${baseUrl}/personal`, getContactPayload(contact)).then(Contact.parsePersonal),
4788
4795
 
@@ -6865,6 +6872,12 @@ class WebRTCClient extends Emitter {
6865
6872
  };
6866
6873
 
6867
6874
  const ua = new UserAgent(webRTCConfiguration);
6875
+ if (ua.transport && ua.transport.connectPromise) {
6876
+ ua.transport.connectPromise.catch((e => {
6877
+ logger$9.warn('Transport connect error', e);
6878
+ }));
6879
+ }
6880
+
6868
6881
  ua.transport.onMessage = (rawMessage ) => {
6869
6882
  const message = Parser.parseMessage(rawMessage, ua.transport.logger);
6870
6883
 
@@ -7086,6 +7099,7 @@ class WebRTCClient extends Emitter {
7086
7099
  conference,
7087
7100
  audioOnly,
7088
7101
  },
7102
+ earlyMedia: true,
7089
7103
  };
7090
7104
 
7091
7105
  if (audioOnly) {
@@ -11961,10 +11975,15 @@ class Participant extends Emitter {
11961
11975
  }
11962
11976
  }
11963
11977
 
11964
- broadcastStatus(inboundStatus = null) {
11978
+ broadcastStatus(inboundStatus = null, sendReinvite ) {
11965
11979
  const status = inboundStatus || this.getStatus();
11966
11980
  logger$4.info('broadcasting participant status', { callId: this.callId, status });
11967
11981
 
11982
+ if (sendReinvite && !this.streams.length && Phone$1.phone) {
11983
+ // eslint-disable-next-line no-underscore-dangle
11984
+ Phone$1.phone._sendReinviteMessage(this.room.callSession, false);
11985
+ }
11986
+
11968
11987
  this.room.sendSignal({
11969
11988
  type: SIGNAL_TYPE_PARTICIPANT_UPDATE,
11970
11989
  origin: this.callId,
@@ -12607,7 +12626,7 @@ class Room$1 extends Emitter {
12607
12626
  // callId is null, someone's requesting everyone's state;
12608
12627
  // or callId is set and matches ours;
12609
12628
  if (this.localParticipant && (!callId || callId === this.localParticipant.callId)) {
12610
- this.localParticipant.broadcastStatus();
12629
+ this.localParticipant.broadcastStatus(null, true);
12611
12630
  }
12612
12631
 
12613
12632
  // might as well update the requester's status
@@ -12709,7 +12728,7 @@ class Room$1 extends Emitter {
12709
12728
 
12710
12729
  this.connected = true;
12711
12730
 
12712
- localParticipant.broadcastStatus();
12731
+ localParticipant.broadcastStatus(null, true);
12713
12732
 
12714
12733
  // we're in the room, now let's request everyone's status
12715
12734
  if (this.localParticipant) {
@@ -4606,6 +4606,8 @@ class CTIPhone extends Emitter {
4606
4606
  }
4607
4607
 
4608
4608
  useLocalVideoElement() {}
4609
+
4610
+ setMediaConstraints() {}
4609
4611
  }
4610
4612
 
4611
4613
  /* */
@@ -4783,6 +4785,11 @@ var dirdMethods = (client , baseUrl ) => ({
4783
4785
  listPersonalContacts: (queryParams = null) =>
4784
4786
  client.get(`${baseUrl}/personal`, queryParams).then(response => Contact.parseManyPersonal(response.items)),
4785
4787
 
4788
+ fetchPersonalContact: (contactUuid ) =>
4789
+ client
4790
+ .get(`${baseUrl}/personal/${contactUuid}`)
4791
+ .then(Contact.parsePersonal),
4792
+
4786
4793
  addContact: (contact ) =>
4787
4794
  client.post(`${baseUrl}/personal`, getContactPayload(contact)).then(Contact.parsePersonal),
4788
4795
 
@@ -6865,6 +6872,12 @@ class WebRTCClient extends Emitter {
6865
6872
  };
6866
6873
 
6867
6874
  const ua = new UserAgent(webRTCConfiguration);
6875
+ if (ua.transport && ua.transport.connectPromise) {
6876
+ ua.transport.connectPromise.catch((e => {
6877
+ logger$9.warn('Transport connect error', e);
6878
+ }));
6879
+ }
6880
+
6868
6881
  ua.transport.onMessage = (rawMessage ) => {
6869
6882
  const message = Parser.parseMessage(rawMessage, ua.transport.logger);
6870
6883
 
@@ -7086,6 +7099,7 @@ class WebRTCClient extends Emitter {
7086
7099
  conference,
7087
7100
  audioOnly,
7088
7101
  },
7102
+ earlyMedia: true,
7089
7103
  };
7090
7104
 
7091
7105
  if (audioOnly) {
@@ -11961,10 +11975,15 @@ class Participant extends Emitter {
11961
11975
  }
11962
11976
  }
11963
11977
 
11964
- broadcastStatus(inboundStatus = null) {
11978
+ broadcastStatus(inboundStatus = null, sendReinvite ) {
11965
11979
  const status = inboundStatus || this.getStatus();
11966
11980
  logger$4.info('broadcasting participant status', { callId: this.callId, status });
11967
11981
 
11982
+ if (sendReinvite && !this.streams.length && Phone$1.phone) {
11983
+ // eslint-disable-next-line no-underscore-dangle
11984
+ Phone$1.phone._sendReinviteMessage(this.room.callSession, false);
11985
+ }
11986
+
11968
11987
  this.room.sendSignal({
11969
11988
  type: SIGNAL_TYPE_PARTICIPANT_UPDATE,
11970
11989
  origin: this.callId,
@@ -12607,7 +12626,7 @@ class Room$1 extends Emitter {
12607
12626
  // callId is null, someone's requesting everyone's state;
12608
12627
  // or callId is set and matches ours;
12609
12628
  if (this.localParticipant && (!callId || callId === this.localParticipant.callId)) {
12610
- this.localParticipant.broadcastStatus();
12629
+ this.localParticipant.broadcastStatus(null, true);
12611
12630
  }
12612
12631
 
12613
12632
  // might as well update the requester's status
@@ -12709,7 +12728,7 @@ class Room$1 extends Emitter {
12709
12728
 
12710
12729
  this.connected = true;
12711
12730
 
12712
- localParticipant.broadcastStatus();
12731
+ localParticipant.broadcastStatus(null, true);
12713
12732
 
12714
12733
  // we're in the room, now let's request everyone's status
12715
12734
  if (this.localParticipant) {
@@ -3934,6 +3934,11 @@ var dirdMethods = (client , baseUrl ) => ({
3934
3934
  listPersonalContacts: (queryParams = null) =>
3935
3935
  client.get(`${baseUrl}/personal`, queryParams).then(response => Contact.parseManyPersonal(response.items)),
3936
3936
 
3937
+ fetchPersonalContact: (contactUuid ) =>
3938
+ client
3939
+ .get(`${baseUrl}/personal/${contactUuid}`)
3940
+ .then(Contact.parsePersonal),
3941
+
3937
3942
  addContact: (contact ) =>
3938
3943
  client.post(`${baseUrl}/personal`, getContactPayload(contact)).then(Contact.parsePersonal),
3939
3944
 
@@ -4606,6 +4606,8 @@ class CTIPhone extends Emitter {
4606
4606
  }
4607
4607
 
4608
4608
  useLocalVideoElement() {}
4609
+
4610
+ setMediaConstraints() {}
4609
4611
  }
4610
4612
 
4611
4613
  /* */
@@ -4783,6 +4785,11 @@ var dirdMethods = (client , baseUrl ) => ({
4783
4785
  listPersonalContacts: (queryParams = null) =>
4784
4786
  client.get(`${baseUrl}/personal`, queryParams).then(response => Contact.parseManyPersonal(response.items)),
4785
4787
 
4788
+ fetchPersonalContact: (contactUuid ) =>
4789
+ client
4790
+ .get(`${baseUrl}/personal/${contactUuid}`)
4791
+ .then(Contact.parsePersonal),
4792
+
4786
4793
  addContact: (contact ) =>
4787
4794
  client.post(`${baseUrl}/personal`, getContactPayload(contact)).then(Contact.parsePersonal),
4788
4795
 
@@ -6865,6 +6872,12 @@ class WebRTCClient extends Emitter {
6865
6872
  };
6866
6873
 
6867
6874
  const ua = new UserAgent(webRTCConfiguration);
6875
+ if (ua.transport && ua.transport.connectPromise) {
6876
+ ua.transport.connectPromise.catch((e => {
6877
+ logger$9.warn('Transport connect error', e);
6878
+ }));
6879
+ }
6880
+
6868
6881
  ua.transport.onMessage = (rawMessage ) => {
6869
6882
  const message = Parser.parseMessage(rawMessage, ua.transport.logger);
6870
6883
 
@@ -7086,6 +7099,7 @@ class WebRTCClient extends Emitter {
7086
7099
  conference,
7087
7100
  audioOnly,
7088
7101
  },
7102
+ earlyMedia: true,
7089
7103
  };
7090
7104
 
7091
7105
  if (audioOnly) {
@@ -11874,10 +11888,15 @@ class Participant extends Emitter {
11874
11888
  }
11875
11889
  }
11876
11890
 
11877
- broadcastStatus(inboundStatus = null) {
11891
+ broadcastStatus(inboundStatus = null, sendReinvite ) {
11878
11892
  const status = inboundStatus || this.getStatus();
11879
11893
  logger$4.info('broadcasting participant status', { callId: this.callId, status });
11880
11894
 
11895
+ if (sendReinvite && !this.streams.length && Phone$1.phone) {
11896
+ // eslint-disable-next-line no-underscore-dangle
11897
+ Phone$1.phone._sendReinviteMessage(this.room.callSession, false);
11898
+ }
11899
+
11881
11900
  this.room.sendSignal({
11882
11901
  type: SIGNAL_TYPE_PARTICIPANT_UPDATE,
11883
11902
  origin: this.callId,
@@ -12520,7 +12539,7 @@ class Room$1 extends Emitter {
12520
12539
  // callId is null, someone's requesting everyone's state;
12521
12540
  // or callId is set and matches ours;
12522
12541
  if (this.localParticipant && (!callId || callId === this.localParticipant.callId)) {
12523
- this.localParticipant.broadcastStatus();
12542
+ this.localParticipant.broadcastStatus(null, true);
12524
12543
  }
12525
12544
 
12526
12545
  // might as well update the requester's status
@@ -12622,7 +12641,7 @@ class Room$1 extends Emitter {
12622
12641
 
12623
12642
  this.connected = true;
12624
12643
 
12625
- localParticipant.broadcastStatus();
12644
+ localParticipant.broadcastStatus(null, true);
12626
12645
 
12627
12646
  // we're in the room, now let's request everyone's status
12628
12647
  if (this.localParticipant) {