Commit 400b71a1 authored by Simon Morlat's avatar Simon Morlat
Browse files

implement automatic retry in case of "Interval too brief" for registers.

parent e933e1ea
...@@ -1769,6 +1769,22 @@ static bool_t registration_failure(Sal *sal, eXosip_event_t *ev){ ...@@ -1769,6 +1769,22 @@ static bool_t registration_failure(Sal *sal, eXosip_event_t *ev){
case 407: case 407:
return process_authentication(sal,ev); return process_authentication(sal,ev);
break; break;
case 423: /*interval too brief*/
{/*retry with greater interval */
osip_header_t *h=NULL;
osip_message_t *msg=NULL;
osip_message_header_get_byname(ev->response,"min-expires",0,&h);
if (h && h->hvalue && h->hvalue[0]!='\0'){
int val=atoi(h->hvalue);
if (val>op->expires)
op->expires=val;
}else op->expires*=2;
eXosip_lock();
eXosip_register_build_register(op->rid,op->expires,&msg);
eXosip_register_send_register(op->rid,msg);
eXosip_unlock();
}
break;
case 606: /*Not acceptable, workaround for proxies that don't like private addresses case 606: /*Not acceptable, workaround for proxies that don't like private addresses
in vias, such as ekiga.net in vias, such as ekiga.net
On the opposite, freephonie.net bugs when via are masqueraded. On the opposite, freephonie.net bugs when via are masqueraded.
......
mediastreamer2 @ 83459cfa
Subproject commit 340acff0001e92d1f126b484d100e1c1d0746b34 Subproject commit 83459cfa169478fc563b606fb141b60fa07ab861
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment