@wazo/sdk 1.0.0-alpha.7 → 1.0.0-alpha.9

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 (64) hide show
  1. package/README.md +16 -7
  2. package/dist/wazo-sdk.js +2 -2
  3. package/esm/api/auth.js +3 -0
  4. package/esm/domain/CallLog.js +2 -3
  5. package/esm/domain/Phone/WebRTCPhone.js +29 -27
  6. package/esm/simple/Auth.js +13 -3
  7. package/esm/simple/Phone.js +2 -2
  8. package/esm/state-machine/softphone-state-machine.js +1 -2
  9. package/esm/types/api/auth.d.ts +3 -0
  10. package/esm/types/api/auth.d.ts.map +1 -1
  11. package/esm/types/domain/CallLog.d.ts.map +1 -1
  12. package/esm/types/domain/Phone/WebRTCPhone.d.ts +3 -3
  13. package/esm/types/domain/Phone/WebRTCPhone.d.ts.map +1 -1
  14. package/esm/types/simple/Auth.d.ts +6 -1
  15. package/esm/types/simple/Auth.d.ts.map +1 -1
  16. package/esm/types/simple/Phone.d.ts +2 -2
  17. package/esm/types/simple/Phone.d.ts.map +1 -1
  18. package/esm/types/state-machine/softphone-state-machine.d.ts +0 -1
  19. package/esm/types/state-machine/softphone-state-machine.d.ts.map +1 -1
  20. package/esm/types/utils/sdp.d.ts.map +1 -1
  21. package/esm/types/voice/call.d.ts.map +1 -1
  22. package/esm/types/voice/softphone.d.ts.map +1 -1
  23. package/esm/types/web-rtc-client.d.ts +2 -1
  24. package/esm/types/web-rtc-client.d.ts.map +1 -1
  25. package/esm/utils/sdp.js +8 -7
  26. package/esm/voice/call.js +3 -2
  27. package/esm/voice/softphone.js +23 -6
  28. package/esm/web-rtc-client.js +31 -30
  29. package/lib/api/auth.js +3 -0
  30. package/lib/domain/CallLog.js +2 -3
  31. package/lib/domain/Phone/WebRTCPhone.js +29 -27
  32. package/lib/simple/Auth.js +15 -3
  33. package/lib/state-machine/softphone-state-machine.js +1 -2
  34. package/lib/types/api/auth.d.ts +3 -0
  35. package/lib/types/api/auth.d.ts.map +1 -1
  36. package/lib/types/domain/CallLog.d.ts.map +1 -1
  37. package/lib/types/domain/Phone/WebRTCPhone.d.ts +3 -3
  38. package/lib/types/domain/Phone/WebRTCPhone.d.ts.map +1 -1
  39. package/lib/types/simple/Auth.d.ts +6 -1
  40. package/lib/types/simple/Auth.d.ts.map +1 -1
  41. package/lib/types/simple/Phone.d.ts +2 -2
  42. package/lib/types/simple/Phone.d.ts.map +1 -1
  43. package/lib/types/state-machine/softphone-state-machine.d.ts +0 -1
  44. package/lib/types/state-machine/softphone-state-machine.d.ts.map +1 -1
  45. package/lib/types/utils/sdp.d.ts.map +1 -1
  46. package/lib/types/voice/call.d.ts.map +1 -1
  47. package/lib/types/voice/softphone.d.ts.map +1 -1
  48. package/lib/types/web-rtc-client.d.ts +2 -1
  49. package/lib/types/web-rtc-client.d.ts.map +1 -1
  50. package/lib/utils/sdp.js +7 -6
  51. package/lib/voice/call.js +3 -2
  52. package/lib/voice/softphone.js +24 -6
  53. package/lib/web-rtc-client.js +29 -29
  54. package/package.json +1 -1
  55. package/src/api/auth.ts +5 -0
  56. package/src/domain/CallLog.ts +2 -3
  57. package/src/domain/Phone/WebRTCPhone.ts +33 -31
  58. package/src/simple/Auth.ts +15 -3
  59. package/src/simple/Phone.ts +3 -3
  60. package/src/state-machine/softphone-state-machine.ts +1 -2
  61. package/src/utils/sdp.ts +9 -8
  62. package/src/voice/call.ts +4 -3
  63. package/src/voice/softphone.ts +30 -7
  64. package/src/web-rtc-client.ts +34 -29
