diff --git a/coreapi/linphonecore_jni.cc b/coreapi/linphonecore_jni.cc index dda287d9a..ecf2a48a9 100644 --- a/coreapi/linphonecore_jni.cc +++ b/coreapi/linphonecore_jni.cc @@ -2872,6 +2872,10 @@ JNIEXPORT jobject JNICALL Java_org_linphone_core_LinphoneProxyConfigImpl_getNatP return (nat_policy != NULL) ? getNatPolicy(env, nat_policy) : NULL; } +extern "C" void Java_org_linphone_core_LinphoneProxyConfigImpl_setNatPolicy(JNIEnv* env,jobject thiz,jlong proxyCfg, jlong jnat_policy) { + linphone_proxy_config_set_nat_policy((LinphoneProxyConfig *)proxyCfg, (LinphoneNatPolicy *)jnat_policy); +} + extern "C" jint Java_org_linphone_core_LinphoneProxyConfigImpl_setRoute(JNIEnv* env,jobject thiz,jlong proxyCfg,jstring jroute) { if (jroute != NULL) { const char* route = GetStringUTFChars(env, jroute); diff --git a/java/common/org/linphone/core/LinphoneProxyConfig.java b/java/common/org/linphone/core/LinphoneProxyConfig.java index b8552d3dc..abe708772 100644 --- a/java/common/org/linphone/core/LinphoneProxyConfig.java +++ b/java/common/org/linphone/core/LinphoneProxyConfig.java @@ -90,6 +90,12 @@ public interface LinphoneProxyConfig { */ public LinphoneNatPolicy getNatPolicy(); + /** + * Set nat policy on Linphone proxy config + * @param natpolicy + */ + public void setNatPolicy(LinphoneNatPolicy natpolicy); + /** * normalize a human readable phone number into a basic string. 888-444-222 becomes 888444222 * @param number diff --git a/java/impl/org/linphone/core/LinphoneProxyConfigImpl.java b/java/impl/org/linphone/core/LinphoneProxyConfigImpl.java index 47766aa85..fd052b675 100644 --- a/java/impl/org/linphone/core/LinphoneProxyConfigImpl.java +++ b/java/impl/org/linphone/core/LinphoneProxyConfigImpl.java @@ -101,6 +101,7 @@ class LinphoneProxyConfigImpl implements LinphoneProxyConfig { private native int lookupCCCFromE164(long nativePtr, String e164); private native Object getNatPolicy(long nativePtr); + private native void setNatPolicy(long nativePtr, long natpolicy); public LinphoneProxyConfig enableRegister(boolean value) { @@ -127,9 +128,15 @@ class LinphoneProxyConfigImpl implements LinphoneProxyConfig { } public LinphoneNatPolicy getNatPolicy() { + isValid(); return (LinphoneNatPolicy)getNatPolicy(nativePtr); } + public void setNatPolicy(LinphoneNatPolicy natpolicy) { + isValid(); + setNatPolicy(nativePtr, ((LinphoneNatPolicyImpl)natpolicy).mNativePtr); + } + public void setIdentity(String identity) throws LinphoneCoreException { isValid(); setIdentity(nativePtr,identity);