Juha Heinanen wrote:
Bogdan-Andrei Iancu writes:
> >based on reading the code it is obvious to me that two reports are
> >generated: one triggered by TMCB_ON_FAILURE and the other by
> >TMCB_RESPONSE_OUT, but perhaps i don't understand the code correctly.
> >
> >
> even if on_missed is called from both TMCB_ON_FAILURE and
> TMCB_RESPONSE_OUT, only once will be processed - after first call the
> on_missed flag will be reset and the second call will not generate any
> new record.
sure, calling on_missed two times does not generate two records. one
record is generated by on_missed call triggered either by
TMCB_ON_FAILURE callback and the other is generated by acc_rad_reply call
in acc_onreply (which in turn is triggered by TMCB_RESPONSE_OUT
callback).
both acc_rad_missed and acc_rad_reply call acc_rad_request that actually
sends the report. acc_rad_request in turn calls rad_status to figure out
the service type (STATUS_START or STATUS_FAILURE). so in case of 408,
service type of the report will in both acc_rad_missed and acc_rad_reply
call be STATUS_FAILED.
or am i missing something?
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 just reproduce your scenario - a timeout on server - using radius
accounting and I got only one record (as missed call).
What I noticed to be strange for radius is that the missed and
accounting records looks identical. For syslog there is text suffix, for
DB different table are used, but for radius is the same. Mainly because
the the reason phrase is not included into the radius request.
anyhow, I'm still not able to reproduce your problem......:(
regards,
bogdan
_______________________________________________
Devel mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/devel