LinphoneProxyConfig *cfg=(LinphoneProxyConfig*)sal_op_get_user_pointer(op);
char *msg;
+ if (cfg->deletion_date!=0){
+ ms_message("Registration success for removed proxy config, ignored");
+ return;
+ }
linphone_proxy_config_set_error(cfg,LinphoneReasonNone);
linphone_proxy_config_set_state(cfg, registered ? LinphoneRegistrationOk : LinphoneRegistrationCleared ,
registered ? "Registration sucessful" : "Unregistration done");
ms_warning("Registration failed for unknown proxy config.");
return ;
}
+ if (cfg->deletion_date!=0){
+ ms_message("Registration failed for removed proxy config, ignored");
+ return;
+ }
if (details==NULL)
details=_("no response timeout");
/* add to the list of destroyed proxies, so that the possible unREGISTER request can succeed authentication */
lc->sip_conf.deleted_proxies=ms_list_append(lc->sip_conf.deleted_proxies,(void *)cfg);
cfg->deletion_date=ms_time(NULL);
- /* this will unREGISTER */
- linphone_proxy_config_edit(cfg);
+ if (cfg->state==LinphoneRegistrationOk){
+ /* this will unREGISTER */
+ linphone_proxy_config_edit(cfg);
+ }
if (lc->default_proxy==cfg){
lc->default_proxy=NULL;
}