diff --git a/src/org/sflphone/account/AccountDetailAdvanced.java b/src/org/sflphone/account/AccountDetailAdvanced.java
index 48e7b13..d04f968 100644
--- a/src/org/sflphone/account/AccountDetailAdvanced.java
+++ b/src/org/sflphone/account/AccountDetailAdvanced.java
@@ -51,6 +51,9 @@
     public static final String CONFIG_STUN_SERVER = "STUN.server";
     public static final String CONFIG_STUN_ENABLE = "STUN.enable";
 
+    public static final String CONFIG_AUDIO_PORT_MIN = "Account.audioPortMin";
+    public static final String CONFIG_AUDIO_PORT_MAX = "Account.audioPortMax";
+
     private ArrayList<AccountDetail.PreferenceEntry> privateArray;
 
     public static ArrayList<AccountDetail.PreferenceEntry> getPreferenceEntries() {
@@ -73,6 +76,10 @@
         preference.add(new PreferenceEntry(CONFIG_DISPLAY_NAME));
         preference.add(new PreferenceEntry(CONFIG_STUN_SERVER));
         preference.add(new PreferenceEntry(CONFIG_STUN_ENABLE, true));
+        preference.add(new PreferenceEntry(CONFIG_ACCOUNT_MAILBOX));
+
+        preference.add(new PreferenceEntry(CONFIG_AUDIO_PORT_MIN));
+        preference.add(new PreferenceEntry(CONFIG_AUDIO_PORT_MAX));
 
         return preference;
     }
diff --git a/src/org/sflphone/account/AccountDetailBasic.java b/src/org/sflphone/account/AccountDetailBasic.java
index b2e9ce0..41f4587 100644
--- a/src/org/sflphone/account/AccountDetailBasic.java
+++ b/src/org/sflphone/account/AccountDetailBasic.java
@@ -42,6 +42,7 @@
     public static final String CONFIG_ACCOUNT_REALM = "Account.realm";
     public static final String CONFIG_ACCOUNT_TYPE = "Account.type";
     public static final String CONFIG_ACCOUNT_ENABLE = "Account.enable";
+    public static final String CONFIG_PRESENCE_ENABLE = "Account.presenceEnabled";
 
     private ArrayList<AccountDetail.PreferenceEntry> privateArray;
 
@@ -58,6 +59,7 @@
         preference.add(new PreferenceEntry(CONFIG_ACCOUNT_AUTOANSWER, true));
         preference.add(new PreferenceEntry(CONFIG_ACCOUNT_REALM));
         preference.add(new PreferenceEntry(CONFIG_ACCOUNT_USERAGENT));
+        preference.add(new PreferenceEntry(CONFIG_PRESENCE_ENABLE));
 
         return preference;
     }
diff --git a/src/org/sflphone/fragments/AccountsManagementFragment.java b/src/org/sflphone/fragments/AccountsManagementFragment.java
index 6f1cc8a..042f6fe 100644
--- a/src/org/sflphone/fragments/AccountsManagementFragment.java
+++ b/src/org/sflphone/fragments/AccountsManagementFragment.java
@@ -76,7 +76,7 @@
     static final String TAG = "AccountManagementFragment";
     static final String DEFAULT_ACCOUNT_ID = "IP2IP";
     static final int ACCOUNT_CREATE_REQUEST = 1;
-    static final int ACCOUNT_EDIT_REQUEST = 2;
+    public static final int ACCOUNT_EDIT_REQUEST = 2;
     AccountsReceiver accountReceiver;
     AccountsAdapter mAccountsAdapter;
     AccountsAdapter mIP2IPAdapter;
@@ -248,6 +248,14 @@
         mAccountsAdapter.updateAccount(accountState);
     }
 
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        if(resultCode == ACCOUNT_EDIT_REQUEST) {
+            getLoaderManager().restartLoader(LoaderConstants.ACCOUNTS_LOADER, null, this);
+        }
+    }
+
     /**
      * 
      * Adapter for accounts List
