[Devel] Last changes before CVS freez

Juha Heinanen jh at tutpro.com
Thu May 25 11:09:52 CEST 2006


Bogdan-Andrei Iancu writes:

 > that's right - acc_rad_missed() will generate one record and a second 
 > one will be by acc_rad_reply(). But as in your scenario it's about a 
 > transaction with a negative response (408), the acc_rad_reply() should 
 > generate the record *only* if the failed_transaction_flag is set.

i don't get it.  in acc_onreply (which is called upon
TMCB_RESPONSE_OUT), there is this if statement:

	if (is_rad_acc_on(req))
		acc_rad_reply(t, req, reply, code);

since nobody has reseted radius_flag acc_rad_reply will get called and
if you check acc_rad_reply, it will unconditionally call
acc_rad_request:

void acc_rad_reply( struct cell* t, struct sip_msg *req, struct sip_msg *reply,
	unsigned int code )
{
	str code_str;

	code_str.s=int2str(code, &code_str.len);
	acc_rad_request( req, valid_to(t,reply), &code_str);
}

and acc_rad_request doesn't do any testing of any flag.  it just
generates the report, whose type depends on the result code.

-- juha



More information about the Devel mailing list