@wazo/sdk 0.37.18 → 0.37.19

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 (158) hide show
  1. package/dist/wazo-sdk.js +13 -5
  2. package/esm/__tests__/api-client.test.js +9 -5
  3. package/esm/__tests__/web-rtc-client.test.js +10 -6
  4. package/esm/api/agentd.js +2 -2
  5. package/esm/api/amid.js +2 -2
  6. package/esm/api/application.js +2 -2
  7. package/esm/api/auth.js +4 -3
  8. package/esm/api/call-logd.js +4 -4
  9. package/esm/api/calld.js +2 -2
  10. package/esm/api/chatd.js +2 -2
  11. package/esm/api/confd.js +8 -4
  12. package/esm/api/ctid-ng.js +2 -2
  13. package/esm/api/dird.js +2 -2
  14. package/esm/api/webhookd.js +2 -2
  15. package/esm/api-client.js +11 -7
  16. package/esm/checker/Checker.js +11 -7
  17. package/esm/checker/checks/aor.js +11 -7
  18. package/esm/checker/checks/api.js +11 -7
  19. package/esm/checker/checks/ice-ipv4.js +1 -1
  20. package/esm/checker/checks/index.js +12 -8
  21. package/esm/checker/checks/symmetric-nat.js +1 -1
  22. package/esm/checker/checks/wazo-websocket.js +2 -2
  23. package/esm/checker/checks/webrtc-transport.js +12 -8
  24. package/esm/checker/checks/webrtc.js +12 -8
  25. package/esm/domain/AdHocAPIConference.js +11 -7
  26. package/esm/domain/Agent.js +1 -1
  27. package/esm/domain/BadResponse.js +1 -1
  28. package/esm/domain/Call.js +1 -1
  29. package/esm/domain/CallLog.js +3 -3
  30. package/esm/domain/CallSession.js +1 -1
  31. package/esm/domain/ChatMessage.js +1 -1
  32. package/esm/domain/ChatRoom.js +1 -1
  33. package/esm/domain/Contact.js +2 -1
  34. package/esm/domain/Country.js +1 -1
  35. package/esm/domain/Device/DebugDevice.js +1 -1
  36. package/esm/domain/ExternalApp.js +1 -1
  37. package/esm/domain/Features.js +11 -6
  38. package/esm/domain/ForwardOption.js +2 -1
  39. package/esm/domain/IndirectTransfer.js +1 -1
  40. package/esm/domain/Line.js +1 -1
  41. package/esm/domain/Meeting.js +7 -3
  42. package/esm/domain/NotificationOptions.js +1 -1
  43. package/esm/domain/Phone/CTIPhone.js +12 -7
  44. package/esm/domain/Phone/WebRTCPhone.js +3 -2
  45. package/esm/domain/Profile.js +2 -1
  46. package/esm/domain/Recording.js +2 -2
  47. package/esm/domain/Relocation.js +1 -1
  48. package/esm/domain/Room.js +1 -1
  49. package/esm/domain/ServerError.js +1 -1
  50. package/esm/domain/Session.js +2 -2
  51. package/esm/domain/SipLine.js +1 -1
  52. package/esm/domain/Subscription.js +1 -1
  53. package/esm/domain/SwitchboardCall.js +1 -1
  54. package/esm/domain/Voicemail.js +1 -1
  55. package/esm/domain/__tests__/CallLog.test.js +2 -2
  56. package/esm/index.js +12 -8
  57. package/esm/lib/WazoSessionDescriptionHandler.js +3 -2
  58. package/esm/service/CallApi.js +11 -7
  59. package/esm/service/IssueReporter.js +2 -2
  60. package/esm/service/__tests__/IssueReporter.test.js +1 -1
  61. package/esm/service/getApiClient.js +12 -7
  62. package/esm/simple/Auth.js +12 -7
  63. package/esm/simple/Configuration.js +11 -7
  64. package/esm/simple/Directory.js +10 -6
  65. package/esm/simple/Phone.js +11 -7
  66. package/esm/simple/Websocket.js +2 -2
  67. package/esm/simple/index.js +11 -7
  68. package/esm/simple/room/LocalParticipant.js +24 -24
  69. package/esm/simple/room/Participant.js +23 -21
  70. package/esm/simple/room/RemoteParticipant.js +25 -25
  71. package/esm/simple/room/Room.js +24 -21
  72. package/esm/simple/room/SipRoom.js +12 -10
  73. package/esm/simple/room/Stream.js +12 -10
  74. package/esm/simple/room/__tests__/RemoteParticipant.test.js +10 -6
  75. package/esm/simple/utils.js +10 -6
  76. package/esm/utils/Emitter.js +1 -1
  77. package/esm/utils/Heartbeat.js +1 -1
  78. package/esm/utils/__tests__/api-requester.test.js +1 -1
  79. package/esm/utils/api-requester.js +3 -2
  80. package/esm/utils/compare-version.js +1 -1
  81. package/esm/utils/isMobile.js +1 -1
  82. package/esm/utils/new-from.js +1 -1
  83. package/esm/utils/once.js +1 -1
  84. package/esm/utils/update-from.js +1 -1
  85. package/esm/web-rtc-client.js +13 -8
  86. package/esm/websocket-client.js +3 -2
  87. package/lib/__tests__/api-client.test.js +18 -14
  88. package/lib/__tests__/web-rtc-client.test.js +27 -23
  89. package/lib/api/agentd.js +2 -2
  90. package/lib/api/amid.js +2 -2
  91. package/lib/api/application.js +2 -2
  92. package/lib/api/auth.js +3 -3
  93. package/lib/api/call-logd.js +9 -9
  94. package/lib/api/calld.js +5 -5
  95. package/lib/api/chatd.js +3 -3
  96. package/lib/api/confd.js +8 -4
  97. package/lib/api/ctid-ng.js +5 -5
  98. package/lib/api/dird.js +2 -2
  99. package/lib/api/webhookd.js +2 -2
  100. package/lib/api-client.js +18 -14
  101. package/lib/checker/Checker.js +28 -24
  102. package/lib/checker/checks/aor.js +18 -14
  103. package/lib/checker/checks/api.js +18 -14
  104. package/lib/checker/checks/index.js +28 -24
  105. package/lib/checker/checks/wazo-websocket.js +4 -4
  106. package/lib/checker/checks/webrtc-transport.js +27 -23
  107. package/lib/checker/checks/webrtc.js +27 -23
  108. package/lib/domain/AdHocAPIConference.js +18 -14
  109. package/lib/domain/Call.js +1 -1
  110. package/lib/domain/CallLog.js +7 -7
  111. package/lib/domain/ChatMessage.js +1 -1
  112. package/lib/domain/Contact.js +1 -1
  113. package/lib/domain/Features.js +19 -15
  114. package/lib/domain/ForwardOption.js +1 -1
  115. package/lib/domain/Meeting.js +6 -2
  116. package/lib/domain/Phone/CTIPhone.js +20 -16
  117. package/lib/domain/Phone/WebRTCPhone.js +4 -4
  118. package/lib/domain/Profile.js +1 -1
  119. package/lib/domain/Recording.js +3 -3
  120. package/lib/domain/Voicemail.js +1 -1
  121. package/lib/domain/__tests__/Call.test.js +1 -1
  122. package/lib/domain/__tests__/CallLog.test.js +13 -13
  123. package/lib/domain/__tests__/Voicemail.test.js +1 -1
  124. package/lib/index.js +31 -27
  125. package/lib/lib/WazoSessionDescriptionHandler.js +7 -7
  126. package/lib/service/CallApi.js +18 -14
  127. package/lib/service/IssueReporter.js +2 -2
  128. package/lib/service/__tests__/IssueReporter.test.js +2 -2
  129. package/lib/service/getApiClient.js +19 -15
  130. package/lib/simple/Auth.js +30 -26
  131. package/lib/simple/Configuration.js +29 -25
  132. package/lib/simple/Directory.js +18 -14
  133. package/lib/simple/Phone.js +29 -25
  134. package/lib/simple/Websocket.js +4 -4
  135. package/lib/simple/index.js +29 -25
  136. package/lib/simple/room/LocalParticipant.js +43 -43
  137. package/lib/simple/room/Participant.js +41 -39
  138. package/lib/simple/room/RemoteParticipant.js +44 -44
  139. package/lib/simple/room/Room.js +42 -40
  140. package/lib/simple/room/SipRoom.js +31 -29
  141. package/lib/simple/room/Stream.js +31 -29
  142. package/lib/simple/room/__tests__/RemoteParticipant.test.js +29 -25
  143. package/lib/simple/utils.js +29 -25
  144. package/lib/utils/Emitter.js +1 -1
  145. package/lib/utils/PhoneNumberUtil.js +2 -2
  146. package/lib/utils/__tests__/PhoneNumberUtil.test.js +2 -2
  147. package/lib/utils/__tests__/api-requester.test.js +2 -2
  148. package/lib/utils/__tests__/sdp.test.js +12 -12
  149. package/lib/utils/api-requester.js +3 -3
  150. package/lib/utils/sdp.js +10 -10
  151. package/lib/web-rtc-client.js +28 -24
  152. package/lib/websocket-client.js +5 -5
  153. package/package.json +1 -1
  154. package/src/domain/CallLog.js +1 -1
  155. package/src/domain/Meeting.js +6 -2
  156. package/src/domain/Recording.js +1 -1
  157. package/src/service/IssueReporter.js +1 -1
  158. package/src/web-rtc-client.js +1 -1
