}
lc->netup_time=curtime;
lc->network_reachable=isReachable;
-}
+ if(!isReachable) {
+ sal_unlisten_ports (lc->sal);
+ } else {
+ apply_transports(lc);
+ }
+}
+void linphone_core_refresh_registers(LinphoneCore* lc) {
+ const MSList *elem=linphone_core_get_proxy_config_list(lc);
+ for(;elem!=NULL;elem=elem->next){
+ LinphoneProxyConfig *cfg=(LinphoneProxyConfig*)elem->data;
+ if (linphone_proxy_config_register_enabled(cfg) ) {
+ cfg->registered=0;
+ cfg->commit=TRUE;
+ }
+ }
+
+}
void linphone_core_set_network_reachable(LinphoneCore* lc,bool_t isReachable) {
//first disable automatic mode
if (lc->auto_net_state_mon) {
const MSList *linphone_core_get_calls(LinphoneCore *lc);
LinphoneGlobalState linphone_core_get_global_state(const LinphoneCore *lc);
-
+/**
+ * force registration refresh to be initiated upon next iterate
+ * @ingroup proxies
+ */
+void linphone_core_refresh_registers(LinphoneCore* lc);
#ifdef __cplusplus
}
#endif