@exotel-npm-dev/webrtc-client-sdk 3.0.4 → 3.0.6

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.
package/Changelog CHANGED
@@ -1,5 +1,11 @@
1
1
  Change Log
2
2
 
3
+ ## v3.0.6 19 December, 2025
4
+ -[VST-1269] fixing noise suppression bug and added wss transport in contact params
5
+
6
+ ## v3.0.5 16 December, 2025
7
+ -[VST-1292] commenting fetchpublicip in initwebrtc as its causing race condition
8
+
3
9
  ## v3.0.4 16 September, 2025
4
10
  -[VST-1093] Enabled support for noise suppression
5
11
 
package/dist/exotelsdk.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * WebRTC CLient SIP version 3.0.4
3
+ * WebRTC CLient SIP version 3.0.6
4
4
  *
5
5
  */
6
6
  (function webpackUniversalModuleDefinition(root, factory) {
@@ -21000,6 +21000,7 @@ class SIPJSPhone {
21000
21000
  this.register_flag = false;
21001
21001
  this.enableAutoAudioDeviceChangeHandling = false;
21002
21002
  this.addPreferredCodec = this.addPreferredCodec.bind(this);
21003
+ this.enableNoiseSuppression = false;
21003
21004
 
21004
21005
  this.ringtone = ringtone;
21005
21006
  this.beeptone = beeptone;
@@ -21020,6 +21021,11 @@ class SIPJSPhone {
21020
21021
  return true;
21021
21022
  }
21022
21023
 
21024
+ setNoiseSuppression(enabled) {
21025
+ logger.log(`sipjsphone: setNoiseSuppression: ${enabled}`);
21026
+ this.enableNoiseSuppression = enabled;
21027
+ }
21028
+
21023
21029
  getCallAudioOutputVolume() {
21024
21030
  logger.log(`sipjsphone: getCallAudioOutputVolume`);
21025
21031
  return this.callAudioOutputVolume;
@@ -21541,6 +21547,7 @@ class SIPJSPhone {
21541
21547
  },
21542
21548
  displayName: this.txtDisplayName,
21543
21549
  hackWssInTransport: true,
21550
+ contactParams: {transport: "wss"},
21544
21551
  stunServers: ["stun:stun.l.google.com:19302"],
21545
21552
  hackIpInContact: true,
21546
21553
  forceRport: true,
@@ -21550,12 +21557,14 @@ class SIPJSPhone {
21550
21557
  allowLegacyNotifications: true,
21551
21558
  logConnector: this.sipPhoneLogger.bind(this),
21552
21559
  logLevel: "log",
21553
- sessionDescriptionHandlerFactoryOptions: {
21554
- constraints: {
21555
- audio: true,
21556
- video: false
21557
- }
21558
- },
21560
+ sessionDescriptionHandlerFactoryOptions: {
21561
+ constraints: {
21562
+ audio:{
21563
+ noiseSuppression: this.enableNoiseSuppression !== undefined ? this.enableNoiseSuppression : false
21564
+ },
21565
+ video: false
21566
+ }
21567
+ },
21559
21568
  delegate: {
21560
21569
  onInvite: (incomingSession) => {
21561
21570
  logger.log("onInvite called");
@@ -22193,8 +22202,14 @@ destroySocketConnection() {
22193
22202
  if (_audioDeviceManager_js__WEBPACK_IMPORTED_MODULE_0__.audioDeviceManager.currentAudioInputDeviceId != "default") {
22194
22203
  newSess.accept({
22195
22204
  sessionDescriptionHandlerOptions: {
22196
- constraints: { audio: { deviceId: _audioDeviceManager_js__WEBPACK_IMPORTED_MODULE_0__.audioDeviceManager.currentAudioInputDeviceId }, video: false }
22197
- },
22205
+ constraints: {
22206
+ audio: {
22207
+ deviceId: _audioDeviceManager_js__WEBPACK_IMPORTED_MODULE_0__.audioDeviceManager.currentAudioInputDeviceId,
22208
+ noiseSuppression: this.enableNoiseSuppression
22209
+ },
22210
+ video: false
22211
+ }
22212
+ },
22198
22213
  sessionDescriptionHandlerModifiers: [this.addPreferredCodec]
22199
22214
  }).catch((e) => {
22200
22215
  this.onUserSessionAcceptFailed(e);
@@ -22202,6 +22217,14 @@ destroySocketConnection() {
22202
22217
  } else {
22203
22218
 
22204
22219
  newSess.accept({
22220
+ sessionDescriptionHandlerOptions: {
22221
+ constraints: {
22222
+ audio: {
22223
+ noiseSuppression: this.enableNoiseSuppression
22224
+ },
22225
+ video: false
22226
+ }
22227
+ },
22205
22228
  sessionDescriptionHandlerModifiers: [this.addPreferredCodec]
22206
22229
  }).catch((e) => {
22207
22230
  this.onUserSessionAcceptFailed(e);
@@ -22675,12 +22698,19 @@ class WebrtcSIPPhone {
22675
22698
 
22676
22699
  this.webrtcSIPPhoneEventDelegate.registerDelegate(delegate);
22677
22700
 
22701
+ // Preserve noise suppression setting from existing phone instance if it exists
22702
+ const existingNoiseSuppression = this.phone?.enableNoiseSuppression;
22703
+
22678
22704
  switch (engine) {
22679
22705
  case "sipjs":
22680
22706
  this.phone = new _sipjsphone__WEBPACK_IMPORTED_MODULE_1__["default"](
22681
22707
  this.webrtcSIPPhoneEventDelegate,
22682
22708
  this.username
22683
22709
  );
22710
+ // Restore noise suppression setting if it was set on the previous instance
22711
+ if (existingNoiseSuppression) {
22712
+ this.phone.setNoiseSuppression(existingNoiseSuppression);
22713
+ }
22684
22714
  break;
22685
22715
  default:
22686
22716
  logger.log("webrtcSIPPhone: Unsupported engine type:", engine);
@@ -22918,6 +22948,11 @@ class WebrtcSIPPhone {
22918
22948
  logger.log("webrtcSIPPhone: getCallAudioOutputVolume");
22919
22949
  return this.phone.getCallAudioOutputVolume();
22920
22950
  }
22951
+
22952
+ setNoiseSuppression(enabled = false) {
22953
+ logger.log("webrtcSIPPhone: setNoiseSuppression: ", enabled);
22954
+ this.phone.setNoiseSuppression(enabled);
22955
+ }
22921
22956
  }
22922
22957
 
22923
22958
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (WebrtcSIPPhone);
@@ -24938,7 +24973,7 @@ class ExotelWebClient {
24938
24973
  this.setEventListener(this.eventListener);
24939
24974
 
24940
24975
  // Wait for public IP before registering
24941
- await fetchPublicIP(this.sipAccountInfo);
24976
+ // await fetchPublicIP(this.sipAccountInfo);
24942
24977
 
24943
24978
  // Create phone instance if it wasn't created in constructor
24944
24979
  if (!this.phone) {