@@ -122,7 +122,7 @@ class Call {
122
122
  onHold: plain.on_hold,
123
123
  status: plain.status,
124
124
  lineId: plain.line_id,
125
- startingTime: moment__default["default"](plain.creation_time).toDate(),
125
+ startingTime: moment__default['default'](plain.creation_time).toDate(),
126
126
  talkingToIds: Object.keys(plain.talking_to || {}),
127
127
  recording: plain.record_state === RECORD_STATE_ACTIVE,
128
128
  });
@@ -796,7 +796,7 @@ class IssueReporter {
796
796
  args.splice(1, 1);
797
797
  }
798
798
 
799
- const date = moment__default["default"]().format('YYYY-MM-DD HH:mm:ss.SSS');
799
+ const date = moment__default['default']().format('YYYY-MM-DD HH:mm:ss.SSS');
800
800
  const message = args.join(', ');
801
801
  let consoleMessage = message;
802
802
 
@@ -973,7 +973,7 @@ class IssueReporter {
973
973
  payload._retry = retry + 1;
974
974
  }
975
975
 
976
- this._sendDebugToGrafana(body, retry + 1);
976
+ this._sendDebugToGrafana(payload, retry + 1);
977
977
  }, 5000 + retry * 1000);
978
978
  });
979
979
  }
