Hi,
So, route[REGISTRAR_1] will, when the max_contacts is reached, reply to the endpoint with a 503 error containing a "P-Registrar-Error: Too many registered contacts" header - this seems wrong to me so I've tried to work around it with route[REGISTRAR_2] which returns the right response, but, also writes "INFO: registrar [save.c:615]: test_max_contacts(): too many contacts for AOR" to the log file, which is messy.
Does anyone have any pointers for doing this better?
Thanks, Dan
route[REGISTRAR_1] { if ( is_method("REGISTER") ) { if(isflagset(FLT_NATS)) { setbflag(FLB_NATB); setbflag(FLB_NATSIPPING); }
if ($avp(maximum_contacts) != $null) { $xavp(reg=>max_contacts) = $avp(maximum_contacts); }
save("location"); } return; }
route[REGISTRAR_2] { if ( is_method("REGISTER") ) { if(isflagset(FLT_NATS)) { setbflag(FLB_NATB); setbflag(FLB_NATSIPPING); }
if ($avp(maximum_contacts) != $null) { $xavp(reg=>max_contacts) = $avp(maximum_contacts); }
save("location", "0x02"); switch ($retcode) { case -1: sl_send_reply("500", "Server Internal Error"); exit; case -2: sl_send_reply("403", "Forbidden"); exit; };
sl_send_reply("200", "OK"); } return; }