diff --git a/Classes/LinphoneCoreSettingsStore.m b/Classes/LinphoneCoreSettingsStore.m
index 6985dbd50..0155cd205 100644
--- a/Classes/LinphoneCoreSettingsStore.m
+++ b/Classes/LinphoneCoreSettingsStore.m
@@ -201,7 +201,8 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args);
[self setString:val forKey:@"media_encryption_preference"];
}
[self setString: lp_config_get_string(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "rotation_preference", "auto") forKey:@"rotation_preference"];
- [self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "enable_first_login_view_preference", 0) forKey:@"enable_first_login_view_preference"];
+ [self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "edge_opt_preference", 1) forKey:@"edge_opt_preference"];
+ [self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "enable_first_login_view_preference", 0) forKey:@"enable_first_login_view_preference"];
[self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "debugenable_preference", 0) forKey:@"debugenable_preference"];
[self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "animations_preference", 1) forKey:@"animations_preference"];
[self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "wifi_only_preference", 0) forKey:@"wifi_only_preference"];
@@ -575,11 +576,15 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args);
} else {
isbackgroundModeEnabled = false;
}
+
lp_config_set_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "backgroundmode_preference", isbackgroundModeEnabled);
BOOL firstloginview = [self boolForKey:@"enable_first_login_view_preference"];
lp_config_set_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "enable_first_login_view_preference", firstloginview);
+ BOOL edgeOpt = [self boolForKey:@"edge_opt_preference"];
+ lp_config_set_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "edge_opt_preference", edgeOpt);
+
NSString *landscape = [self stringForKey:@"rotation_preference"];
lp_config_set_string(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "rotation_preference", [landscape UTF8String]);
diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m
index 2ce0f87f7..c8270b4b6 100644
--- a/Classes/LinphoneManager.m
+++ b/Classes/LinphoneManager.m
@@ -1139,11 +1139,13 @@ static void audioRouteChangeListenerCallback (
- (void)acceptCall:(LinphoneCall *)call {
LinphoneCallParams* lcallParams = linphone_core_create_default_call_parameters(theLinphoneCore);
- bool low_bandwidth = self.network == network_2g;
- if(low_bandwidth) {
- [LinphoneLogger log:LinphoneLoggerDebug format:@"Low bandwidth mode"];
+ if([self lpConfigBoolForKey:@"edge_opt_preference"]) {
+ bool low_bandwidth = self.network == network_2g;
+ if(low_bandwidth) {
+ [LinphoneLogger log:LinphoneLoggerDebug format:@"Low bandwidth mode"];
+ }
+ linphone_call_params_enable_low_bandwidth(lcallParams, low_bandwidth);
}
- linphone_call_params_enable_low_bandwidth(lcallParams, low_bandwidth);
linphone_core_accept_call_with_params(theLinphoneCore,call, lcallParams);
}
@@ -1178,11 +1180,13 @@ static void audioRouteChangeListenerCallback (
//get default proxy
linphone_core_get_default_proxy(theLinphoneCore,&proxyCfg);
LinphoneCallParams* lcallParams = linphone_core_create_default_call_parameters(theLinphoneCore);
- bool low_bandwidth = self.network == network_2g;
- if(low_bandwidth) {
- [LinphoneLogger log:LinphoneLoggerDebug format:@"Low bandwidth mode"];
+ if([self lpConfigBoolForKey:@"edge_opt_preference"]) {
+ bool low_bandwidth = self.network == network_2g;
+ if(low_bandwidth) {
+ [LinphoneLogger log:LinphoneLoggerDebug format:@"Low bandwidth mode"];
+ }
+ linphone_call_params_enable_low_bandwidth(lcallParams, low_bandwidth);
}
- linphone_call_params_enable_low_bandwidth(lcallParams, low_bandwidth);
LinphoneCall* call=NULL;
if ([address length] == 0) return; //just return
diff --git a/Resources/linphonerc b/Resources/linphonerc
index 0b454af82..fa651da1c 100644
--- a/Resources/linphonerc
+++ b/Resources/linphonerc
@@ -24,6 +24,7 @@ firewall_policy=0
[app]
rotation_preference=auto
animations_preference=1
+edge_opt_preference=1
[default_values]
reg_expires=600
\ No newline at end of file
diff --git a/Resources/linphonerc~ipad b/Resources/linphonerc~ipad
index adc25c51c..a009c43f7 100644
--- a/Resources/linphonerc~ipad
+++ b/Resources/linphonerc~ipad
@@ -24,6 +24,7 @@ firewall_policy=0
[app]
rotation_preference=auto
animations_preference=1
+edge_opt_preference=1
[default_values]
reg_expires=600
\ No newline at end of file
diff --git a/Settings/InAppSettings.bundle/Network.plist b/Settings/InAppSettings.bundle/Network.plist
index 864b5acc3..cfac45da1 100644
--- a/Settings/InAppSettings.bundle/Network.plist
+++ b/Settings/InAppSettings.bundle/Network.plist
@@ -4,6 +4,16 @@
PreferenceSpecifiers
+
+ DefaultValue
+
+ Key
+ edge_opt_preference
+ Title
+ Edge optimization
+ Type
+ PSToggleSwitchSpecifier
+
DefaultValue
diff --git a/Settings/InAppSettings.bundle/en.lproj/Network.strings b/Settings/InAppSettings.bundle/en.lproj/Network.strings
index a2aa822d3..555c0b493 100644
--- a/Settings/InAppSettings.bundle/en.lproj/Network.strings
+++ b/Settings/InAppSettings.bundle/en.lproj/Network.strings
@@ -1,6 +1,9 @@
/* Wifi only */
"Wifi only" = "Wifi only";
+/* Edge optimization */
+"Edge optimization" = "Edge optimization";
+
/* Stun Server */
"Stun Server" = "Stun Server";
diff --git a/Settings/InAppSettings.bundle/fr.lproj/Network.strings b/Settings/InAppSettings.bundle/fr.lproj/Network.strings
index 105b01f75..51e9f6ef5 100644
--- a/Settings/InAppSettings.bundle/fr.lproj/Network.strings
+++ b/Settings/InAppSettings.bundle/fr.lproj/Network.strings
@@ -1,6 +1,9 @@
/* Wifi only */
"Wifi only" = "Uniquement Wifi";
+/* Edge optimization */
+"Edge optimization" = "Optimisation Edge";
+
/* Stun Server */
"Stun Server" = "Serveur Stun";
diff --git a/linphone.ldb/Contents.plist b/linphone.ldb/Contents.plist
index eb0b3d625..2dc564216 100644
--- a/linphone.ldb/Contents.plist
+++ b/linphone.ldb/Contents.plist
@@ -17452,7 +17452,7 @@ Raison: %2$s
change date
- 2012-11-13T09:28:24Z
+ 2012-12-03T14:20:32Z
changed values
class
@@ -17462,7 +17462,7 @@ Raison: %2$s
flags
0
hash
- 7220a3af4b5567ce1842c8a01759b1c9
+ 61504fb6dc1719749e72de751676a9cf
name
Network.strings
@@ -17493,6 +17493,31 @@ Raison: %2$s
snapshots
+
+ change date
+ 2001-01-01T00:00:00Z
+ changed values
+
+ class
+ BLStringKeyObject
+ comment
+ Edge optimization
+ errors
+
+ flags
+ 0
+ key
+ Edge optimization
+ localizations
+
+ en
+ Edge optimization
+ fr
+ Optimisation Edge
+
+ snapshots
+
+
change date
2001-01-01T00:00:00Z
diff --git a/linphone.ldb/Resources/InAppSettings.bundle/Network/1/Network.strings b/linphone.ldb/Resources/InAppSettings.bundle/Network/1/Network.strings
index a2aa822d3..555c0b493 100644
--- a/linphone.ldb/Resources/InAppSettings.bundle/Network/1/Network.strings
+++ b/linphone.ldb/Resources/InAppSettings.bundle/Network/1/Network.strings
@@ -1,6 +1,9 @@
/* Wifi only */
"Wifi only" = "Wifi only";
+/* Edge optimization */
+"Edge optimization" = "Edge optimization";
+
/* Stun Server */
"Stun Server" = "Stun Server";