diff --git a/Classes/LinphoneUI/LinphoneManager.m b/Classes/LinphoneUI/LinphoneManager.m index 7f21e8875..ca1b5ac2c 100644 --- a/Classes/LinphoneUI/LinphoneManager.m +++ b/Classes/LinphoneUI/LinphoneManager.m @@ -649,6 +649,15 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach } bool enableSrtp = [[NSUserDefaults standardUserDefaults] boolForKey:@"enable_srtp_preference"]; linphone_core_set_media_encryption(theLinphoneCore, enableSrtp?LinphoneMediaEncryptionSRTP:LinphoneMediaEncryptionZRTP); + + NSString* stun_server = [[NSUserDefaults standardUserDefaults] stringForKey:@"stun_preference"]; + if ([stun_server length]>0){ + linphone_core_set_stun_server(theLinphoneCore,[stun_server cStringUsingEncoding:[NSString defaultCStringEncoding]]); + linphone_core_set_firewall_policy(theLinphoneCore, LinphonePolicyUseStun); + }else{ + linphone_core_set_stun_server(theLinphoneCore, NULL); + linphone_core_set_firewall_policy(theLinphoneCore, LinphonePolicyNoFirewall); + } UIDevice* device = [UIDevice currentDevice]; bool backgroundSupported = false; diff --git a/Settings.bundle/Advanced.plist b/Settings.bundle/Advanced.plist index 4aad4e2a9..977c1c36f 100644 --- a/Settings.bundle/Advanced.plist +++ b/Settings.bundle/Advanced.plist @@ -4,6 +4,20 @@ PreferenceSpecifiers + + Key + stun_preference + Title + Stun server + Type + PSTextFieldSpecifier + AutocapitalizationType + None + AutocorrectionType + No + DefaultValue + + DefaultValue diff --git a/nogpl-thirdparties/Settings.bundle/Advanced.plist b/nogpl-thirdparties/Settings.bundle/Advanced.plist index 4aad4e2a9..c4d0b1f69 100644 --- a/nogpl-thirdparties/Settings.bundle/Advanced.plist +++ b/nogpl-thirdparties/Settings.bundle/Advanced.plist @@ -4,6 +4,20 @@ PreferenceSpecifiers + + Key + stun_preference + Title + Stun server + Type + PSTextFieldSpecifier + AutocapitalizationType + None + AutocorrectionType + No + DefaultValue + + DefaultValue