diff --git a/src/constant/JamiStrings.qml b/src/constant/JamiStrings.qml
index dfc4c83d69471cc21064d431f66d332500096252..333c60200996029f3a1abed43da00ddf1c5fb7b1 100644
--- a/src/constant/JamiStrings.qml
+++ b/src/constant/JamiStrings.qml
@@ -115,6 +115,7 @@ Item {
     property string stunAdress: qsTr("STUN address")
 
     // AdvancedPublicAddressSettings
+    property string allowIPAutoRewrite: qsTr("Allow IP Auto Rewrite")
     property string publicAddress: qsTr("Public address")
     property string useCustomAddress: qsTr("Use custom address and port")
     property string address: qsTr("Address")
diff --git a/src/settingsadapter.cpp b/src/settingsadapter.cpp
index 3c60c2435a699e57b28f265221bd9371e770fe2c..bc908bd4e3535353c8d4ff37047f5d6c5e42b2c4 100644
--- a/src/settingsadapter.cpp
+++ b/src/settingsadapter.cpp
@@ -552,6 +552,12 @@ SettingsAdapter::getAccountConfig_PublishedPort()
     return getAccountConfig().publishedPort;
 }
 
+bool
+SettingsAdapter::getAccountConfig_AllowIPAutoRewrite()
+{
+    return getAccountConfig().allowIPAutoRewrite;
+}
+
 QString
 SettingsAdapter::getAccountConfig_Mailbox()
 {
@@ -762,6 +768,15 @@ SettingsAdapter::setUseCustomAddressAndPort(bool state)
     lrcInstance_->accountModel().setAccountConfig(lrcInstance_->get_currentAccountId(), confProps);
 }
 
+void
+SettingsAdapter::setAllowIPAutoRewrite(bool state)
+{
+    auto confProps = lrcInstance_->accountModel().getAccountConfig(
+        lrcInstance_->get_currentAccountId());
+    confProps.allowIPAutoRewrite = state;
+    lrcInstance_->accountModel().setAccountConfig(lrcInstance_->get_currentAccountId(), confProps);
+}
+
 void
 SettingsAdapter::setNameServer(QString text)
 {
diff --git a/src/settingsadapter.h b/src/settingsadapter.h
index 7b5d9efca26e5f753c70a1da3d710aa033a98dc3..9f0e3fb847763cfcc950910f633962bc28fd6ff8 100644
--- a/src/settingsadapter.h
+++ b/src/settingsadapter.h
@@ -150,6 +150,7 @@ public:
     Q_INVOKABLE bool getAccountConfig_PublishedSameAsLocal();
     Q_INVOKABLE QString getAccountConfig_PublishedAddress();
     Q_INVOKABLE int getAccountConfig_PublishedPort();
+    Q_INVOKABLE bool getAccountConfig_AllowIPAutoRewrite();
 
     Q_INVOKABLE QString getAccountConfig_Mailbox();
 
@@ -178,6 +179,7 @@ public:
     Q_INVOKABLE void setVerifyCertificatesClient(bool state);
     Q_INVOKABLE void setRequireCertificatesIncomingTLS(bool state);
     Q_INVOKABLE void setUseCustomAddressAndPort(bool state);
+    Q_INVOKABLE void setAllowIPAutoRewrite(bool state);
 
     Q_INVOKABLE void setNameServer(QString text);
     Q_INVOKABLE void setProxyAddress(QString text);
diff --git a/src/settingsview/components/AdvancedPublicAddressSettings.qml b/src/settingsview/components/AdvancedPublicAddressSettings.qml
index a5156c837074126b5a44aad80476d3f752143040..3d774181031ac953585717cc1ac621ef6e07ae76 100644
--- a/src/settingsview/components/AdvancedPublicAddressSettings.qml
+++ b/src/settingsview/components/AdvancedPublicAddressSettings.qml
@@ -35,9 +35,16 @@ ColumnLayout {
     property int itemWidth
 
     function updatePublicAddressAccountInfos() {
+        checkBoxAllowIPAutoRewrite.checked = SettingsAdapter.getAccountConfig_AllowIPAutoRewrite()
         checkBoxCustomAddressPort.checked = !SettingsAdapter.getAccountConfig_PublishedSameAsLocal()
         lineEditSIPCustomAddress.setText(SettingsAdapter.getAccountConfig_PublishedAddress())
         customPortSIPSpinBox.setValue(SettingsAdapter.getAccountConfig_PublishedPort())
+
+        if (checkBoxAllowIPAutoRewrite.checked) {
+            checkBoxCustomAddressPort.visible = false
+            lineEditSIPCustomAddress.visible = false
+            customPortSIPSpinBox.visible = false
+        }
     }
 
     Text {
@@ -58,6 +65,20 @@ ColumnLayout {
         Layout.fillWidth: true
         Layout.leftMargin: JamiTheme.preferredMarginSize
 
+        ToggleSwitch {
+            id: checkBoxAllowIPAutoRewrite
+
+            labelText: JamiStrings.allowIPAutoRewrite
+            fontPointSize: JamiTheme.settingsFontSize
+
+            onSwitchToggled: {
+                SettingsAdapter.setAllowIPAutoRewrite(checked)
+                checkBoxCustomAddressPort.visible = !checked
+                lineEditSIPCustomAddress.visible = !checked
+                customPortSIPSpinBox.visible = !checked
+            }
+        }
+
         ToggleSwitch {
             id: checkBoxCustomAddressPort