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){
case 407:
return process_authentication(sal,ev);
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
in vias, such as ekiga.net
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