@@ -3165,7 +3165,8 @@ class ExternalApp {
3165
3165
 
3166
3166
 
3167
3167
 
3168
-
3168
+
3169
+
3169
3170
 
3170
3171
 
3171
3172
  class Meeting {
@@ -3177,6 +3178,7 @@ class Meeting {
3177
3178
 
3178
3179
 
3179
3180
 
3181
+
3180
3182
 
3181
3183
 
3182
3184
  static parse(plain ) {
@@ -3188,6 +3190,7 @@ class Meeting {
3188
3190
  port: plain.port,
3189
3191
  uuid: plain.uuid,
3190
3192
  number: plain.number,
3193
+ persistent: plain.persistent,
3191
3194
  });
3192
3195
  }
3193
3196
 
@@ -3195,7 +3198,7 @@ class Meeting {
3195
3198
  return newFrom(meeting, Meeting);
3196
3199
  }
3197
3200
 
3198
- constructor({ uuid, name, guestSipAuthorization, ownerUuids, port, uri, number } = {}) {
3201
+ constructor({ uuid, name, guestSipAuthorization, ownerUuids, port, uri, number, persistent } = {}) {
3199
3202
  this.guestSipAuthorization = guestSipAuthorization;
3200
3203
  this.uri = uri;
3201
3204
  this.name = name;
@@ -3203,6 +3206,7 @@ class Meeting {
3203
3206
  this.port = port;
3204
3207
  this.uuid = uuid;
3205
3208
  this.number = number;
3209
+ this.persistent = persistent;
3206
3210
 
3207
3211
  // Useful to compare instead of instanceof with minified code
3208
3212
  this.type = 'Meeting';
@@ -3383,7 +3387,7 @@ class ChatMessage {
3383
3387
  static parse(plain ) {
3384
3388
  return new ChatMessage({
3385
3389
  uuid: plain.uuid,
3386
- date: moment__default["default"](plain.created_at).toDate(),
3390
+ date: moment__default['default'](plain.created_at).toDate(),
3387
3391
  content: plain.content,
3388
3392
  alias: plain.alias,
3389
3393
  userUuid: plain.user_uuid,
@@ -3475,7 +3479,7 @@ class Voicemail {
3475
3479
  static parse(plain ) {
3476
3480
  return new Voicemail({
3477
3481
  id: plain.id,
3478
- date: moment__default["default"](plain.timestamp * 1000).toDate(),
3482
+ date: moment__default['default'](plain.timestamp * 1000).toDate(),
3479
3483
  duration: plain.duration * 1000,
3480
3484
  caller: {
3481
3485
  name: plain.caller_id_name,
@@ -3541,7 +3545,7 @@ class Emitter {
3541
3545
 
3542
3546
 
3543
3547
  constructor() {
3544
- this.eventEmitter = new EventEmitter__default["default"]();
3548
+ this.eventEmitter = new EventEmitter__default['default']();
3545
3549
  }
3546
3550
 
3547
3551
  on(event , callback ) {
@@ -3586,7 +3590,7 @@ class Recording {
3586
3590
 
3587
3591
 
3588
3592
 
3589
- static parseMany(recordings ) {
3593
+ static parseMany(recordings = []) {
3590
3594
  return recordings.map(item => Recording.parse(item));
3591
3595
  }
3592
3596
 
@@ -3594,8 +3598,8 @@ class Recording {
3594
3598
  return new Recording({
3595
3599
  deleted: plain.deleted,
3596
3600
  fileName: plain.filename,
3597
- end: plain.end_time ? moment__default["default"](plain.end_time).toDate() : null,
3598
- start: moment__default["default"](plain.start_time).toDate(),
3601
+ end: plain.end_time ? moment__default['default'](plain.end_time).toDate() : null,
3602
+ start: moment__default['default'](plain.start_time).toDate(),
3599
3603
  uuid: plain.uuid,
3600
3604
  });
3601
3605
  }
@@ -3693,7 +3697,7 @@ class CallLog {
3693
3697
 
3694
3698
  static parse(plain ) {
3695
3699
  return new CallLog({
3696
- answer: plain.answer ? moment__default["default"](plain.answer).toDate() : null,
3700
+ answer: plain.answer ? moment__default['default'](plain.answer).toDate() : null,
3697
3701
  answered: plain.answered,
3698
3702
  callDirection: plain.call_direction,
3699
3703
  destination: {
@@ -3710,9 +3714,9 @@ class CallLog {
3710
3714
  },
3711
3715
  id: plain.id,
3712
3716
  duration: (plain.duration || 0) * 1000, // duration is in seconds
3713
- start: moment__default["default"](plain.start).toDate(),
3714
- end: plain.end ? moment__default["default"](plain.end).toDate() : null,
3715
- recordings: Recording.parseMany(plain.recordings),
3717
+ start: moment__default['default'](plain.start).toDate(),
3718
+ end: plain.end ? moment__default['default'](plain.end).toDate() : null,
3719
+ recordings: Recording.parseMany(plain.recordings || []),
3716
3720
  });
3717
3721
  }
3718
3722
 
@@ -5622,7 +5626,7 @@ const parseCandidate$1 = (candidate ) => {
5622
5626
  if (!candidate) {
5623
5627
  return null;
5624
5628
  }
5625
- const result = sdpParser__default["default"].parse(candidate.indexOf('a=') === 0 ? candidate : `a=${candidate}`);
5629
+ const result = sdpParser__default['default'].parse(candidate.indexOf('a=') === 0 ? candidate : `a=${candidate}`);
5626
5630
 
5627
5631
  return result.candidates ? result.candidates[0] : null;
5628
5632
  };
@@ -5636,7 +5640,7 @@ const areCandidateValid = (candidates ) =>
5636
5640
  .length > 0;
5637
5641
 
5638
5642
  const getVideoDirection = (sdp ) => {
5639
- const parsedSdp = sdpParser__default["default"].parse(sdp);
5643
+ const parsedSdp = sdpParser__default['default'].parse(sdp);
5640
5644
  const videoMedia = parsedSdp.media.find(media => media.type === 'video');
5641
5645
  if (!videoMedia) {
5642
5646
  return null;
@@ -5650,14 +5654,14 @@ const hasAnActiveVideo = (sdp ) => {
5650
5654
  return false;
5651
5655
  }
5652
5656
 
5653
- const parsedSdp = sdpParser__default["default"].parse(sdp);
5657
+ const parsedSdp = sdpParser__default['default'].parse(sdp);
5654
5658
 
5655
5659
  return !!parsedSdp.media.find(media =>
5656
5660
  media.type === 'video' && media.port > 10 && (!media.direction || media.direction !== 'inactive'));
5657
5661
  };
5658
5662
 
5659
5663
  const fixSdp = (sdp , candidates , forcePort = true) => {
5660
- const parsedSdp = sdpParser__default["default"].parse(sdp);
5664
+ const parsedSdp = sdpParser__default['default'].parse(sdp);
5661
5665
  const mainCandidate = getSrflxOrRelay(candidates)[0];
5662
5666
  const ip = mainCandidate ? mainCandidate.ip : null;
5663
5667
 
@@ -5675,7 +5679,7 @@ const fixSdp = (sdp , candidates , forcePort = true)
5675
5679
  };
5676
5680
  });
5677
5681
 
5678
- let fixed = sdpParser__default["default"].write(parsedSdp);
5682
+ let fixed = sdpParser__default['default'].write(parsedSdp);
5679
5683
 
5680
5684
  if (ip) {
5681
5685
  fixed = fixed.replace(/IN IP4 0.0.0.0/g, `IN IP4 ${ip}`);
@@ -5721,7 +5725,7 @@ class WazoSessionDescriptionHandler extends sessionDescriptionHandler.SessionDes
5721
5725
  ) {
5722
5726
  super(logger, mediaStreamFactory, sessionDescriptionHandlerConfiguration);
5723
5727
 
5724
- this.eventEmitter = new EventEmitter__default["default"]();
5728
+ this.eventEmitter = new EventEmitter__default['default']();
5725
5729
  this.isWeb = isWeb;
5726
5730
  this.session = session;
5727
5731
  }
@@ -7038,7 +7042,7 @@ class WebRTCClient extends Emitter {
7038
7042
  // We search for the last transceiver without `video-` in the mid (video- means remote transceiver)
7039
7043
  const transceivers = pc.getTransceivers();
7040
7044
  const transceiverIdx = lastIndexOf(transceivers, transceiver =>
7041
- transceiver.sender.track === null && transceiver.mid.indexOf('video') === -1);
7045
+ transceiver.sender.track === null && transceiver.mid && transceiver.mid.indexOf('video') === -1);
7042
7046
 
7043
7047
  videoSender = transceiverIdx !== -1 ? transceivers[transceiverIdx].sender : null;
7044
7048
  } else {
@@ -8243,7 +8247,7 @@ class WebRTCClient extends Emitter {
8243
8247
  }
8244
8248
  const sessionId = this.getSipSessionId(session);
8245
8249
 
8246
- getStats__default["default"](pc, (result ) => {
8250
+ getStats__default['default'](pc, (result ) => {
8247
8251
  const { results, internal, nomore, ...stats } = result;
8248
8252
  this.statsIntervals[sessionId] = nomore;
8249
8253
 
@@ -10484,7 +10488,7 @@ class WebSocketClient extends Emitter {
10484
10488
 
10485
10489
  connect() {
10486
10490
  logger$6.info('connect method started', { host: this.host, token: this.token });
10487
- this.socket = new ReconnectingWebSocket__default["default"](this._getUrl.bind(this), [], this.options);
10491
+ this.socket = new ReconnectingWebSocket__default['default'](this._getUrl.bind(this), [], this.options);
10488
10492
  if (this.options.binaryType) {
10489
10493
  this.socket.binaryType = this.options.binaryType;
10490
10494
  }
@@ -11737,7 +11741,7 @@ class Room$1 extends Emitter {
11737
11741
  }
11738
11742
 
11739
11743
  _mapMsid(rawSdp ) {
11740
- const sdp = sdpParser__default["default"].parse(rawSdp);
11744
+ const sdp = sdpParser__default['default'].parse(rawSdp);
11741
11745
  const labelMsidArray = sdp.media.filter(media => !!media.label).map(({ label, msid }) => ({
11742
11746
  label: String(label),
11743
11747
  streamId: msid.split(' ')[0],
@@ -17,7 +17,7 @@ class Emitter {
17
17
 
18
18
 
19
19
  constructor() {
20
- this.eventEmitter = new EventEmitter__default["default"]();
20
+ this.eventEmitter = new EventEmitter__default['default']();
21
21
  }
22
22
 
23
23
  on(event , callback ) {
@@ -204,7 +204,7 @@ class IssueReporter {
204
204
  args.splice(1, 1);
205
205
  }
206
206
 
207
- const date = moment__default["default"]().format('YYYY-MM-DD HH:mm:ss.SSS');
207
+ const date = moment__default['default']().format('YYYY-MM-DD HH:mm:ss.SSS');
208
208
  const message = args.join(', ');
209
209
  let consoleMessage = message;
210
210
 
@@ -381,7 +381,7 @@ class IssueReporter {
381
381
  payload._retry = retry + 1;
382
382
  }
383
383
 
384
- this._sendDebugToGrafana(body, retry + 1);
384
+ this._sendDebugToGrafana(payload, retry + 1);
385
385
  }, 5000 + retry * 1000);
386
386
  });
387
387
  }
@@ -645,7 +645,7 @@ class WebSocketClient extends Emitter {
645
645
 
646
646
  connect() {
647
647
  logger$1.info('connect method started', { host: this.host, token: this.token });
648
- this.socket = new ReconnectingWebSocket__default["default"](this._getUrl.bind(this), [], this.options);
648
+ this.socket = new ReconnectingWebSocket__default['default'](this._getUrl.bind(this), [], this.options);
649
649
  if (this.options.binaryType) {
650
650
  this.socket.binaryType = this.options.binaryType;
651
651
  }
@@ -1719,7 +1719,7 @@ class IssueReporter {
1719
1719
  args.splice(1, 1);
1720
1720
  }
1721
1721
 
1722
- const date = moment__default["default"]().format('YYYY-MM-DD HH:mm:ss.SSS');
1722
+ const date = moment__default['default']().format('YYYY-MM-DD HH:mm:ss.SSS');
1723
1723
  const message = args.join(', ');
1724
1724
  let consoleMessage = message;
1725
1725
 
@@ -1896,7 +1896,7 @@ class IssueReporter {
1896
1896
  payload._retry = retry + 1;
1897
1897
  }
1898
1898
 
1899
- this._sendDebugToGrafana(body, retry + 1);
1899
+ this._sendDebugToGrafana(payload, retry + 1);
1900
1900
  }, 5000 + retry * 1000);
1901
1901
  });
1902
1902
  }
@@ -2614,7 +2614,8 @@ class ExternalApp {
2614
2614
 
2615
2615
 
2616
2616
 
2617
-
2617
+
2618
+
2618
2619
 
2619
2620
 
2620
2621
  class Meeting {
@@ -2626,6 +2627,7 @@ class Meeting {
2626
2627
 
2627
2628
 
2628
2629
 
2630
+
2629
2631
 
2630
2632
 
2631
2633
  static parse(plain ) {
@@ -2637,6 +2639,7 @@ class Meeting {
2637
2639
  port: plain.port,
2638
2640
  uuid: plain.uuid,
2639
2641
  number: plain.number,
2642
+ persistent: plain.persistent,
2640
2643
  });
2641
2644
  }
2642
2645
 
@@ -2644,7 +2647,7 @@ class Meeting {
2644
2647
  return newFrom(meeting, Meeting);
2645
2648
  }
2646
2649
 
2647
- constructor({ uuid, name, guestSipAuthorization, ownerUuids, port, uri, number } = {}) {
2650
+ constructor({ uuid, name, guestSipAuthorization, ownerUuids, port, uri, number, persistent } = {}) {
2648
2651
  this.guestSipAuthorization = guestSipAuthorization;
2649
2652
  this.uri = uri;
2650
2653
  this.name = name;
@@ -2652,6 +2655,7 @@ class Meeting {
2652
2655
  this.port = port;
2653
2656
  this.uuid = uuid;
2654
2657
  this.number = number;
2658
+ this.persistent = persistent;
2655
2659
 
2656
2660
  // Useful to compare instead of instanceof with minified code
2657
2661
  this.type = 'Meeting';
@@ -2832,7 +2836,7 @@ class ChatMessage {
2832
2836
  static parse(plain ) {
2833
2837
  return new ChatMessage({
2834
2838
  uuid: plain.uuid,
2835
- date: moment__default["default"](plain.created_at).toDate(),
2839
+ date: moment__default['default'](plain.created_at).toDate(),
2836
2840
  content: plain.content,
2837
2841
  alias: plain.alias,
2838
2842
  userUuid: plain.user_uuid,
@@ -2924,7 +2928,7 @@ class Voicemail {
2924
2928
  static parse(plain ) {
2925
2929
  return new Voicemail({
2926
2930
  id: plain.id,
2927
- date: moment__default["default"](plain.timestamp * 1000).toDate(),
2931
+ date: moment__default['default'](plain.timestamp * 1000).toDate(),
2928
2932
  duration: plain.duration * 1000,
2929
2933
  caller: {
2930
2934
  name: plain.caller_id_name,
@@ -3061,7 +3065,7 @@ class Call {
3061
3065
  onHold: plain.on_hold,
3062
3066
  status: plain.status,
3063
3067
  lineId: plain.line_id,
3064
- startingTime: moment__default["default"](plain.creation_time).toDate(),
3068
+ startingTime: moment__default['default'](plain.creation_time).toDate(),
3065
3069
  talkingToIds: Object.keys(plain.talking_to || {}),
3066
3070
  recording: plain.record_state === RECORD_STATE_ACTIVE,
3067
3071
  });
@@ -3541,7 +3545,7 @@ class Emitter {
3541
3545
 
3542
3546
 
3543
3547
  constructor() {
3544
- this.eventEmitter = new EventEmitter__default["default"]();
3548
+ this.eventEmitter = new EventEmitter__default['default']();
3545
3549
  }
3546
3550
 
3547
3551
  on(event , callback ) {
@@ -3586,7 +3590,7 @@ class Recording {
3586
3590
 
3587
3591
 
3588
3592
 
3589
- static parseMany(recordings ) {
3593
+ static parseMany(recordings = []) {
3590
3594
  return recordings.map(item => Recording.parse(item));
3591
3595
  }
3592
3596
 
@@ -3594,8 +3598,8 @@ class Recording {
3594
3598
  return new Recording({
3595
3599
  deleted: plain.deleted,
3596
3600
  fileName: plain.filename,
3597
- end: plain.end_time ? moment__default["default"](plain.end_time).toDate() : null,
3598
- start: moment__default["default"](plain.start_time).toDate(),
3601
+ end: plain.end_time ? moment__default['default'](plain.end_time).toDate() : null,
3602
+ start: moment__default['default'](plain.start_time).toDate(),
3599
3603
  uuid: plain.uuid,
3600
3604
  });
3601
3605
  }
@@ -3693,7 +3697,7 @@ class CallLog {
3693
3697
 
3694
3698
  static parse(plain ) {
3695
3699
  return new CallLog({
3696
- answer: plain.answer ? moment__default["default"](plain.answer).toDate() : null,
3700
+ answer: plain.answer ? moment__default['default'](plain.answer).toDate() : null,
3697
3701
  answered: plain.answered,
3698
3702
  callDirection: plain.call_direction,
3699
3703
  destination: {
@@ -3710,9 +3714,9 @@ class CallLog {
3710
3714
  },
3711
3715
  id: plain.id,
3712
3716
  duration: (plain.duration || 0) * 1000, // duration is in seconds
3713
- start: moment__default["default"](plain.start).toDate(),
3714
- end: plain.end ? moment__default["default"](plain.end).toDate() : null,
3715
- recordings: Recording.parseMany(plain.recordings),
3717
+ start: moment__default['default'](plain.start).toDate(),
3718
+ end: plain.end ? moment__default['default'](plain.end).toDate() : null,
3719
+ recordings: Recording.parseMany(plain.recordings || []),
3716
3720
  });
3717
3721
  }
3718
3722
 
@@ -5886,7 +5890,7 @@ const parseCandidate$1 = (candidate ) => {
5886
5890
  if (!candidate) {
5887
5891
  return null;
5888
5892
  }
5889
- const result = sdpParser__default["default"].parse(candidate.indexOf('a=') === 0 ? candidate : `a=${candidate}`);
5893
+ const result = sdpParser__default['default'].parse(candidate.indexOf('a=') === 0 ? candidate : `a=${candidate}`);
5890
5894
 
5891
5895
  return result.candidates ? result.candidates[0] : null;
5892
5896
  };
@@ -5900,7 +5904,7 @@ const areCandidateValid = (candidates ) =>
5900
5904
  .length > 0;
5901
5905
 
5902
5906
  const getVideoDirection = (sdp ) => {
5903
- const parsedSdp = sdpParser__default["default"].parse(sdp);
5907
+ const parsedSdp = sdpParser__default['default'].parse(sdp);
5904
5908
  const videoMedia = parsedSdp.media.find(media => media.type === 'video');
5905
5909
  if (!videoMedia) {
5906
5910
  return null;
@@ -5914,14 +5918,14 @@ const hasAnActiveVideo = (sdp ) => {
5914
5918
  return false;
5915
5919
  }
5916
5920
 
5917
- const parsedSdp = sdpParser__default["default"].parse(sdp);
5921
+ const parsedSdp = sdpParser__default['default'].parse(sdp);
5918
5922
 
5919
5923
  return !!parsedSdp.media.find(media =>
5920
5924
  media.type === 'video' && media.port > 10 && (!media.direction || media.direction !== 'inactive'));
5921
5925
  };
5922
5926
 
5923
5927
  const fixSdp = (sdp , candidates , forcePort = true) => {
5924
- const parsedSdp = sdpParser__default["default"].parse(sdp);
5928
+ const parsedSdp = sdpParser__default['default'].parse(sdp);
5925
5929
  const mainCandidate = getSrflxOrRelay(candidates)[0];
5926
5930
  const ip = mainCandidate ? mainCandidate.ip : null;
5927
5931
 
@@ -5939,7 +5943,7 @@ const fixSdp = (sdp , candidates , forcePort = true)
5939
5943
  };
5940
5944
  });
5941
5945
 
5942
- let fixed = sdpParser__default["default"].write(parsedSdp);
5946
+ let fixed = sdpParser__default['default'].write(parsedSdp);
5943
5947
 
5944
5948
  if (ip) {
5945
5949
  fixed = fixed.replace(/IN IP4 0.0.0.0/g, `IN IP4 ${ip}`);
@@ -5985,7 +5989,7 @@ class WazoSessionDescriptionHandler extends sessionDescriptionHandler.SessionDes
5985
5989
  ) {
5986
5990
  super(logger, mediaStreamFactory, sessionDescriptionHandlerConfiguration);
5987
5991
 
5988
- this.eventEmitter = new EventEmitter__default["default"]();
5992
+ this.eventEmitter = new EventEmitter__default['default']();
5989
5993
  this.isWeb = isWeb;
5990
5994
  this.session = session;
5991
5995
  }
@@ -7302,7 +7306,7 @@ class WebRTCClient extends Emitter {
7302
7306
  // We search for the last transceiver without `video-` in the mid (video- means remote transceiver)
7303
7307
  const transceivers = pc.getTransceivers();
7304
7308
  const transceiverIdx = lastIndexOf(transceivers, transceiver =>
7305
- transceiver.sender.track === null && transceiver.mid.indexOf('video') === -1);
7309
+ transceiver.sender.track === null && transceiver.mid && transceiver.mid.indexOf('video') === -1);
7306
7310
 
7307
7311
  videoSender = transceiverIdx !== -1 ? transceivers[transceiverIdx].sender : null;
7308
7312
  } else {
@@ -8507,7 +8511,7 @@ class WebRTCClient extends Emitter {
8507
8511
  }
8508
8512
  const sessionId = this.getSipSessionId(session);
8509
8513
 
8510
- getStats__default["default"](pc, (result ) => {
8514
+ getStats__default['default'](pc, (result ) => {
8511
8515
  const { results, internal, nomore, ...stats } = result;
8512
8516
  this.statsIntervals[sessionId] = nomore;
8513
8517
 
@@ -10889,7 +10893,7 @@ class WebSocketClient extends Emitter {
10889
10893
 
10890
10894
  connect() {
10891
10895
  logger$5.info('connect method started', { host: this.host, token: this.token });
10892
- this.socket = new ReconnectingWebSocket__default["default"](this._getUrl.bind(this), [], this.options);
10896
+ this.socket = new ReconnectingWebSocket__default['default'](this._getUrl.bind(this), [], this.options);
10893
10897
  if (this.options.binaryType) {
10894
10898
  this.socket.binaryType = this.options.binaryType;
10895
10899
  }
@@ -12142,7 +12146,7 @@ class Room$1 extends Emitter {
12142
12146
  }
12143
12147
 
12144
12148
  _mapMsid(rawSdp ) {
12145
- const sdp = sdpParser__default["default"].parse(rawSdp);
12149
+ const sdp = sdpParser__default['default'].parse(rawSdp);
12146
12150
  const labelMsidArray = sdp.media.filter(media => !!media.label).map(({ label, msid }) => ({
12147
12151
  label: String(label),
12148
12152
  streamId: msid.split(' ')[0],