@@ -1 +1 @@
1
- {"version":3,"file":"web-rtc-client.d.ts","sourceRoot":"","sources":["../../src/web-rtc-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-rtc-client.d.ts","sourceRoot":"","sources":["../../src/web-rtc-client.ts"],"names":[],"mappings":"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"}
package/esm/utils/sdp.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable no-underscore-dangle */
2
2
  import sdpParser from 'sdp-transform';
3
3
  import { UserAgent } from 'sip.js/lib/api/user-agent';
4
- import { Inviter } from 'sip.js/lib/api';
4
+ import { Inviter, Invitation } from 'sip.js/lib/api';
5
5
  export const SIP_ID_MIN_LENGTH = 20;
6
6
  export const getCandidates = (rawSdp) => {
7
7
  if (!rawSdp) {
@@ -110,18 +110,19 @@ export const getSipCallId = (sipSession) => {
110
110
  if (!sipSession) {
111
111
  return '';
112
112
  }
113
- const message = sipSession.message;
114
- if (message?.callId) {
115
- return message.callId.substring(0, SIP_ID_MIN_LENGTH);
116
- }
117
113
  // For Inviter
118
114
  // @ts-ignore: private
119
115
  if (sipSession instanceof Inviter && sipSession.outgoingRequestMessage) {
120
116
  // @ts-ignore: private
121
- return sipSession.outgoingRequestMessage.callId.substring(0, SIP_ID_MIN_LENGTH);
117
+ return sipSession.outgoingRequestMessage.callId;
122
118
  }
123
119
  // For Invitation
124
- return (sipSession.id || '').substring(0, SIP_ID_MIN_LENGTH);
120
+ // @ts-ignore: private
121
+ if (sipSession instanceof Invitation && sipSession.incomingInviteRequest.message) {
122
+ // @ts-ignore: private
123
+ return sipSession.incomingInviteRequest.message.callId;
124
+ }
125
+ return sipSession.id;
125
126
  };
126
127
  // We need to replace 0.0.0.0 to 127.0.0.1 in the sdp to avoid MOH during a createOffer.
127
128
  export const replaceLocalIpModifier = (description) => Promise.resolve({
package/esm/voice/call.js CHANGED
@@ -79,7 +79,6 @@ class Call extends EventEmitter {
79
79
  },
80
80
  };
81
81
  const call = new Call(sipCall, softphone);
82
- // call._sendAction(Actions.ES);
83
82
  call.apiId = apiCall.id;
84
83
  call.answerTime = new Date(+apiCall.startingTime);
85
84
  // Update call state
@@ -109,7 +108,6 @@ class Call extends EventEmitter {
109
108
  this.sipCall = sipCall;
110
109
  this.number = getCallNumber(sipCall);
111
110
  this.displayName = getCallDisplayName(sipCall);
112
- this._bindEvents();
113
111
  }
114
112
  async accept(options = {}) {
115
113
  assertCan(this.callActor, Actions.ACCEPT);
@@ -401,6 +399,7 @@ class Call extends EventEmitter {
401
399
  this._onScreenSharing(localStream, false, desktop);
402
400
  }
403
401
  onMakeCall() {
402
+ this._bindEvents();
404
403
  this._sendAction(Actions.MAKE_CALL);
405
404
  }
406
405
  onAccepted() {
@@ -609,7 +608,9 @@ class Call extends EventEmitter {
609
608
  this.emit(EVENT_SHARE_SCREEN_STARTED, screenStream);
610
609
  }
611
610
  _sendAction(action) {
611
+ const was = this.state;
612
612
  this.callActor.send({ type: action });
613
+ logger.trace('call - send action', { action, was, state: this.state });
613
614
  }
614
615
  }
615
616
  export default Call;
@@ -54,6 +54,7 @@ export class Softphone extends EventEmitter {
54
54
  this.audioRingVolume = 1;
55
55
  const server = Wazo.Auth.getHost();
56
56
  const session = Wazo.Auth.getSession();
57
+ logger.info('softphone - connect', { server, session: !!session });
57
58
  if (!server || !session) {
58
59
  throw new Error('Please connect to the server using `Wazo.Auth.logIn` or `Wazo.Auth.authenticate` before using Room.connect().');
59
60
  }
@@ -71,6 +72,7 @@ export class Softphone extends EventEmitter {
71
72
  async disconnect() {
72
73
  assertCan(this.softphoneActor, Actions.UNREGISTER);
73
74
  if (!this.client) {
75
+ logger.info('softphone - disconnect, not client to disconnect, bailing');
74
76
  return null;
75
77
  }
76
78
  // Terminate all calls
@@ -82,7 +84,8 @@ export class Softphone extends EventEmitter {
82
84
  }
83
85
  async connectWithCredentials(server, sipLine, displayName, rawOptions = {}) {
84
86
  assertCan(this.softphoneActor, Actions.REGISTER);
85
- this.softphoneActor.send({ type: Actions.REGISTER });
87
+ logger.info('softphone - connect with credentials', { server, username: sipLine.username, displayName, options: rawOptions });
88
+ this._sendAction(Actions.REGISTER);
86
89
  const [host, port = 443] = server.split(':');
87
90
  let options = { ...rawOptions };
88
91
  options.media = options.media || {
@@ -204,7 +207,7 @@ export class Softphone extends EventEmitter {
204
207
  this.calls.filter(call => !call.isHeld() && call.id === exceptCall?.id).forEach(call => call.hold());
205
208
  }
206
209
  startHeartbeat() {
207
- logger.info('softphone - start heartbeat', { client: !!this.client, hasHeartbeat: this.client.hasHeartbeat() });
210
+ logger.info('softphone - start heartbeat', { client: !!this.client, hasHeartbeat: this.client?.hasHeartbeat() });
208
211
  if (!this.client || this.client.hasHeartbeat()) {
209
212
  return;
210
213
  }
@@ -332,18 +335,26 @@ export class Softphone extends EventEmitter {
332
335
  });
333
336
  this.client.on(this.client.UNREGISTERED, () => {
334
337
  logger.info('softphone - unregistered');
338
+ if (!can(this.softphoneActor, Actions.UNREGISTER)) {
339
+ logger.warn('softphone - cannot unregister', { state: this.state });
340
+ return;
341
+ }
342
+ this._sendAction(Actions.UNREGISTER);
335
343
  this.emit(EVENT_UNREGISTERED);
336
- this._sendAction(Actions.UNREGISTERED);
337
344
  });
338
345
  this.client.on(this.client.ON_DISCONNECTED, () => {
339
346
  logger.info('softphone - disconnected');
340
- this.emit(EVENT_DISCONNECTED);
347
+ if (!can(this.softphoneActor, Actions.TRANSPORT_CLOSED)) {
348
+ logger.warn('softphone - cannot disconnected', { state: this.state });
349
+ return;
350
+ }
341
351
  this._sendAction(Actions.TRANSPORT_CLOSED);
352
+ this.emit(EVENT_DISCONNECTED);
342
353
  });
343
354
  this.client.on(this.client.REGISTERED, () => {
344
355
  logger.info('softphone - registered', { state: getState(this.softphoneActor) });
345
356
  if (!can(this.softphoneActor, Actions.REGISTER_DONE)) {
346
- logger.warn('softphone - registered but not in REGISTERING state', { state: getState(this.softphoneActor) });
357
+ logger.warn('softphone - registered but not in REGISTERING state', { state: this.state });
347
358
  return;
348
359
  }
349
360
  this.stopHeartbeat();
@@ -359,9 +370,13 @@ export class Softphone extends EventEmitter {
359
370
  }
360
371
  });
361
372
  this.client.on(this.client.CONNECTED, () => {
362
- logger.info('softphone - connected');
373
+ logger.info('softphone - connected', { state: this.state });
363
374
  this.stopHeartbeat();
364
375
  });
376
+ this.client.on(this.client.REGISTERING, () => {
377
+ logger.info('softphone - registering', { state: this.state });
378
+ this._sendAction(Actions.REGISTER);
379
+ });
365
380
  this.client.on(this.client.DISCONNECTED, () => {
366
381
  logger.info('softphone - disconnected');
367
382
  this.emit(EVENT_DISCONNECTED);
@@ -387,7 +402,9 @@ export class Softphone extends EventEmitter {
387
402
  });
388
403
  }
389
404
  _sendAction(action) {
405
+ const was = this.state;
390
406
  this.softphoneActor.send({ type: action });
407
+ logger.trace('softphone - send action', { action, was, state: this.state });
391
408
  }
392
409
  _getCall(sipCall) {
393
410
  return this.calls.find(call => call.id === getSipCallId(sipCall));
@@ -17,7 +17,7 @@ import Emitter from './utils/Emitter';
17
17
  import ApiClient from './api-client';
18
18
  import IssueReporter from './service/IssueReporter';
19
19
  import Heartbeat from './utils/Heartbeat';
20
- import { getSipCallId, makeURI, replaceLocalIpModifier, SIP_ID_MIN_LENGTH } from './utils/sdp';
20
+ import { getSipCallId, makeURI, replaceLocalIpModifier } from './utils/sdp';
21
21
  import { cleanupStream, createUaOptions, fetchNetworkStats, getAudioConstraints, getLocalStream, getLocalTracks, getLocalVideoStream, getMediaConfiguration, getPeerConnection, getRemoteStream, getRemoteTracks, getRemoteVideoStream, getRemoteVideoStreamFromPc, getVideoConstraints, hasALocalVideoTrack, hasARemoteVideoTrack, hasAVideoTrack, hasLocalVideo, hasRemoteVideo, hasVideoTrack, isAudioOnly, isVideoRemotelyHeld, isWeb, sessionWantsToDoVideo, setLocalMediaStream, toggleAudio, toggleVideo, updateRemoteStream } from './utils/webrtc';
22
22
  const SEND_STATS_DELAY = 5000;
23
23
  const states = ['STATUS_NULL', 'STATUS_NEW', 'STATUS_CONNECTING', 'STATUS_CONNECTED', 'STATUS_COMPLETED'];
@@ -25,6 +25,7 @@ const logger = IssueReporter ? IssueReporter.loggerFor('webrtc-client') : consol
25
25
  const statsLogger = IssueReporter ? IssueReporter.loggerFor('webrtc-stats') : console;
26
26
  // events
27
27
  const REGISTERED = 'registered';
28
+ const REGISTERING = 'registering';
28
29
  const UNREGISTERED = 'unregistered';
29
30
  const REGISTRATION_FAILED = 'registrationFailed';
30
31
  const INVITE = 'invite';
@@ -42,7 +43,7 @@ const ON_ERROR = 'onError';
42
43
  const ON_SCREEN_SHARING_REINVITE = 'onScreenSharingReinvite';
43
44
  const ON_NETWORK_STATS = 'onNetworkStats';
44
45
  const ON_DISCONNECTED = 'onDisconnected';
45
- export const events = [REGISTERED, UNREGISTERED, REGISTRATION_FAILED, INVITE];
46
+ export const events = [REGISTERED, REGISTERING, UNREGISTERED, REGISTRATION_FAILED, INVITE];
46
47
  export const transportEvents = [CONNECTED, DISCONNECTED, TRANSPORT_ERROR, MESSAGE];
47
48
  export class CanceledCallError extends Error {
48
49
  }
@@ -76,6 +77,7 @@ export default class WebRTCClient extends Emitter {
76
77
  // sugar
77
78
  ON_USER_AGENT;
78
79
  REGISTERED;
80
+ REGISTERING;
79
81
  UNREGISTERED;
80
82
  REGISTRATION_FAILED;
81
83
  INVITE;
@@ -130,6 +132,7 @@ export default class WebRTCClient extends Emitter {
130
132
  this.heartbeat.setOnHeartbeatTimeout(this._onHeartbeatTimeout.bind(this));
131
133
  // sugar
132
134
  this.REGISTERED = REGISTERED;
135
+ this.REGISTERING = REGISTERING;
133
136
  this.UNREGISTERED = UNREGISTERED;
134
137
  this.REGISTRATION_FAILED = REGISTRATION_FAILED;
135
138
  this.INVITE = INVITE;
@@ -170,7 +173,7 @@ export default class WebRTCClient extends Emitter {
170
173
  logger.info('sdk webrtc on invite', {
171
174
  method: 'delegate.onInvite',
172
175
  clientId: this.clientId,
173
- id: invitation.id,
176
+ id: getSipCallId(invitation),
174
177
  remoteURI: invitation.remoteURI,
175
178
  });
176
179
  this._setupSession(invitation);
@@ -253,6 +256,7 @@ export default class WebRTCClient extends Emitter {
253
256
  return Promise.resolve();
254
257
  }
255
258
  logger.info('sdk webrtc registering...', logInfo);
259
+ this.eventEmitter.emit(REGISTERING);
256
260
  if (!this.userAgent) {
257
261
  logger.info('sdk webrtc recreating User Agent');
258
262
  this.userAgent = this.createUserAgent(this.uaConfigOverrides);
@@ -452,7 +456,7 @@ export default class WebRTCClient extends Emitter {
452
456
  },
453
457
  onReject: (response) => {
454
458
  logger.info('on call rejected', {
455
- id: session?.id,
459
+ id: getSipCallId(session),
456
460
  // @ts-ignore: fromTag does not exist
457
461
  fromTag: session?.fromTag,
458
462
  });
@@ -482,7 +486,7 @@ export default class WebRTCClient extends Emitter {
482
486
  answer(session, enableVideo) {
483
487
  logger.info('sdk webrtc answer call', {
484
488
  clientId: this.clientId,
485
- id: session.id,
489
+ id: getSipCallId(session),
486
490
  enableVideo,
487
491
  });
488
492
  if (!session || !session.accept) {
@@ -498,7 +502,7 @@ export default class WebRTCClient extends Emitter {
498
502
  if (session.isCanceled) {
499
503
  const message = 'accepted a canceled session (or was canceled during the accept phase).';
500
504
  logger.error(message, {
501
- id: session.id,
505
+ id: getSipCallId(session),
502
506
  });
503
507
  this.onCallEnded(session);
504
508
  throw new CanceledCallError(message);
@@ -506,7 +510,7 @@ export default class WebRTCClient extends Emitter {
506
510
  logger.info('sdk webrtc answer, accepted.');
507
511
  this._onAccepted(session);
508
512
  }).catch(e => {
509
- logger.error(`answer call error for ${session ? session.id : 'n/a'}`, e);
513
+ logger.error(`answer call error for ${getSipCallId(session)}`, e);
510
514
  throw e;
511
515
  });
512
516
  }
@@ -563,7 +567,7 @@ export default class WebRTCClient extends Emitter {
563
567
  async reject(session) {
564
568
  logger.info('sdk webrtc reject call', {
565
569
  clientId: this.clientId,
566
- id: session.id,
570
+ id: getSipCallId(session),
567
571
  });
568
572
  try {
569
573
  if (session instanceof Invitation) {
@@ -617,13 +621,13 @@ export default class WebRTCClient extends Emitter {
617
621
  }
618
622
  mute(session) {
619
623
  logger.info('sdk webrtc mute', {
620
- id: session.id,
624
+ id: getSipCallId(session),
621
625
  });
622
626
  toggleAudio(session, true);
623
627
  }
624
628
  unmute(session) {
625
629
  logger.info('sdk webrtc unmute', {
626
- id: session.id,
630
+ id: getSipCallId(session),
627
631
  });
628
632
  toggleAudio(session, false);
629
633
  }
@@ -660,13 +664,13 @@ export default class WebRTCClient extends Emitter {
660
664
  }
661
665
  toggleCameraOn(session) {
662
666
  logger.info('sdk webrtc toggle camera on', {
663
- id: session.id,
667
+ id: getSipCallId(session),
664
668
  });
665
669
  toggleVideo(session, false);
666
670
  }
667
671
  toggleCameraOff(session) {
668
672
  logger.info('sdk webrtc toggle camera off', {
669
- id: session.id,
673
+ id: getSipCallId(session),
670
674
  });
671
675
  toggleVideo(session, true);
672
676
  }
@@ -840,7 +844,7 @@ export default class WebRTCClient extends Emitter {
840
844
  return;
841
845
  }
842
846
  logger.info('send WebRTC message', {
843
- sipId: sipSession.id,
847
+ sipId: getSipCallId(sipSession),
844
848
  contentType,
845
849
  });
846
850
  try {
@@ -1214,7 +1218,7 @@ export default class WebRTCClient extends Emitter {
1214
1218
  this.sipSessions[id] = session;
1215
1219
  }
1216
1220
  getSipSession(id) {
1217
- return id in this.sipSessions ? this.sipSessions[id.substring(0, SIP_ID_MIN_LENGTH)] : null;
1221
+ return id in this.sipSessions ? this.sipSessions[id] : null;
1218
1222
  }
1219
1223
  getSipCallIds() {
1220
1224
  return Object.keys(this.sipSessions);
@@ -1255,8 +1259,8 @@ export default class WebRTCClient extends Emitter {
1255
1259
  audio.autoplay = true;
1256
1260
  return audio;
1257
1261
  }
1258
- _onTransportError() {
1259
- logger.error('on transport error');
1262
+ _onTransportError(reason) {
1263
+ logger.warn('on transport error', { reason });
1260
1264
  this.eventEmitter.emit(TRANSPORT_ERROR);
1261
1265
  this.attemptReconnection();
1262
1266
  }
@@ -1309,7 +1313,7 @@ export default class WebRTCClient extends Emitter {
1309
1313
  }
1310
1314
  }
1311
1315
  // We can invoke disconnect() with an error that can be catcher by `onDisconnect`, so we have to trigger it here.
1312
- this._onTransportError();
1316
+ this._onTransportError('heartbeat timeout');
1313
1317
  }
1314
1318
  }
1315
1319
  _hasAudio() {
@@ -1434,17 +1438,14 @@ export default class WebRTCClient extends Emitter {
1434
1438
  }
1435
1439
  async _onProgress(session, early = false) {
1436
1440
  await this._setupMedias(session);
1437
- const sessionId = getSipCallId(session).substr(0, 20);
1441
+ const sessionId = getSipCallId(session);
1438
1442
  updateRemoteStream(session);
1439
- logger.info('progress received', {
1440
- sessionId,
1441
- early,
1442
- });
1443
+ logger.info('progress received', { sessionId, early });
1443
1444
  this.eventEmitter.emit(early ? ON_EARLY_MEDIA : ON_PROGRESS, session);
1444
1445
  }
1445
1446
  async _onAccepted(session, sessionDialog, withEvent = true, initAllTracks = true) {
1446
1447
  logger.info('on call accepted', {
1447
- id: session.id,
1448
+ id: getSipCallId(session),
1448
1449
  clientId: this.clientId,
1449
1450
  remoteTag: session.remoteTag,
1450
1451
  });
@@ -1634,18 +1635,18 @@ export default class WebRTCClient extends Emitter {
1634
1635
  async _accept(session, options = {}) {
1635
1636
  if (session.state === SessionState.Terminated || session.state === SessionState.Terminating) {
1636
1637
  const error = 'Trying to accept a terminated sipSession.';
1637
- logger.warn(error, { state: session.state, sessionId: session.id });
1638
+ logger.warn(error, { state: session.state, sessionId: getSipCallId(session) });
1638
1639
  throw new Error(error);
1639
1640
  }
1640
1641
  if (session.state !== SessionState.Initial) {
1641
1642
  const error = 'Trying to accept a non Initial sipSession.';
1642
- logger.warn(error, { state: session.state, sessionId: session.id });
1643
+ logger.warn(error, { state: session.state, sessionId: getSipCallId(session) });
1643
1644
  throw new Error(error);
1644
1645
  }
1645
1646
  // @ts-ignore: private
1646
1647
  if (!session.incomingInviteRequest.acceptable) {
1647
1648
  const error = 'Trying to reject a non `acceptable` session';
1648
- logger.warn(error, { state: session.state, sessionId: session.id });
1649
+ logger.warn(error, { state: session.state, sessionId: getSipCallId(session) });
1649
1650
  throw new Error(error);
1650
1651
  }
1651
1652
  try {
@@ -1657,12 +1658,12 @@ export default class WebRTCClient extends Emitter {
1657
1658
  }
1658
1659
  async _reject(session, options = {}) {
1659
1660
  if (session.state !== SessionState.Initial && session.state !== SessionState.Establishing) {
1660
- logger.warn('Trying to reject a session in a wrong state', { state: session.state, sessionId: session.id });
1661
+ logger.warn('Trying to reject a session in a wrong state', { state: session.state, sessionId: getSipCallId(session) });
1661
1662
  return;
1662
1663
  }
1663
1664
  // @ts-ignore: private
1664
1665
  if (!session.incomingInviteRequest.rejectable) {
1665
- logger.warn('Trying to reject a non `rejectable` session', { state: session.state, sessionId: session.id });
1666
+ logger.warn('Trying to reject a non `rejectable` session', { state: session.state, sessionId: getSipCallId(session) });
1666
1667
  return;
1667
1668
  }
1668
1669
  try {
@@ -1674,7 +1675,7 @@ export default class WebRTCClient extends Emitter {
1674
1675
  }
1675
1676
  async _cancel(session, options = {}) {
1676
1677
  if (session.state !== SessionState.Initial && session.state !== SessionState.Establishing) {
1677
- logger.warn('Trying to cancel a session in a wrong state', { state: session.state, sessionId: session.id });
1678
+ logger.warn('Trying to cancel a session in a wrong state', { state: session.state, sessionId: getSipCallId(session) });
1678
1679
  return;
1679
1680
  }
1680
1681
  try {
@@ -1686,7 +1687,7 @@ export default class WebRTCClient extends Emitter {
1686
1687
  }
1687
1688
  async _bye(session, options = {}) {
1688
1689
  if (session.state !== SessionState.Established) {
1689
- logger.warn('Trying to end a session in a wrong state', { state: session.state, sessionId: session.id });
1690
+ logger.warn('Trying to end a session in a wrong state', { state: session.state, sessionId: getSipCallId(session) });
1690
1691
  return null;
1691
1692
  }
1692
1693
  try {
package/lib/api/auth.js CHANGED
@@ -64,6 +64,9 @@ exports.default = ((client, baseUrl) => ({
64
64
  }
65
65
  return client.post(`${baseUrl}/token`, body, headers).then(Session_1.default.parse);
66
66
  }),
67
+ samlLogOut() {
68
+ return client.get(`${baseUrl}/saml/logout`, null, null);
69
+ },
67
70
  initiateIdpAuthentication: (domain, redirectUrl) => __awaiter(void 0, void 0, void 0, function* () {
68
71
  const body = {
69
72
  domain,
@@ -46,8 +46,7 @@ class CallLog {
46
46
  }
47
47
  static parseNew(plain, session) {
48
48
  const callLog = CallLog.parse(plain);
49
- // @TODO: FIXME add verification declined vs missed call
50
- callLog.newMissedCall = session && session.hasExtension((plain.requested_extension || plain.destination_extension)) && !plain.answered;
49
+ callLog.newMissedCall = session && plain.destination_user_uuid === session.uuid && !plain.answered;
51
50
  return callLog;
52
51
  }
53
52
  static newFrom(profile) {
@@ -105,7 +104,7 @@ class CallLog {
105
104
  return this.callDirection === 'inbound';
106
105
  }
107
106
  isAnOutgoingCall(session) {
108
- console.warn(`@wazo/sdk
107
+ console.warn(`@wazo/sdk
109
108
  CallLog.isAnOutgoingcall(session) method is obsolete.
110
109
  Please use CallLog.isOutgoing(session).
111
110
  `);