@wazo/sdk 0.42.0 → 0.43.0

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 (91) hide show
  1. package/README.md +32 -21
  2. package/dist/wazo-sdk.js +2 -2
  3. package/esm/__tests__/api-client.test.js +19 -0
  4. package/esm/__tests__/web-rtc-client.test.js +1 -1
  5. package/esm/api/auth.js +6 -0
  6. package/esm/domain/Incall.js +28 -0
  7. package/esm/domain/Phone/CTIPhone.js +1 -1
  8. package/esm/domain/Phone/WebRTCPhone.js +4 -4
  9. package/esm/domain/Profile.js +5 -1
  10. package/esm/domain/__tests__/Profile.test.js +32 -0
  11. package/esm/index.js +1 -0
  12. package/esm/simple/Auth.js +4 -0
  13. package/esm/simple/Phone.js +1 -1
  14. package/esm/simple/room/Room.js +2 -2
  15. package/esm/types/api/auth.d.ts +1 -0
  16. package/esm/types/api/auth.d.ts.map +1 -1
  17. package/esm/types/domain/Incall.d.ts +21 -0
  18. package/esm/types/domain/Incall.d.ts.map +1 -0
  19. package/esm/types/domain/Line.d.ts +5 -16
  20. package/esm/types/domain/Line.d.ts.map +1 -1
  21. package/esm/types/domain/Phone/CTIPhone.d.ts +1 -1
  22. package/esm/types/domain/Phone/Phone.d.ts +1 -1
  23. package/esm/types/domain/Phone/Phone.d.ts.map +1 -1
  24. package/esm/types/domain/Phone/WebRTCPhone.d.ts +2 -2
  25. package/esm/types/domain/Phone/WebRTCPhone.d.ts.map +1 -1
  26. package/esm/types/domain/Profile.d.ts +5 -1
  27. package/esm/types/domain/Profile.d.ts.map +1 -1
  28. package/esm/types/domain/types.d.ts +17 -19
  29. package/esm/types/domain/types.d.ts.map +1 -1
  30. package/esm/types/index.d.ts +1 -0
  31. package/esm/types/index.d.ts.map +1 -1
  32. package/esm/types/simple/Auth.d.ts +1 -0
  33. package/esm/types/simple/Auth.d.ts.map +1 -1
  34. package/esm/types/simple/Phone.d.ts +3 -3
  35. package/esm/types/simple/Phone.d.ts.map +1 -1
  36. package/esm/types/web-rtc-client.d.ts +8 -10
  37. package/esm/types/web-rtc-client.d.ts.map +1 -1
  38. package/esm/web-rtc-client.js +18 -24
  39. package/lib/__tests__/api-client.test.js +19 -0
  40. package/lib/__tests__/web-rtc-client.test.js +1 -1
  41. package/lib/api/auth.js +15 -0
  42. package/lib/domain/Incall.js +32 -0
  43. package/lib/domain/Phone/CTIPhone.js +1 -1
  44. package/lib/domain/Phone/WebRTCPhone.js +9 -7
  45. package/lib/domain/Profile.js +4 -1
  46. package/lib/domain/__tests__/Profile.test.js +32 -0
  47. package/lib/index.js +4 -2
  48. package/lib/simple/Auth.js +6 -0
  49. package/lib/simple/Phone.js +1 -1
  50. package/lib/simple/room/Room.js +5 -5
  51. package/lib/types/api/auth.d.ts +1 -0
  52. package/lib/types/api/auth.d.ts.map +1 -1
  53. package/lib/types/domain/Incall.d.ts +21 -0
  54. package/lib/types/domain/Incall.d.ts.map +1 -0
  55. package/lib/types/domain/Line.d.ts +5 -16
  56. package/lib/types/domain/Line.d.ts.map +1 -1
  57. package/lib/types/domain/Phone/CTIPhone.d.ts +1 -1
  58. package/lib/types/domain/Phone/Phone.d.ts +1 -1
  59. package/lib/types/domain/Phone/Phone.d.ts.map +1 -1
  60. package/lib/types/domain/Phone/WebRTCPhone.d.ts +2 -2
  61. package/lib/types/domain/Phone/WebRTCPhone.d.ts.map +1 -1
  62. package/lib/types/domain/Profile.d.ts +5 -1
  63. package/lib/types/domain/Profile.d.ts.map +1 -1
  64. package/lib/types/domain/types.d.ts +17 -19
  65. package/lib/types/domain/types.d.ts.map +1 -1
  66. package/lib/types/index.d.ts +1 -0
  67. package/lib/types/index.d.ts.map +1 -1
  68. package/lib/types/simple/Auth.d.ts +1 -0
  69. package/lib/types/simple/Auth.d.ts.map +1 -1
  70. package/lib/types/simple/Phone.d.ts +3 -3
  71. package/lib/types/simple/Phone.d.ts.map +1 -1
  72. package/lib/types/web-rtc-client.d.ts +8 -10
  73. package/lib/types/web-rtc-client.d.ts.map +1 -1
  74. package/lib/web-rtc-client.js +147 -141
  75. package/package.json +3 -2
  76. package/src/__tests__/api-client.test.ts +21 -0
  77. package/src/__tests__/web-rtc-client.test.ts +1 -1
  78. package/src/api/auth.ts +8 -0
  79. package/src/domain/Incall.ts +50 -0
  80. package/src/domain/Line.ts +5 -17
  81. package/src/domain/Phone/CTIPhone.ts +1 -1
  82. package/src/domain/Phone/Phone.ts +1 -1
  83. package/src/domain/Phone/WebRTCPhone.ts +4 -4
  84. package/src/domain/Profile.ts +8 -0
  85. package/src/domain/__tests__/Profile.test.ts +32 -0
  86. package/src/domain/types.ts +52 -44
  87. package/src/index.ts +1 -0
  88. package/src/simple/Auth.ts +5 -0
  89. package/src/simple/Phone.ts +4 -4
  90. package/src/simple/room/Room.ts +2 -2
  91. package/src/web-rtc-client.ts +20 -26
