diff --git a/coreapi/proxy.c b/coreapi/proxy.c index 6dc52e3c8..10400f5d2 100644 --- a/coreapi/proxy.c +++ b/coreapi/proxy.c @@ -300,8 +300,9 @@ static void linphone_proxy_config_register(LinphoneProxyConfig *obj){ **/ void linphone_proxy_config_refresh_register(LinphoneProxyConfig *obj){ if (obj->reg_sendregister && obj->op){ - linphone_proxy_config_set_state(obj,LinphoneRegistrationProgress, "Refresh registration"); - sal_register_refresh(obj->op,obj->expires); + if (sal_register_refresh(obj->op,obj->expires) == 0) { + linphone_proxy_config_set_state(obj,LinphoneRegistrationProgress, "Refresh registration"); + } } } diff --git a/coreapi/sal_eXosip2.c b/coreapi/sal_eXosip2.c index 948e67d89..ace208e1b 100644 --- a/coreapi/sal_eXosip2.c +++ b/coreapi/sal_eXosip2.c @@ -2042,16 +2042,17 @@ int sal_register(SalOp *h, const char *proxy, const char *from, int expires){ eXosip_register_build_register(h->rid,expires,&msg); sal_register_add_route(msg,proxy); } - eXosip_register_send_register(h->rid,msg); + if (msg) + eXosip_register_send_register(h->rid,msg); eXosip_unlock(); h->expires=expires; - return 0; + return (msg != NULL) ? 0 : -1; } int sal_register_refresh(SalOp *op, int expires){ osip_message_t *msg=NULL; const char *contact=sal_op_get_contact(op); - + if (op->rid==-1){ ms_error("Unexistant registration context, not possible to refresh."); return -1; @@ -2064,7 +2065,7 @@ int sal_register_refresh(SalOp *op, int expires){ eXosip_register_send_register(op->rid,msg); }else ms_error("Could not build REGISTER refresh message."); eXosip_unlock(); - return 0; + return (msg != NULL) ? 0 : -1; } diff --git a/oRTP b/oRTP index 681e777d7..a936749fa 160000 --- a/oRTP +++ b/oRTP @@ -1 +1 @@ -Subproject commit 681e777d75b4e04f115034a5a90d3f27b99abe08 +Subproject commit a936749fac4d3e2f788a0c03b3c4ea2021b3ae13