]> sjero.net Git - linphone/commitdiff
Fix proxy update when using uPnP
authorYann Diorcet <yann.diorcet@belledonne-communications.com>
Mon, 25 Feb 2013 10:32:05 +0000 (11:32 +0100)
committerYann Diorcet <yann.diorcet@belledonne-communications.com>
Mon, 25 Feb 2013 10:32:27 +0000 (11:32 +0100)
coreapi/proxy.c
coreapi/upnp.c

index 75930adb14a52b2e5422fefb19975240e3381680..5546102ba433a3a7ffd9767ddb82aad3715ee832 100644 (file)
@@ -1100,8 +1100,8 @@ void linphone_proxy_config_update(LinphoneProxyConfig *cfg){
                switch(linphone_core_get_firewall_policy(lc)) {
                        case LinphonePolicyUseUpnp:
 #ifdef BUILD_UPNP
-                       if(!lc->sip_conf.register_only_when_upnp_is_ok || 
-                          (lc->upnp != NULL && !linphone_upnp_context_is_ready_for_register(lc->upnp))) {
+                       if(lc->sip_conf.register_only_when_upnp_is_ok && 
+                          (lc->upnp == NULL || !linphone_upnp_context_is_ready_for_register(lc->upnp))) {
                                break;
                        }
 #endif //BUILD_UPNP
index 400cc7e2a02defe9e078c8e9e12c070d12b3a53b..092876574ba4e3208fd0a0371396c10f0ccbec5d 100644 (file)
@@ -881,6 +881,8 @@ void linphone_upnp_update_proxy(UpnpContext* lupnp, bool_t force) {
                                                // Only reset ithe registration if we require that upnp should be ok
                                                if(lupnp->lc->sip_conf.register_only_when_upnp_is_ok) {
                                                        linphone_proxy_config_set_state(cfg, LinphoneRegistrationNone, "Registration impossible (uPnP not ready)");
+                                               } else {
+                                                       cfg->commit=TRUE;
                                                }
                                        } else {
                                                cfg->commit=TRUE;