@@ -25,9 +25,7 @@ export default class WebRTCClient extends Emitter {
25
25
  registerer: Registerer | null;
26
26
  hasAudio: boolean;
27
27
  audio: MediaTrackConstraintSet | boolean | undefined;
28
- audioElements: Record<string, HTMLAudioElement & {
29
- setSinkId?: (id: string) => void;
30
- }>;
28
+ audioElements: Record<string, HTMLAudioElement>;
31
29
  video: MediaTrackConstraintSet | boolean | undefined;
32
30
  audioStreams: Record<string, any>;
33
31
  audioOutputDeviceId: string | null | undefined;
@@ -68,7 +66,7 @@ export default class WebRTCClient extends Emitter {
68
66
  static getIceServers(ip: string): Array<{
69
67
  urls: Array<string>;
70
68
  }>;
71
- constructor(config: WebRtcConfig, session: WazoSession | null | undefined, uaConfigOverrides?: UserAgentConfigOverrides);
69
+ constructor(config: WebRtcConfig, session?: WazoSession, uaConfigOverrides?: UserAgentConfigOverrides);
72
70
  configureMedia(media: MediaConfig): void;
73
71
  setMediaConstraints(media: MediaStreamConstraints): void;
74
72
  createUserAgent(uaConfigOverrides?: UserAgentConfigOverrides): UserAgent;
@@ -113,7 +111,7 @@ export default class WebRTCClient extends Emitter {
113
111
  getContactIdentifier(): string | null;
114
112
  isFirefox(): boolean;
115
113
  changeAudioOutputVolume(volume: number): void;
116
- changeAudioOutputDevice(id: string): void;
114
+ changeAudioOutputDevice(id: string): Promise<void>;
117
115
  changeAudioInputDevice(id: string, session: WazoSession | null | undefined, force?: boolean): Promise<MediaStream | null>;
118
116
  changeVideoInputDevice(id: string, session?: WazoSession): Promise<MediaStream | void>;
119
117
  setVideoInputDevice(id: string): null | undefined;
@@ -150,11 +148,11 @@ export default class WebRTCClient extends Emitter {
150
148
  getSipSession(id: string): WazoSession | null | undefined;
151
149
  getSipSessionIds(): string[];
152
150
  setLocalMediaStream(sipSessionId: string, newStream: MediaStream): void;
153
- updateLocalStream(sipSessionId: string, newStream: MediaStream): void;
151
+ updateLocalStream(sipSessionId: string, newStream: MediaStream): Promise<void>;
154
152
  updateRemoteStream(sessionId: string, allTracks?: boolean): void;
155
153
  getMediaConfiguration(enableVideo: boolean, conference?: boolean, constraints?: Record<string, any> | null | undefined): Record<string, any>;
156
154
  isConference(sessionId: string): boolean;
157
- createAudioElementFor(sessionId: string): HTMLAudioElement;
155
+ createAudioElementFor(sessionId: string): Promise<HTMLAudioElement>;
158
156
  _onTransportError(): void;
159
157
  enableLogger(logConnector: (level: any, className: string, label: any, content: string) => void): void;
160
158
  _onHeartbeat(message: string | Record<string, any>): void;
@@ -174,10 +172,10 @@ export default class WebRTCClient extends Emitter {
174
172
  };
175
173
  };
176
174
  _setupSession(session: WazoSession): void;
177
- _onProgress(session: WazoSession, early?: boolean): void;
178
- _onAccepted(session: WazoSession, sessionDialog?: SessionDialog, withEvent?: boolean, initAllTracks?: boolean): void;
175
+ _onProgress(session: WazoSession, early?: boolean): Promise<void>;
176
+ _onAccepted(session: WazoSession, sessionDialog?: SessionDialog, withEvent?: boolean, initAllTracks?: boolean): Promise<void>;
179
177
  _isAudioOnly(session: WazoSession): boolean;
180
- _setupMedias(session: WazoSession, newStream?: MediaStream | null | undefined): void;
178
+ _setupMedias(session: WazoSession, newStream?: MediaStream | null | undefined): Promise<void>;
181
179
  _cleanupMedia(session?: WazoSession): void;
182
180
  _cleanupStream(stream: MediaStream): void;
183
181
  _toggleAudio(session: WazoSession, muteAudio: boolean): void;
@@ -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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"}
@@ -131,7 +131,7 @@ class WebRTCClient extends Emitter_1.default {
131
131
  this.config = newConfig;
132
132
  this.userAgent = this.createUserAgent(uaConfigOverrides);
133
133
  });
134
- this.audioOutputDeviceId = config.audioOutputDeviceId;
134
+ this.audioOutputDeviceId = config.audioDeviceOutput;
135
135
  this.audioOutputVolume = config.audioOutputVolume || 1;
136
136
  if (config.media) {
137
137
  this.configureMedia(config.media);
@@ -1038,18 +1038,14 @@ class WebRTCClient extends Emitter_1.default {
1038
1038
  this.audioOutputVolume = volume;
1039
1039
  }
1040
1040
  changeAudioOutputDevice(id) {
1041
- logger.info('Changing audio output device', {
1042
- id,
1043
- });
1044
- this.audioOutputDeviceId = id;
1045
- Object.values(this.audioElements).forEach(audioElement => {
1046
- // `setSinkId` method is not included in any flow type definitions for HTMLAudioElements but is a valid method
1047
- // audioElement is an array of HTMLAudioElements, and HTMLAudioElement inherits the method from HTMLMediaElement
1048
- // https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement
1049
- // https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/setSinkId
1050
- if (audioElement.setSinkId) {
1051
- audioElement.setSinkId(id);
1052
- }
1041
+ return __awaiter(this, void 0, void 0, function* () {
1042
+ logger.info('Changing audio output device', {
1043
+ id,
1044
+ });
1045
+ this.audioOutputDeviceId = id;
1046
+ const promises = [];
1047
+ Object.values(this.audioElements).forEach(audioElement => promises.push(audioElement.setSinkId(id)));
1048
+ yield Promise.allSettled(promises);
1053
1049
  });
1054
1050
  }
1055
1051
  changeAudioInputDevice(id, session, force) {
@@ -1440,22 +1436,24 @@ class WebRTCClient extends Emitter_1.default {
1440
1436
  }
1441
1437
  }
1442
1438
  updateLocalStream(sipSessionId, newStream) {
1443
- const sipSession = this.sipSessions[sipSessionId];
1444
- if (!sipSession) {
1445
- return;
1446
- }
1447
- const oldStream = this.getLocalStream(sipSessionId);
1448
- logger.info('updating local stream', {
1449
- sipSessionId,
1450
- oldStream: !!oldStream,
1451
- tracks: newStream.getTracks(),
1439
+ return __awaiter(this, void 0, void 0, function* () {
1440
+ const sipSession = this.sipSessions[sipSessionId];
1441
+ if (!sipSession) {
1442
+ return;
1443
+ }
1444
+ const oldStream = this.getLocalStream(sipSessionId);
1445
+ logger.info('updating local stream', {
1446
+ sipSessionId,
1447
+ oldStream: !!oldStream,
1448
+ tracks: newStream.getTracks(),
1449
+ });
1450
+ if (oldStream) {
1451
+ this._cleanupStream(oldStream);
1452
+ }
1453
+ this.setLocalMediaStream(sipSessionId, newStream);
1454
+ // Update the local video element
1455
+ yield this._setupMedias(sipSession, newStream);
1452
1456
  });
1453
- if (oldStream) {
1454
- this._cleanupStream(oldStream);
1455
- }
1456
- this.setLocalMediaStream(sipSessionId, newStream);
1457
- // Update the local video element
1458
- this._setupMedias(sipSession, newStream);
1459
1457
  }
1460
1458
  updateRemoteStream(sessionId, allTracks = true) {
1461
1459
  const remoteStream = this.getRemoteStream(sessionId);
@@ -1522,19 +1520,21 @@ class WebRTCClient extends Emitter_1.default {
1522
1520
  return sessionId in this.conferences;
1523
1521
  }
1524
1522
  createAudioElementFor(sessionId) {
1525
- const audio = document.createElement('audio');
1526
- audio.setAttribute('id', `audio-${sessionId}`);
1527
- logger.info('creating audio element', { sessionId, audioOutputDeviceId: this.audioOutputDeviceId });
1528
- if (audio.setSinkId && this.audioOutputDeviceId) {
1529
- audio.setSinkId(this.audioOutputDeviceId);
1530
- }
1531
- if (document.body) {
1532
- document.body.appendChild(audio);
1533
- }
1534
- this.audioElements[sessionId] = audio;
1535
- audio.volume = this.audioOutputVolume;
1536
- audio.autoplay = true;
1537
- return audio;
1523
+ return __awaiter(this, void 0, void 0, function* () {
1524
+ const audio = document.createElement('audio');
1525
+ audio.setAttribute('id', `audio-${sessionId}`);
1526
+ logger.info('creating audio element', { sessionId, audioOutputDeviceId: this.audioOutputDeviceId });
1527
+ if (this.audioOutputDeviceId) {
1528
+ yield audio.setSinkId(this.audioOutputDeviceId);
1529
+ }
1530
+ if (document.body) {
1531
+ document.body.appendChild(audio);
1532
+ }
1533
+ this.audioElements[sessionId] = audio;
1534
+ audio.volume = this.audioOutputVolume;
1535
+ audio.autoplay = true;
1536
+ return audio;
1537
+ });
1538
1538
  }
1539
1539
  _onTransportError() {
1540
1540
  logger.error('on transport error');
@@ -1758,7 +1758,7 @@ class WebRTCClient extends Emitter_1.default {
1758
1758
  hadRemoteVideo = this.hasARemoteVideoTrack(sipSessionId);
1759
1759
  oldInviteRequest(request);
1760
1760
  };
1761
- session.delegate.onInvite = (request) => {
1761
+ session.delegate.onInvite = (request) => __awaiter(this, void 0, void 0, function* () {
1762
1762
  let updatedCalleeName = null;
1763
1763
  let updatedNumber = null;
1764
1764
  if (session.assertedIdentity) {
@@ -1784,120 +1784,126 @@ class WebRTCClient extends Emitter_1.default {
1784
1784
  session.outgoingInviteRequest.message.body.body = request.body;
1785
1785
  }
1786
1786
  this.updateRemoteStream(sipSessionId, false);
1787
- this._setupMedias(session);
1787
+ yield this._setupMedias(session);
1788
1788
  return this.eventEmitter.emit(ON_REINVITE, session, request, updatedCalleeName, updatedNumber, hadRemoteVideo);
1789
- };
1790
- }
1791
- _onProgress(session, early = false) {
1792
- this._setupMedias(session);
1793
- const sessionId = this.getSipSessionId(session).substr(0, 20);
1794
- this.updateRemoteStream(sessionId);
1795
- logger.info('progress received', {
1796
- sessionId,
1797
- early,
1798
1789
  });
1799
- this.eventEmitter.emit(early ? ON_EARLY_MEDIA : ON_PROGRESS, session);
1800
1790
  }
1801
- _onAccepted(session, sessionDialog, withEvent = true, initAllTracks = true) {
1802
- var _a;
1803
- logger.info('on call accepted', {
1804
- id: session.id,
1805
- clientId: this.clientId,
1806
- remoteTag: session.remoteTag,
1791
+ _onProgress(session_1) {
1792
+ return __awaiter(this, arguments, void 0, function* (session, early = false) {
1793
+ yield this._setupMedias(session);
1794
+ const sessionId = this.getSipSessionId(session).substr(0, 20);
1795
+ this.updateRemoteStream(sessionId);
1796
+ logger.info('progress received', {
1797
+ sessionId,
1798
+ early,
1799
+ });
1800
+ this.eventEmitter.emit(early ? ON_EARLY_MEDIA : ON_PROGRESS, session);
1807
1801
  });
1808
- this.storeSipSession(session);
1809
- this._setupMedias(session);
1810
- this.updateRemoteStream(this.getSipSessionId(session), initAllTracks);
1811
- const pc = (_a = session.sessionDescriptionHandler) === null || _a === void 0 ? void 0 : _a.peerConnection;
1812
- const onTrack = (event) => {
1813
- const isAudioOnly = this._isAudioOnly(session);
1814
- const { kind, label, readyState, id, muted, } = event.track;
1815
- logger.info('on track event', {
1816
- isAudioOnly,
1817
- kind,
1818
- label,
1819
- readyState,
1820
- id,
1821
- muted,
1802
+ }
1803
+ _onAccepted(session_1, sessionDialog_1) {
1804
+ return __awaiter(this, arguments, void 0, function* (session, sessionDialog, withEvent = true, initAllTracks = true) {
1805
+ var _a;
1806
+ logger.info('on call accepted', {
1807
+ id: session.id,
1808
+ clientId: this.clientId,
1809
+ remoteTag: session.remoteTag,
1822
1810
  });
1823
- // Stop video track in audio only mode
1824
- if (isAudioOnly && kind === 'video') {
1825
- event.track.stop();
1826
- }
1827
- this.eventEmitter.emit(ON_TRACK, session, event);
1828
- };
1829
- const sessionDescriptionHandler = session.sessionDescriptionHandler;
1830
- if (sessionDescriptionHandler === null || sessionDescriptionHandler === void 0 ? void 0 : sessionDescriptionHandler.peerConnection) {
1831
- sessionDescriptionHandler.peerConnection.addEventListener('track', onTrack);
1832
- }
1833
- sessionDescriptionHandler.remoteMediaStream.onaddtrack = onTrack;
1834
- if (pc) {
1835
- pc.oniceconnectionstatechange = () => {
1836
- logger.info('on ice connection state changed', {
1837
- state: pc.iceConnectionState,
1811
+ this.storeSipSession(session);
1812
+ yield this._setupMedias(session);
1813
+ this.updateRemoteStream(this.getSipSessionId(session), initAllTracks);
1814
+ const pc = (_a = session.sessionDescriptionHandler) === null || _a === void 0 ? void 0 : _a.peerConnection;
1815
+ const onTrack = (event) => {
1816
+ const isAudioOnly = this._isAudioOnly(session);
1817
+ const { kind, label, readyState, id, muted, } = event.track;
1818
+ logger.info('on track event', {
1819
+ isAudioOnly,
1820
+ kind,
1821
+ label,
1822
+ readyState,
1823
+ id,
1824
+ muted,
1838
1825
  });
1839
- if (pc.iceConnectionState === 'disconnected') {
1840
- this.eventEmitter.emit(ON_DISCONNECTED);
1826
+ // Stop video track in audio only mode
1827
+ if (isAudioOnly && kind === 'video') {
1828
+ event.track.stop();
1841
1829
  }
1830
+ this.eventEmitter.emit(ON_TRACK, session, event);
1842
1831
  };
1843
- }
1844
- if (withEvent) {
1845
- this.eventEmitter.emit(ACCEPTED, session, sessionDialog);
1846
- }
1847
- this._startSendingStats(session);
1832
+ const sessionDescriptionHandler = session.sessionDescriptionHandler;
1833
+ if (sessionDescriptionHandler === null || sessionDescriptionHandler === void 0 ? void 0 : sessionDescriptionHandler.peerConnection) {
1834
+ sessionDescriptionHandler.peerConnection.addEventListener('track', onTrack);
1835
+ }
1836
+ sessionDescriptionHandler.remoteMediaStream.onaddtrack = onTrack;
1837
+ if (pc) {
1838
+ pc.oniceconnectionstatechange = () => {
1839
+ logger.info('on ice connection state changed', {
1840
+ state: pc.iceConnectionState,
1841
+ });
1842
+ if (pc.iceConnectionState === 'disconnected') {
1843
+ this.eventEmitter.emit(ON_DISCONNECTED);
1844
+ }
1845
+ };
1846
+ }
1847
+ if (withEvent) {
1848
+ this.eventEmitter.emit(ACCEPTED, session, sessionDialog);
1849
+ }
1850
+ this._startSendingStats(session);
1851
+ });
1848
1852
  }
1849
1853
  _isAudioOnly(session) {
1850
1854
  return Boolean(session.sessionDescriptionHandlerModifiersReInvite.find(modifier => modifier === modifiers_1.stripVideo));
1851
1855
  }
1852
- _setupMedias(session, newStream = null) {
1853
- if (!this._isWeb()) {
1854
- logger.info('Setup media on mobile, no need to setup html element, bailing');
1855
- return;
1856
- }
1857
- // Safari hack, because you cannot call .play() from a non user action
1858
- const sessionId = this.getSipSessionId(session);
1859
- const isConference = this.isConference(sessionId);
1860
- if (sessionId in this.audioElements) {
1861
- logger.info('html element already exists for session', {
1856
+ _setupMedias(session_1) {
1857
+ return __awaiter(this, arguments, void 0, function* (session, newStream = null) {
1858
+ if (!this._isWeb()) {
1859
+ logger.info('Setup media on mobile, no need to setup html element, bailing');
1860
+ return;
1861
+ }
1862
+ // Safari hack, because you cannot call .play() from a non user action
1863
+ const sessionId = this.getSipSessionId(session);
1864
+ const isConference = this.isConference(sessionId);
1865
+ if (sessionId in this.audioElements) {
1866
+ logger.info('html element already exists for session', {
1867
+ sessionId,
1868
+ });
1869
+ return;
1870
+ }
1871
+ if (this._hasAudio() && this._isWeb() && !(sessionId in this.audioElements)) {
1872
+ yield this.createAudioElementFor(sessionId);
1873
+ }
1874
+ const audioElement = this.audioElements[sessionId];
1875
+ const sipSession = this.sipSessions[session.callId];
1876
+ const removeStream = this.getRemoteStream(sessionId);
1877
+ const sdh = sipSession === null || sipSession === void 0 ? void 0 : sipSession.sessionDescriptionHandler;
1878
+ const earlyStream = sdh ? sdh.remoteMediaStream : null;
1879
+ const stream = newStream || removeStream || earlyStream;
1880
+ if (!stream) {
1881
+ logger.info('Setup media no stream to attach, bailing');
1882
+ return;
1883
+ }
1884
+ const shouldPause = audioElement.currentTime > 0 && !audioElement.paused && !audioElement.ended && audioElement.readyState > 2;
1885
+ logger.info('setting up media', {
1862
1886
  sessionId,
1887
+ streams: {
1888
+ new: !!newStream,
1889
+ remove: !!removeStream,
1890
+ early: !!earlyStream,
1891
+ },
1892
+ hasAudio: this._hasAudio(),
1893
+ isConference,
1894
+ shouldPause,
1863
1895
  });
1864
- return;
1865
- }
1866
- if (this._hasAudio() && this._isWeb() && !(sessionId in this.audioElements)) {
1867
- this.createAudioElementFor(sessionId);
1868
- }
1869
- const audioElement = this.audioElements[sessionId];
1870
- const sipSession = this.sipSessions[session.callId];
1871
- const removeStream = this.getRemoteStream(sessionId);
1872
- const sdh = sipSession === null || sipSession === void 0 ? void 0 : sipSession.sessionDescriptionHandler;
1873
- const earlyStream = sdh ? sdh.remoteMediaStream : null;
1874
- const stream = newStream || removeStream || earlyStream;
1875
- if (!stream) {
1876
- logger.info('Setup media no stream to attach, bailing');
1877
- return;
1878
- }
1879
- const shouldPause = audioElement.currentTime > 0 && !audioElement.paused && !audioElement.ended && audioElement.readyState > 2;
1880
- logger.info('setting up media', {
1881
- sessionId,
1882
- streams: {
1883
- new: !!newStream,
1884
- remove: !!removeStream,
1885
- early: !!earlyStream,
1886
- },
1887
- hasAudio: this._hasAudio(),
1888
- isConference,
1889
- shouldPause,
1896
+ if (isConference) {
1897
+ // Conference local stream is handled in Room
1898
+ return;
1899
+ }
1900
+ if (shouldPause) {
1901
+ audioElement.pause();
1902
+ }
1903
+ audioElement.srcObject = stream;
1904
+ audioElement.volume = this.audioOutputVolume;
1905
+ audioElement.play().catch(() => { });
1890
1906
  });
1891
- if (isConference) {
1892
- // Conference local stream is handled in Room
1893
- return;
1894
- }
1895
- if (shouldPause) {
1896
- audioElement.pause();
1897
- }
1898
- audioElement.srcObject = stream;
1899
- audioElement.volume = this.audioOutputVolume;
1900
- audioElement.play().catch(() => { });
1901
1907
  }
1902
1908
  _cleanupMedia(session) {
1903
1909
  const sessionId = this.getSipSessionId(session);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wazo/sdk",
3
- "version": "0.42.0",
3
+ "version": "0.43.0",
4
4
  "description": "Wazo's JavaScript Software Development Kit.",
5
5
  "main": "index.js",
6
6
  "types": "lib/types/index.d.ts",
@@ -42,7 +42,8 @@
42
42
  "lint": "./node_modules/.bin/eslint src/",
43
43
  "jest": "./node_modules/.bin/jest src/",
44
44
  "checkbuild": "yarn build && node dist/wazo-sdk.js",
45
- "format": "./node_modules/.bin/prettier-eslint --write \"src/**/*.js\" \"__tests__/**/*.js\" --single-quote --trailing-comma es5",
45
+ "format": "yarn format:file \"src/**/*.(ts|js)\" \"__tests__/**/*.(ts|js)\"",
46
+ "format:file": "./node_modules/.bin/prettier-eslint --write --single-quote --trailing-comma=es5 --arrow-parens=avoid",
46
47
  "typecheck": "./node_modules/.bin/tsc --noEmit",
47
48
  "prepublishOnly": "yarn build"
48
49
  },
@@ -119,6 +119,27 @@ describe('With correct API results', () => {
119
119
  });
120
120
  });
121
121
 
122
+ describe('samlLogIn test', () => {
123
+ it('should retrieve user token', async () => {
124
+ const samlSessionId = 'a1b2C3d4';
125
+ const result = await client.auth.samlLogIn(samlSessionId);
126
+
127
+ expect(result).toBeInstanceOf(Session);
128
+ expect(result?.token).toBe(1);
129
+ expect(global.fetch).toBeCalledWith(`https://${server}/api/auth/${authVersion}/token`, {
130
+ method: 'post',
131
+ body: JSON.stringify({ saml_session_id: samlSessionId }),
132
+ signal: expect.any(Object),
133
+ headers: {
134
+ 'X-Auth-Token': token,
135
+ 'Content-Type': 'application/json',
136
+ Accept: 'application/json',
137
+ },
138
+ agent: null,
139
+ });
140
+ });
141
+ });
142
+
122
143
  describe('logOut test', () => {
123
144
  it('should delete the specified token', async () => {
124
145
  const oldToken = 123;
@@ -12,7 +12,7 @@ jest.mock('sip.js/lib/api/user-agent', () => ({
12
12
  },
13
13
  }));
14
14
 
15
- const client = new WebRTCClient({} as any, null, undefined);
15
+ const client = new WebRTCClient({} as any, undefined, undefined);
16
16
 
17
17
  describe('WebRTC client', () => {
18
18
  it('should compute muted/unmuted state', async () => {
package/src/api/auth.ts CHANGED
@@ -26,6 +26,7 @@ export interface AuthD {
26
26
  authenticate: (token: Token) => Promise<Session | null | undefined>;
27
27
  logIn(params: LoginParams): Promise<Session | null | undefined> ;
28
28
  logOut: (token: Token) => Promise<LogoutResponse>;
29
+ samlLogIn: (samlSessionId: string) => Promise<Session | null | undefined>;
29
30
  refreshToken: (refreshToken: string, backend: string, expiration: number, isMobile?: boolean, tenantId?: string, domainName?: string) => Promise<Session | null | undefined>;
30
31
  deleteRefreshToken: (clientId: string) => Promise<boolean>;
31
32
  updatePassword: (userUuid: UUID, oldPassword: string, newPassword: string) => Promise<boolean>;
@@ -108,6 +109,13 @@ export default ((client: ApiRequester, baseUrl: string): AuthD => ({
108
109
  },
109
110
 
110
111
  logOut: (token: Token): Promise<LogoutResponse> => client.delete(`${baseUrl}/token/${token}`, null, {}, ApiRequester.successResponseParser),
112
+ samlLogIn: async (samlSessionId: string): Promise<Session | null | undefined> => {
113
+ const body = {
114
+ saml_session_id: samlSessionId,
115
+ };
116
+
117
+ return client.post(`${baseUrl}/token`, body).then(Session.parse);
118
+ },
111
119
  refreshToken: (refreshToken: string, backend: string, expiration: number, isMobile?: boolean, tenantId?: string, domainName?: string): Promise<Session | null | undefined> => {
112
120
  const body: Record<string, any> = {
113
121
  backend: backend || DEFAULT_BACKEND_USER,
@@ -0,0 +1,50 @@
1
+ import newFrom from '../utils/new-from';
2
+ import { ExtensionRelation } from './types';
3
+
4
+ // Generic based on incall and user's incall payload
5
+ export type GenericIncall = {
6
+ id: number;
7
+ extensions: ExtensionRelation[];
8
+ [key: string]: any;
9
+ };
10
+
11
+ export type IncallArguments = {
12
+ id?: number;
13
+ extensions?: ExtensionRelation[];
14
+ };
15
+
16
+ export default class Incall {
17
+ id: number | undefined;
18
+
19
+ extensions: ExtensionRelation[] | undefined;
20
+
21
+ extension: string | undefined;
22
+
23
+ // Useful to compare instead of instanceof with minified code
24
+ readonly type: string = 'Incall';
25
+
26
+ constructor({ id, extensions }: IncallArguments = {}) {
27
+ this.id = id;
28
+ this.extensions = extensions;
29
+ this.extension = extensions?.[0]?.exten;
30
+ }
31
+
32
+ static parse(plain: GenericIncall): Incall {
33
+ return new Incall({
34
+ id: plain.id,
35
+ extensions: plain.extensions,
36
+ });
37
+ }
38
+
39
+ static newFrom(profile: Incall) {
40
+ return newFrom(profile, Incall);
41
+ }
42
+
43
+ hasExtension(extension: string) {
44
+ if (!this.extensions) {
45
+ return false;
46
+ }
47
+
48
+ return this.extensions.some(ext => ext.exten === extension);
49
+ }
50
+ }
@@ -1,20 +1,9 @@
1
1
  import newFrom from '../utils/new-from';
2
+ import type { ExtensionRelation, Link } from './types';
2
3
 
3
- type Extension = {
4
- context: string;
5
- exten: string;
6
- id: number;
7
- links?: Array<{
8
- href: string;
9
- rel: string;
10
- }>;
11
- };
12
4
  export type Endpoint = {
13
5
  id: number;
14
- links: Array<{
15
- href: string;
16
- rel: string;
17
- }>;
6
+ links: Link[];
18
7
  username?: string;
19
8
  };
20
9
 
@@ -22,13 +11,13 @@ export type LineResponse = {
22
11
  endpoint_custom: Endpoint | null | undefined;
23
12
  endpoint_sccp: Endpoint | null | undefined;
24
13
  endpoint_sip: Endpoint | null | undefined;
25
- extensions: Array<Extension>;
14
+ extensions: ExtensionRelation[];
26
15
  id: number;
27
16
  };
28
17
 
29
18
  type LineArguments = {
30
19
  id?: number;
31
- extensions?: Array<Extension>;
20
+ extensions?: ExtensionRelation[];
32
21
  endpointCustom?: Endpoint | null;
33
22
  endpointSccp?: Endpoint | null;
34
23
  endpointSip?: Endpoint | null;
@@ -38,7 +27,7 @@ export default class Line {
38
27
 
39
28
  id: number | undefined;
40
29
 
41
- extensions: Array<Extension> | undefined;
30
+ extensions: ExtensionRelation[] | undefined;
42
31
 
43
32
  endpointCustom: Endpoint | null;
44
33
 
@@ -87,5 +76,4 @@ export default class Line {
87
76
  // Useful to compare instead of instanceof with minified code
88
77
  this.type = 'Line';
89
78
  }
90
-
91
79
  }
@@ -300,7 +300,7 @@ export default class CTIPhone extends Emitter implements Phone {
300
300
 
301
301
  changeVideoInputDevice() { return Promise.resolve(null); }
302
302
 
303
- changeAudioDevice() {}
303
+ changeAudioDevice() { return Promise.resolve(); }
304
304
 
305
305
  changeRingDevice() {}
306
306