Chillifire wrote: > However, I thought this through and when I make the following assumptions: > > - Freeradius has different SQL statements stored in its configuration > for radacct update and insert; > > - It is Freeradius ' responsibility to decide whether to peform an > insert or update; and
Not really. An "Acct-Status-Type = start" nearly always means insert. An "Acct-Status-Type = Interim-Update" nearly always means update. > - AcctSessionId and AcctUniqueId are unique identifiers for one session; > there should be only exactly one record for each AcctSessionId and > AcctUniqueId; That last assumption is *often* true, but is not *always* true. The Acct-Session-Id field is sent by the NAS. It may be the same for many user sessions. It may be different across different packets for the "same" user session. > Then there is still something amiss with the Freeradius updates of > radacct. Even if erroneously session updates are sent in duplicate or > with same or differing information, Freeradius should not insert a new > record for an existing AcctSessionId and AcctUniqueId. Based on the > above assumptions double entries for AcctSessionId and AcctUniqueId > should never occur in radacct. Freeradius' insert/update logic should > prevent that. However, multiple entries (anything between 2 and 17 in > about 1% of all cases) is what we see in my extracts. You can think abstractly about what *should* happen, or you can find out what *is* happening. The server has a debug mode for a reason. You should use it. The SQL queries are editable for a reason. You can configure them to do only inserts, only updates, or whatever you want. Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html